elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con un error
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con un error  (Leído 3,189 veces)
motov33v

Desconectado Desconectado

Mensajes: 8


Ver Perfil
ayuda con un error
« en: 25 Septiembre 2010, 11:08 am »

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
Código
  1. #include <stdio.h>
  2. main()
  3. {
  4. float cel, fahr, pul, cent;  /* fahr -> fahrenheit, cel -> celsius,
  5.  pul -> pulgadas, cent -> centímetros*/
  6. int opcion;
  7. printf("1.- Convertir grados Celsius a Fahrenheit\n");
  8. printf("2.- Convertir grados Fahrenheit a Celsius\n");
  9. printf("3.- Convertkir pulgadas a centímetros\n");
  10. printf("4.- Convertir centímetros a pulgadas\n");
  11.  
  12. printf("Seleccionar una opción\n");
  13. scanf("%d",%opcion);
  14.  
  15. switch (opcion) {
  16.  
  17.                case 1:
  18.  
  19.                   main()
  20.                   {
  21.                    float cel, fahr;
  22.  
  23.                    printf("Escriba el valor de los grados Celsius\n");
  24.                    scanf(%g,&cel);
  25.  
  26.                    farh=cel*9/5+32;  //Fórmula para obtener los grados fahrenheit
  27.                    printf("%g\n", farh);
  28.                    printf("\nFin\n");
  29.                   }            
  30.  
  31.                case 2:
  32.                    main()
  33.                    {
  34.                     float fahr, cel;
  35.  
  36.                     printf("Escriba el valorde los grados Fahrenheit\n");
  37.                     scanf(%g,&fahr);
  38.  
  39.                     cel=fahr*5/9-32; //Formula para convertir a celsius
  40.                     printf("%g\n", cel);
  41.                     printf("\nFin\n");
  42.                    }
  43.  
  44.  
  45.                 case 3:
  46.  
  47.                     main()
  48.                     {
  49.                      float pul, cent;
  50.  
  51.                      printf("Escriba el valor en pulgadas\n");
  52.                      scanf(%g,&pul);
  53.  
  54.                      cent=pul*2.54;  //Se multiplica el número de pulgadas por 2,54
  55.                      printf("%g\n", cent);
  56.                      prinf("\nFin\n");
  57.                     }
  58.  
  59.                 case 4:
  60.                    main()
  61.                    {
  62.                     float pul, cent;
  63.  
  64.                     printf("Escriba el valor en centimetros\n");
  65.                     scanf(%g,&cent);
  66.  
  67.                     pul=cent*0.3937;  //Para convertir de a pulgadas, multiplicar por 0,3937
  68.                     printf("%g\n",pul);
  69.                     prinf("\nFin\n");
  70.                    }
  71.  
  72.               }    
  73.  
  74. }                    


Gracias!            


« Última modificación: 25 Septiembre 2010, 12:59 pm por Littlehorse » En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: ayuda con un error
« Respuesta #1 en: 25 Septiembre 2010, 11:40 am »

Hola, un error lo tienes aquí

Código
  1. scanf("%d",%opcion);

Sería de esta forma:

Código
  1. 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 Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con un error
« Respuesta #2 en: 25 Septiembre 2010, 11:48 am »

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 Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: ayuda con un error
« Respuesta #3 en: 25 Septiembre 2010, 11:56 am »

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 Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con un error
« Respuesta #4 en: 25 Septiembre 2010, 12:00 pm »

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 Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: ayuda con un error
« Respuesta #5 en: 25 Septiembre 2010, 12:26 pm »

Yes, así es
En línea

Breakbeat como forma de vida
motov33v

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con un error
« Respuesta #6 en: 25 Septiembre 2010, 12:31 pm »

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:

Código
  1. //Programa para pasar de centímetros a pulgadas y de grados celsius a fahrenheit
  2. #include <stdio.h>
  3. main()
  4. {
  5. float cel, fahr, pul, cent;  /* fahr -> fahrenheit, cel -> celsius,
  6.  pul -> pulgadas, cent -> centímetros*/
  7. int opcion;
  8. printf("1.- Convertir grados Celsius a Fahrenheit\n");
  9. printf("2.- Convertir grados Fahrenheit a Celsius\n");
  10. printf("3.- Convertkir pulgadas a centímetros\n");
  11. printf("4.- Convertir centímetros a pulgadas\n");
  12.  
  13. printf("Seleccionar una opción\n");
  14. scanf("%d",&opcion);
  15.  
  16. switch (opcion) {
  17.  
  18.                case 1:
  19.  
  20.                    printf("Escriba el valor de los grados Celsius\n");
  21.                    scanf(%g,&cel);
  22.  
  23.                    fahr=cel*9/5+32;  //Fórmula para obtener los grados fahrenheit
  24.                    printf("%g\n", fahr);
  25.                    printf("\nFin\n");
  26.  
  27.                  break;              
  28.  
  29.                case 2:
  30.  
  31.                     printf("Escriba el valorde los grados Fahrenheit\n");
  32.                     scanf(%g,&fahr);
  33.  
  34.                     cel=fahr*5/9-32; //Formula para convertir a celsius
  35.                     printf("%g\n", cel);
  36.                     printf("\nFin\n");
  37.  
  38.                   break;
  39.  
  40.                 case 3:
  41.  
  42.                      printf("Escriba el valor en pulgadas\n");
  43.                      scanf(%g,&pul);
  44.  
  45.                      cent=pul*2.54;  //Se multiplica el número de pulgadas por 2,54
  46.                      printf("%g\n", cent);
  47.                      prinf("\nFin\n");
  48.  
  49.                    break;
  50.  
  51.                 case 4:
  52.  
  53.                     printf("Escriba el valor en centimetros\n");
  54.                     scanf(%g,&cent);
  55.  
  56.                     pul=cent*0.3937;  //Para convertir de a pulgadas, multiplicar por 0,3937
  57.                     printf("%g\n",pul);
  58.                     prinf("\nFin\n");
  59.  
  60.                    break;
  61.               }    
  62.  
  63. }                                  


cual puede ser el fallo???
« Última modificación: 25 Septiembre 2010, 12:58 pm por Littlehorse » En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: ayuda con un error
« Respuesta #7 en: 25 Septiembre 2010, 13:13 pm »

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 :P
En línea

motov33v

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: ayuda con un error
« Respuesta #8 en: 25 Septiembre 2010, 14:05 pm »

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 Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: ayuda con un error
« Respuesta #9 en: 25 Septiembre 2010, 14:18 pm »

De nada ::)

Saludos :P
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA ERROR C#
.NET (C#, VB.NET, ASP)
gomezjuan 1 2,057 Último mensaje 17 Mayo 2020, 14:52 pm
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines