fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

empezar en c

143 Respuestas
16 Usuarios
0 Reactions
120.4 K Visitas
lacabra25
Respuestas: 84
Topic starter
(@lacabra25)
Trusted Member
Registrado: hace 18 años

Hola, quisiera que me recomendarais algun programa, gratuito si es posible, para compilar y programar en c, y saber si se puede hacer programas en c, que ademas de escribir texto en pantalla pueda manejar graficos, crear entorno grafico propio y similares (como los entornos graficos de un videojuego) y como se puede programar que se muestren imagenes en pantalla con c. Igualmente agradeceria cualquier referencia a manuales lo mas completos posibles sobre programacion en c, preferiblemente en castellano.

Gracias por cualquier ayuda que me podais ofrecer.

Responder
142 respuestas
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

lacabra25, Dios mío me sangran los ojos con ese goto (y con los estoi del texto también) ....

Varias cosas que veo en tu código:

1.- Las librerías se definen como:
#include <stdio>
#include <conio>
aunque depende del compilador para que te de error o no.

2.- El #define yo lo pondría fuera de la función main() (no es necesario pero te ayudará a tener el código ordenado)

3.- la declaración de variables (unsigned int numeroa) se realiza al principio del main(). También depende del compilador para que te de problemas o no.

4.- Elimina el goto, es lo pero que puedes utilizar en un programa (pierdes el hilo del programa), lo puedes substituir por una pareja do{... }while(getch() != 's') (como puedes comprobar el orden de la comparación va al revés, esto se hace para que el compilador lo tenga más fácil al pasar el código a ASM).

5.- Puedes utilizar un scanf("%d") en vez de un getch(), así te puedes ahorrar la resta.

S2

Ranganok Schahzaman

PD: Si usas Firefox como navegador, instálate el complemente de Diccionario de Español que te señala las faltas de ortografía (y son más fáciles de corregir).

Responder
heli
Respuestas: 748
 Heli
(@heli)
Ardero
Registrado: hace 19 años

Como dice Ranganok es mejor usar scanf, bucles etc... NO uses goto en C a no ser que sea absolutamente imprescindible, se depuran muy mal los programas y es poco elegante, casi seguro que hay otras opciones.
Revisa las cadenas de formato de los printf y pon la extensión .h en los ficheros de cabecera de los #include.
Asi quedaría un poco mejor (quitando el goto mejora mas):

#include <stdio>
#include <conio>

#define PI 3.1416

main()
{
unsigned int numeroa ;

inicio:
printf("Primer programa en C nn");
/* printf("PI = %dn", PI); MAL!! PI es FLOAT */
printf("PI = %fn", PI);
printf("Que numero quiere multiplicar por PI: ");
/* numeroa = getch()-48 ; Mejor usar Scanf */
scanf ("%d", &numeroa);
printf("nA elegido multiplicar PI por %d", numeroa);
/* printf("nResultado = %dnn", numeroa*PI); MAL!! El resultado también es FLOAT */
printf("nResultado = %fnn", numeroa*PI);
printf("Pulse s para salir del programa o n para no salir.n");
if('s' != getch())
{
clrscr();
goto inicio ;
}
return 0;
}

PD: Funciona compilado con TurboC 2.0 (de cuando empecé a programar...).

Responder
lacabra25
Respuestas: 84
Topic starter
(@lacabra25)
Trusted Member
Registrado: hace 18 años

Gracias, ahora ya consigo que funcione el primer intento salvo por lo de borrar la pantalla que lo he tenido que quitar para poder compilar, en el compilador devc++ (aunque solo lo use para c) no se si se borrara la pantalla con otra funcion, si alguien pudiera decirme como borrar el texto de pantalla me vendria bastante bien para no tener lineas que ya no hagan falta en pantalla.

Lo del goto ya me esperaba que no callese bien, lo puse para hacer un primer intento de compilacion antes de hacer pruebas con bucles, pero si el goto no es util por como se puede usar bucles ¿en que casos se debe usar el goto y si siempre fuese sustituible para que lo han puesto en el lenguaje c?.

Voi a hacer algunas pruebas con bucles y scanf, y con string y punteros ahora que llego al tema, pero antes de eso espero me pudierais ayudar con lo de borrar la pantalla.

Gracias a todos.

Responder
luisj
Respuestas: 235
(@luisj)
Estimable Member
Registrado: hace 18 años

No hay nada en C ni en C++ para borrar la pantalla. Tienes que recurrir a otras librerías o a derivados de C como el C que compila Borland si trabajas en Windows, o netcurses si trabajas en linux. De todas formas eso no es importante por ahora.

El goto NO es malo. Darle fuego a un niño es malo porque se quema, pero si se lo das a un adulto lo sabrá usar. El problema que tiene el goto es que la gente tiende a usarlo sin criterio (dado que cualquier bucle se puede implementar como un goto). Hay casos, en los que el uso del goto es aconsejable, sin embargo, se suele desaconsejar porque se acaba usando mal. Mi consejo: no lo uses gotos, comprate un libro de programación en C++ moderno con ejercicios y <b>ciñete</b> a ellos.

Responder
lacabra25
Respuestas: 84
Topic starter
(@lacabra25)
Trusted Member
Registrado: hace 18 años

¿Se que borrar la pantalla no es de C, pero con cual de las librerias que bienen ya con el compilador y con que funcion puedo hacerlo, porque segun el pdf que e leido, inclullendo una libreria se puede con la funcion clrscr() pero esa funcion no me funciona, me da error al compilar?

Y tengo algunos problemas al intentar usar scanf para leer palabras y frases, segun el compilador el error esta en la linea siguiente al scanf, pero no entiendo por que.

#include <stdio>
#include <conio>
main()
{
int e = 1 ;
char nombre ;
while(e == 1){
printf("Primer programa en CnnEscribe tu nombre: ");
scanf("%s", &nombre)
printf("nHola %s", nombre) ;
printf("nPulse s para salir del programa o cualquier otra tecla para continuar.nn")
if('s' == getch()){
e = 0 ;
}
}
return 0;
}

Responder
Página 8 / 29
Compartir: