empezar con C

Me estoy pasando poco a poca a linux y me hace falta el equivalente a Dev C++ de Windows, que me recomendais?

S2
Codeblocks http://www.codeblocks.org/ (Este primero es croosfire para windows/linux/mac os x ) o Anjunta http://projects.gnome.org/anjuta/index.shtml (Hay la tira pero si quieres interfaz similares expuse estos dos se asemejan a lo que necesitas)

Salu2.
Gracias por responder
Tengo este ejercicio:

Pide un numero entero, otro real y un carácter. Imprime la suma de los dos
números (n1 + n2 = resultado) en una línea y el carácter leído en otra. Procura centrarlo lo
máximo que puedas en la pantalla

He echo esto pero no se como sumar real con entero, ademas si pido el caracter despues de los dos numeros el programa ya no sale bien, alguna idea?

main()
{
char caracter;
int num_entero;
float num_real;
float suma;
printf("\n Introduce un caracter --> ");
scanf("%c",&caracter);

printf("\n Introduce el numero entero --> ");
scanf("%d",&num_entero);

printf("\n Introduce el numero real --> ");
scanf("%f",&num_real);

suma= (num_entero + num_real)
printf("\n La suma de los dos numeros es --> %f",suma);

printf("\n\n El caracter que has puesto es --> %c",caracter);

getch();
}

S2
Anjuta hace tiempo que no es lo que era, antes era en plan "simple" como Dev C++ que creabas un .c y lo compilabas y lo ejecutabas, pero ahora tienes que crear un proyecto para todo, incluso para un hola mundo tienes que crear un makefile, etc.
Yo estoy ahora mismo "retomando" mis aprendizajes en C/C++ y el IDE que utilizo en GNU/Linux es Geany es simple y rápido. Aunque viendo el Codeblocks puede que lo pruebe.
razor1984 escribió:Gracias por responder
Tengo este ejercicio:

Pide un numero entero, otro real y un carácter. Imprime la suma de los dos
números (n1 + n2 = resultado) en una línea y el carácter leído en otra. Procura centrarlo lo
máximo que puedas en la pantalla

He echo esto pero no se como sumar real con entero, ademas si pido el caracter despues de los dos numeros el programa ya no sale bien, alguna idea?

main()
{
char caracter;
int num_entero;
float num_real;
float suma;
printf("\n Introduce un caracter --> ");
scanf("%c",&caracter);

printf("\n Introduce el numero entero --> ");
scanf("%d",&num_entero);

printf("\n Introduce el numero real --> ");
scanf("%f",&num_real);

suma= (num_entero + num_real)
printf("\n La suma de los dos numeros es --> %f",suma);

printf("\n\n El caracter que has puesto es --> %c",caracter);

getch();
}

S2


supongo que estas dando punteros.

si pides un caracter con 'scanf' ademas del caracter ademas del caracter obtienes un retorno de carro. puesto que los numeros estan detras del caracter. si pides el caracter al final, ese retorno de carro sobreescribe parte de los numeros. la solucion es pedir el caracter con getch();

para sumar un float con un int, lo mejor es meterle un 'molde' o 'casting' del estilo solucion=(float)(entero+flotante)
Pues a simple vista el código parece perfecto. De hecho, lo he compilado y ejecutado por si había algo que no veia y todo ha ido bien... Eso si, lo del "getch()" no lo he puesto... recuerdo en mis inicios que me dio muchos dolores de cabeza y al final me acostumbré a no usarlo.
kazamax escribió:Pues a simple vista el código parece perfecto. De hecho, lo he compilado y ejecutado por si había algo que no veia y todo ha ido bien... Eso si, lo del "getch()" no lo he puesto... recuerdo en mis inicios que me dio muchos dolores de cabeza y al final me acostumbré a no usarlo.

Te refieres a lo que he escrito yo, porque le doy y no sale bien.

S2
A ver:

#include <stdio.h>

int
main()
{
   char caracter;
   int num_entero;
   float num_real;
   float suma;
   
   printf("\n Introduce un caracter --> ");
   scanf("%c",&caracter);
   printf("\n Introduce el numero entero --> ");
   scanf("%d",&num_entero);
   printf("\n Introduce el numero real --> ");
   scanf("%f",&num_real);
   suma = num_entero + num_real;
   printf("\n La suma de los dos numeros es --> %f",suma);
   printf("\n\n El caracter que has puesto es --> %c",caracter);
   getchar();
return 0;
}


Main por defecto devuelve un int, por lo que es recomendable ponerlo. Además, al devolver un entero se debe poner un return 0.
Cuando se asigna el valor a suma faltaba un ;
Si se van a usar funciones de la biblioteca de entrada y salida de C como printf o scanf hay que incluir la biblioteca (#include <stdio.h>)
Yo siempre he usado getchar() en vez de getch(), que no da problemas de ningún tipo. getch() da un warning porque no está declarada previemente.
Korso10 escribió:A ver:

#include <stdio.h>

int
main()
{
   char caracter;
   int num_entero;
   float num_real;
   float suma;
   
   printf("\n Introduce un caracter --> ");
   scanf("%c",&caracter);
   printf("\n Introduce el numero entero --> ");
   scanf("%d",&num_entero);
   printf("\n Introduce el numero real --> ");
   scanf("%f",&num_real);
   suma = num_entero + num_real;
   printf("\n La suma de los dos numeros es --> %f",suma);
   printf("\n\n El caracter que has puesto es --> %c",caracter);
   getchar();
return 0;
}


Main por defecto devuelve un int, por lo que es recomendable ponerlo. Además, al devolver un entero se debe poner un return 0.
Cuando se asigna el valor a suma faltaba un ;
Si se van a usar funciones de la biblioteca de entrada y salida de C como printf o scanf hay que incluir la biblioteca (#include <stdio.h>)
Yo siempre he usado getchar() en vez de getch(), que no da problemas de ningún tipo. getch() da un warning porque no está declarada previemente.


Anda pues no me habia fijado de que faltaba el ; en la suma joer lo de programar me esta gustando mucho pero si te dejas algo por el camino para encontrarlo tela.Las bibliotecas las tenia puestas pero no las pegue en la pregunta.


Gracias

S2
9 respuestas