Anuncios Google

Ayuda con c, ¿como sumo 2 números? (pendienete)

Sé que aquí hay tutoriales, los he leído un poco, pero esta tarea es para mañana.

Solucionado

Ya funciona mi código. Gracias xxzeroxx y hades.

lo acctualizo en cuanto pueda


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de burnxez

¿Error?

Que error te da??

Imagen de rincondelgabo

Me dice

Namespace name expected;

estoy usando el borland c++, ¿si lo compilas en archlinux te da el mismo error?

Y si le quito eso de using namespace std y otro par de ajustes (como lo tenía antes) sí me va.

Imagen de burnxez

Nop

A mi me compila sin problemas...

Es por el compilador Borland que estas usando, no sé si cumpla con los estandares, yo uso el GNU G++ por si quieres probarlo, Code::Blocks lo incluye creo..

Saludos.

Imagen de rincondelgabo

Demonios

Haber cuánto dura el w7, después instalaré linux mint a ver qué tal.

Imagen de rincondelgabo

Mmm

Estoy aprendiendo en c o c++, porque la idea es primero en c y luego en c++ (en la escuela se supone que es c puro), tu código es de c o de c++? ¿Podrías poner uno en c y otro en c++ por favor? Para ver las diferencias.

Imagen de burnxez

Hello World

Te pongo un Hello world en C y otro en C++

C:

#include <stdio.h>
#include <stdlib.h>
 
int main() {
   printf("Hola Mundo");
 
   return 0;
}

C++:

#include <iostream>
using namespace std;
 
int main() {
   cout << "Hello World" << endl;
 
   return 0;
}

Para leer cosas en C++ usamos cin, en C se usa scanf, un usuario mas abajo te puso un código en C, el mio es C++.

Saludos.

Imagen de rincondelgabo

Así me quedó a mí

C:

#include <stdio.h>
 
int main ()
 
{
 
	printf ("Hola");
	getchar ();
	return 0;
 
}

C++:

#include <iostream>
 
int main ()
 
{
 
   cout << "Hola";
   cin.get ();
   return 0;
 
}

En cuanto a c:

-No entiendo porqué usar stdlib.h

-¿No hace falta getchar()?

 

En cuanto a c++:

-Borland no acepta el using namespace std. Cambiaré a codeblocks lo antes posible.

-¿No hace falta cin.get()?

-¿Qué ventajas y desventajas tienen cada uno de los lenguajes?

-Y muchas gracias xxzeroxx :)

Imagen de burnxez

Repondiendo

Creo que si sobra stdlib, la verdad lo hice de memoria xD

getchar() y cin.get() yo no los uso en mis programas, solo en "pruebas rápidas".

Yo veo como la mayor ventaja de C el hecho de que es un lenguaje de nivel bajo, lo que te da un poder enorme...

En cuanto a la ventaja de C++, el hecho de que es orientado a objetos, es simplemente grandioso.

Saludos.

Imagen de rincondelgabo

Getchar y cin.get no los usas

¿Pero si se ocupan no? ¿O el gnu gcc no lo ocupa? Mmm... ¿C++ es más lento? Porque me parece más fácil

Imagen de burnxez

Nop

Ningún compilador te obligará a poner código que no necesitas, en este caso getchar y cin-get...

La lentitud es muuuuy relativa, depende de la compilación, aunque no deberia ser notorio para nada.

Si te gusta C++ adelante, no necesitas aprender C para pasarte a C++, de hecho no es recomendable pues usan paradigmas distintos, lee sobre la programación orientada a objetos, pues sin ella C++ no sirve, ahi radica su verdadero poder...

Saludos.

Imagen de rincondelgabo

Gracias

La verdad es que tengo que aprender c en la escuela. Pero estudiaré por mi cuenta c++, me parece más sencillo. Además creo que la programación orientada a objetos es mejor. Saludos, a ver cómo me va el codeblocks. Yo creí que el gnu gcc era exclusivo de gnu/linux.

Imagen de burnxez

Algunos consejos

Primero, no es recomendable usar funciones de C con funciones de C++, así que yo te recomendaría quitaras la libreria stdio.h, pues aparte de que no es necesaria, en proyectos mas grandes la lias combinando, en cualquier caso si necesitas usar funciones de C en C++ lo mejor es usar las librerias cstdio.h o la que corresponda,pero lo dicho, no es nada recomendable.

No es necesario que definas tantas variables, pues solo estas reservando memoria que en realidad no necesitas, C/C++ pueden imprimir las operaciones "al vuelo" (lo que hacen en mi código).

No sé si borland sea menos estrcito con la sintaxis, pero lo recomendable es usar los namespaces, es decir, para un cout deberías escribir esto: std::cout, para un endl: std::endl, para un cin: std::cin, etc... para evitar el escribir std:: justo después de declarar las librerias puedes definir el namespace por defecto (hecha un vistazo a mi código) te ahorras lios y compilara en cualquier compilador :-P

int main() -> esta es tu función principal, tu "bucle infinito", aqui es donde se ejecuta el programa.

return 0 -> es lo que tu programa regresará en caso de que se haya ejecutado y terminado correctamente, por lo generla 0 = todo bien, 1 = error.

Saludos.

Imagen de sarutoby

macho...

Dices C, pero esto es identico, no, pero muy parecido a C++..  ...ya se que C++ es C, pero mejorado, pero aun asi, que se parezcan tanto...xD

Yo no se de C, si acaso se lo normal de C++, ademas, parece que avajo ya te an respuesto, asi que yo mejor me callo...xD


I like:

Imagen de rincondelgabo

A ver si me consigo un compilador "c-only", porque yo tampoco se ya muy bien qué lenguaje es éste. En fin.

Imagen de burnxez

Más sencillo

#include <iostream>
 
using namespace std;
 
int main() {
	int a, b;
 
	cout << "introduce el valor de a" << endl;
	cin >> a;
 
	cout << "introduce el valor de b" << endl;
	cin >> b;
 
	cout << "a mas b es igual a: " << a+b << endl;
	cout << "a menos b es igual a: " << a-b << endl;
	cout << "a por b es igual a: " << a*b << endl;
	cout << "a entre b es igual a: " << a/b << endl;
 
	//si corres esto desde windows necesitaras poner un cin.get()
	//en Linux sobra...
	//cin.get()
 
	return 0;
}

Saludos.

Imagen de d.m.n.

#include

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
 
int main()
{
    int a=0, b=0, c=0, d=0, e=0, f=0;
printf("Ingresa el valor de a: ");
    scanf("%d",&a);
printf("Ingresa el valor de b: ");
    scanf("%d",&b);
 
   c=a+b;
   d=a-b;
   e=a*b;
   f=a/b;
 
   cout << "a mas b es igual a:" << c << endl;// para que es el endl?
 
   cout << "a menos b es igual a:" << d << endl;
 
   cout << "a por b es igual a:" << e << endl;
 
   cout << "a entre b es igual a:" << f << endl;
 
   system("pause");
 
}

El endl es como el \n en C y tu código si funciona sólo que antes de que veas los rersultados se cierra,  en ese código q puse lo unico diferente son los printf paar q el usuario sepa q debe ingresar un numero y el system("pause") y por eso la libreria stdlib.h

Imagen de rincondelgabo

¿Y qué es el \n en c?

Ya ví mi error, sólo tenía que apretar un número, apretaba enter y sólo bajaba. ¡Yupi, sí sirve mi código! Eso de scanf &/%##"$ y no se qué paso. Prefiero cout. Y no me gusta usar más librerías porque eso hace más lento mi programa.

Pero no es una crítica, por el contrario, voy empezando y cualquier comentario sobre mi código (mmm, usé de ingrediente algo de xxzeroxx :) es bien recibido. Muchas gracias.

Imagen de burnxez

\n

Es para una nueva línea, por ejemplo si yo pongo:

cout << "esta frase se mostrara en\n dos lineas"; el resultado sería


esta frase se mostrara en

dos lineas


Con un endl, es algo diferente...

cout << "esta frase se mostrara en" << endl << " dos lineas"; el resultado es


esta frase se mostrara en

dos lineas


Saludos.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.