Autor
|
Tema: ayuda con un error (Leído 3,211 veces)
|
motov33v
Desconectado
Mensajes: 8
|
Hola, yo soy bastante nuevo en esto de la programación y estoy haciendo un programa para convertir de grados celsius a fahrenheit, de centimetros a pulgadas y viceversa, y a la hora de compilarlo me da 2 errores, pero por mas que reviso el código, no los encuentro, podrían indicarme cuales son o donde están este es el código: //Programa para pasar de centímetros a pulgadas y de grados celsius a fahrenheit #include <stdio.h> main() { float cel, fahr, pul, cent; /* fahr -> fahrenheit, cel -> celsius, pul -> pulgadas, cent -> centímetros*/ int opcion; printf("1.- Convertir grados Celsius a Fahrenheit\n"); printf("2.- Convertir grados Fahrenheit a Celsius\n"); printf("3.- Convertkir pulgadas a centímetros\n"); printf("4.- Convertir centímetros a pulgadas\n"); printf("Seleccionar una opción\n"); switch (opcion) { case 1: main() { float cel, fahr; printf("Escriba el valor de los grados Celsius\n"); farh=cel*9/5+32; //Fórmula para obtener los grados fahrenheit } case 2: main() { float fahr, cel; printf("Escriba el valorde los grados Fahrenheit\n"); cel=fahr*5/9-32; //Formula para convertir a celsius } case 3: main() { float pul, cent; printf("Escriba el valor en pulgadas\n"); cent=pul*2.54; //Se multiplica el número de pulgadas por 2,54 prinf("\nFin\n"); } case 4: main() { float pul, cent; printf("Escriba el valor en centimetros\n"); pul=cent*0.3937; //Para convertir de a pulgadas, multiplicar por 0,3937 prinf("\nFin\n"); } } }
Gracias!
|
|
« Última modificación: 25 Septiembre 2010, 12:59 pm por Littlehorse »
|
En línea
|
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Hola, un error lo tienes aquí scanf("%d",%opcion);
Sería de esta forma: scanf("%d",&opcion);
y el otro error creo que es porque tienes definidas las variables cel, fahr, pul, cent en el main y luego las vuelves a definir en los case del switch. Además tienes otros errores como llamar a main en cada case y no terminar los case con la instrucción break. Te recomiendo que te leas algún libro, dentro del subforo de c/c++ busca en las chinchetas que hay algunos muy buenos Saludos
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
motov33v
Desconectado
Mensajes: 8
|
muchas gracias satu. Es que nos están enseñando en la facultad y aun no se mucho respecto al tema de programación. gracias por la rapidez en contestar!
|
|
|
En línea
|
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
De nada, para eso estamos. Si sigues teniendo alguna duda o lo que sea ya sabes donde estamos.
Saludos
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
motov33v
Desconectado
Mensajes: 8
|
pues mira, tengo una dudilla con respecto a lo que me has dicho de los case queno me ha quedado muy claro, por ejemplo, el primer case seria algo asi no??:
switch (opcion) { case 1: printf("Escriba el valor de los grados Celsius\n"); scanf(%g,&cel); farh=cel*9/5+32; //Fórmula para obtener los grados fahrenheit printf("%g\n", farh); printf("\nFin\n"); break;
case 2:
|
|
|
En línea
|
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Yes, así es
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
motov33v
Desconectado
Mensajes: 8
|
vale, muchas gracias. Voy a ver si lo compilo y consigo ejecutarlo. Lh: No hagas doble post, utiliza el botón modificar.hola de nuevo, he corregido el programa y lo he intentado compilar y me ha dado los siguientes errores: ~/Documents> gcc -c 1.c 1.c: In function ‘main’: 1.c:21:27: error: expected expression before ‘%’ token 1.c:32:28: error: expected expression before ‘%’ token 1.c:43:29: error: expected expression before ‘%’ token 1.c:54:28: error: expected expression before ‘%’ token y el codigo, tal como ha quedado ahora es asi: //Programa para pasar de centímetros a pulgadas y de grados celsius a fahrenheit #include <stdio.h> main() { float cel, fahr, pul, cent; /* fahr -> fahrenheit, cel -> celsius, pul -> pulgadas, cent -> centímetros*/ int opcion; printf("1.- Convertir grados Celsius a Fahrenheit\n"); printf("2.- Convertir grados Fahrenheit a Celsius\n"); printf("3.- Convertkir pulgadas a centímetros\n"); printf("4.- Convertir centímetros a pulgadas\n"); printf("Seleccionar una opción\n"); switch (opcion) { case 1: printf("Escriba el valor de los grados Celsius\n"); fahr=cel*9/5+32; //Fórmula para obtener los grados fahrenheit break; case 2: printf("Escriba el valorde los grados Fahrenheit\n"); cel=fahr*5/9-32; //Formula para convertir a celsius break; case 3: printf("Escriba el valor en pulgadas\n"); cent=pul*2.54; //Se multiplica el número de pulgadas por 2,54 prinf("\nFin\n"); break; case 4: printf("Escriba el valor en centimetros\n"); pul=cent*0.3937; //Para convertir de a pulgadas, multiplicar por 0,3937 prinf("\nFin\n"); break; } }
cual puede ser el fallo???
|
|
« Última modificación: 25 Septiembre 2010, 12:58 pm por Littlehorse »
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
Hay unos cuantos fallos: - Declaras main() en vez de int main(). En los compiladores antiguos no te dará error pero en los actuales, y buenos, sí. Recuerda que debe retornar un entero.
- Tienes mal declarado el formato de escaneo de scanf(). Igualmente no te recomiendo utilizar esta función, mejor emplea fgets().
- Utilizas la función prinf() que no existe. En todo caso será printf().
Aquí puedes ver la información detallada de tus errores y cómo solucionarlos de forma correcta con las funciones que te dí. Saludos
|
|
|
En línea
|
|
|
|
motov33v
Desconectado
Mensajes: 8
|
vale, muchas gracias, ya he conseguido compilarlo y hacerlo funcionar. Luego me pasare por la pagina que me has citado para aprender un poquillo mas. Gracias!
|
|
|
En línea
|
|
|
|
Horricreu
Wiki
Desconectado
Mensajes: 290
¡La verdad os hará libres!
|
De nada Saludos
|
|
|
En línea
|
|
|
|
|
|