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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema ejercicios basicos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema ejercicios basicos  (Leído 6,497 veces)
MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Problema ejercicios basicos
« en: 26 Septiembre 2010, 15:12 pm »

Hola. Estoy intentando hacer los dos primeros ejercicios de C que vienen en el subforo "ejercicios" pero por desgracia ninguno me ha llegado a funcionar T_T¡
¿Una ayudita?

Ejercicio 100
Escribir un programa que solicite una temperatura y sistema de medición (celsius o farenheit) y que haga la conversión al otro sistema.
Código
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5. int t=0; //Sistema de medicion
  6. int n=0; //Temperatura
  7.  
  8. printf("Elige sistema de medicion:\nIntroduce 1 para convertir de Celsius a Farenheit\nIntroduce 2 para convertir de Farenheit a Celsius\n");
  9. scanf("%d",&t);
  10.  
  11. if(t==1 || t==2)
  12. {
  13.        printf("Introduce la temperatura\n");
  14.        scanf("%d",&n);
  15.  
  16.        if(t=1)
  17.        {
  18.               float z=(9*n/5)+32;
  19.               printf("%d grados celsius equivalen a %f grados farenheit",&n,&z);
  20.               scanf("%d",&n); //esto lo pongo porque sino no da tiempo a leer en anterior printf xD
  21.        }
  22.        else
  23.        {
  24.            float z=((n-32)*5)/9;
  25.            printf("%d grados farenheit equivalen a %f grados celsius",&n,&z);
  26.            scanf("%d",&n); //esto lo pongo porque sino no da tiempo a leer en anterior printf xD
  27.        }
  28.  
  29. }
  30. else
  31. {
  32.    printf("error");
  33. }
  34.  
  35.  
  36. }
  37.  


Ejercicio 101
Escribir un programa para el arqueo de caja de una tienda.
Se pide cuantas monedas de 1 centimo
Cuantas monedas de 2 centimos
Cuantas monedas de 5 centimos
Cuantas monedas de 10 centimos
Cuantas monedas de 20 centimos
Cuantas monedas de 50 centimos
Cuantas monedas de 1 Euro
Cuantas monedas de 2 Euros
Cuantos billetes de 5 Euros
Cuantos billetes de 10 euros
Cuantos billetes de 20 Euros
Cuantos billetes de 50 Euros
Cuantos billetes de 100 Euros
Cuantos billetes de 200 Euros
Cuantos billetes de 500 Euros
y calcular la suma total en euros

Código
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5. int a=0;
  6. int b=0;
  7. int c=0;
  8. int d=0;
  9. int e=0;
  10. int f=0;
  11. int g=0;
  12. int h=0;
  13. int i=0;
  14. int j=0;
  15. int k=0;
  16. int l=0;
  17. int m=0;
  18. int n=0;
  19. int o=0;
  20.  
  21.  
  22. printf("Número de monedas de 1 céntimo:\n");
  23. scanf("%d",&a);
  24.  
  25. printf("Número de monedas de 2 céntimos:\n");
  26. scanf("%d",&b);
  27.  
  28. printf("Número de monedas de 5 céntimos:\n");
  29. scanf("%d",&c);
  30.  
  31. printf("Número de monedas de 10 céntimos:\n");
  32. scanf("%d",&d);
  33.  
  34. printf("Número de monedas de 20 céntimos:\n");
  35. scanf("%d",&e);
  36.  
  37. printf("Número de monedas de 50 céntimos:\n");
  38. scanf("%d",&f);
  39.  
  40. printf("Número de monedas de 1 euro:\n");
  41. scanf("%d",&g);
  42.  
  43. printf("Número de monedas de 2 euros:\n");
  44. scanf("%d",&h);
  45.  
  46. printf("Número de billetes de 5 euros:\n");
  47. scanf("%d",&i);
  48.  
  49. printf("Número de billetes de 10 euros:\n");
  50. scanf("%d",&j);
  51.  
  52. printf("Número de billetes de 20 euros:\n");
  53. scanf("%d",&k);
  54.  
  55. printf("Número de billetes de 50 euros:\n");
  56. scanf("%d",&l);
  57.  
  58. printf("Número de billetes de 100 euros:\n");
  59. scanf("%d",&m);
  60.  
  61. printf("Número de billetes de 200 euros:\n");
  62. scanf("%d",&n);
  63.  
  64. printf("Número de billetes de 500 euros:\n");
  65. scanf("%d",&o);
  66.  
  67. float z=(a+b+c+d+e+f)/100+g+h+i+j+k+l+m+n+o;
  68.  
  69. printf("Tienes un total de %f euros",&z);
  70. scanf("%d",&z); //esto lo pongo porque sino no da tiempo a leer en anterior printf xD
  71.  
  72. }
  73.  
  74.  

¿¿Dónde están los errores?? Gracias


En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #1 en: 26 Septiembre 2010, 15:28 pm »

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.    int t=0; //Sistema de medicion
  6.    float n=0; //Temperatura
  7.    float z; //Resultado
  8.  
  9.    printf("Elige sistema de medicion:\n\t1.-Celsius a Farenheit\n\t2.-Farenheit a Celsius\n");
  10.    scanf("%d",&t);
  11.  
  12.    if(t==1 || t==2)
  13.    {
  14.        printf(">Temperatura:");
  15.        scanf("%f", &n);
  16.  
  17.        if(t==1)
  18.        {
  19.            z = (9*n/5)+32;
  20.            printf("\n%f grados Celsius equivalen a %f grados Farenheit\n", n, z);
  21.        }
  22.        else
  23.        {
  24.            z = ((n-32)*5)/9;
  25.            printf("\n%f grados Farenheit equivalen a %f grados Celsius\n", n, z);
  26.        }
  27.  
  28.    }
  29.    else
  30.    {
  31.        printf("Error");
  32.    }
  33.    return 0;
  34. }
  35.  

La función main() debe retornar un entero (int). No es el error grave digamos, pero deberías leerte esto.

Código
  1. if(t=1)
  2.  
Ves el fallo?

"=" es para asignar, no para comparar.


Luego en el printf pasas la dirección de la variable, en vez de la variable en sí.



El segundo código no me puse a hacerlo, pero el error es evidente.

Abajo haces la suma de el número de monedas/billetes pero no los multiplicas por su valor.


Saludos


« Última modificación: 26 Septiembre 2010, 15:59 pm por pablomi » En línea

MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #2 en: 26 Septiembre 2010, 15:54 pm »

Citar
Ves el fallo?

"=" es para asignar, no para comparar.
uf, cierto, ese fallo no le vi. Aun asi ni tu programa ni el mio funcionan correctamente =S



Citar
Abajo haces la suma de el número de monedas/billetes pero no los multiplicas por su valor.

No multiplico por su valor?
las variables a-f son el valor de las monedas de centimos (y las divido /100)
el resto es en euros.
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #3 en: 26 Septiembre 2010, 16:01 pm »

Me quedó, compila el que puse ahora (faltó cambiar %d por %f).

En el segundo código, me refiero tu pides el número de monedas o billetes (que deberían ser int, pero bueno).

Luego haces la suma del número de monedas, billetes, etc. Pero si un billete es de 10 euros, e introduces que hay 5, tienes que hacer 5*10 y luego sumar.

¿Entiendes?
En línea

MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #4 en: 26 Septiembre 2010, 16:05 pm »

Me quedó, compila el que puse ahora (faltó cambiar %d por %f).

En el segundo código, me refiero tu pides el número de monedas o billetes (que deberían ser int, pero bueno).

Luego haces la suma del número de monedas, billetes, etc. Pero si un billete es de 10 euros, e introduces que hay 5, tienes que hacer 5*10 y luego sumar.

¿Entiendes?

OW! fallo tonto. Igualmente ese no es el fallo por el que pregunto. El problema es que introduzca lo que introduzca mepone que la suma es 0,000000
En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Problema ejercicios basicos
« Respuesta #5 en: 26 Septiembre 2010, 16:37 pm »

Código
  1. printf("Tienes un total de %f euros",&z);

Tu fallo es el &z. En ese caso va sólo z, que es el float que printf espera, tu ahí le pasas la dirección de z;
En línea

MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #6 en: 26 Septiembre 2010, 16:59 pm »

Código
  1. printf("Tienes un total de %f euros",&z);

Tu fallo es el &z. En ese caso va sólo z, que es el float que printf espera, tu ahí le pasas la dirección de z;

Ok gracias. Listo, ya funciona. Gracias por la ayuda a los dos
En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #7 en: 26 Septiembre 2010, 17:01 pm »

Citar
esto lo pongo porque sino no da tiempo a leer en anterior printf xD

Utiliza getchar().

Saludos :P
En línea

xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #8 en: 27 Septiembre 2010, 15:16 pm »

Citar
esto lo pongo porque sino no da tiempo a leer en anterior printf xD

Utiliza getchar().

Saludos :P
No utilices nada y llamalo desde la consola xD
En línea

MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Problema ejercicios basicos
« Respuesta #9 en: 27 Septiembre 2010, 16:07 pm »

Citar
esto lo pongo porque sino no da tiempo a leer en anterior printf xD

Utiliza getchar().

Saludos :P
No utilices nada y llamalo desde la consola xD

pero al terminar la consola se cierra =S
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejercicios básicos C# « 1 2 3 »
.NET (C#, VB.NET, ASP)
~~ 25 169,438 Último mensaje 4 Marzo 2016, 01:50 am
por nosky
EJERCICIOS BASICOS C++ « 1 2 »
Ejercicios
WiseHidden 13 41,947 Último mensaje 27 Mayo 2011, 05:26 am
por civans89
ejercicios basicos para recursividad en java « 1 2 3 »
Java
bengy 24 27,669 Último mensaje 27 Marzo 2012, 07:53 am
por xyiyox
Ejercicios básicos de programacion en Shell script...
Programación General
er_anyel 1 3,869 Último mensaje 8 Noviembre 2011, 10:59 am
por er_anyel
Ejercicios básicos de programacion en Shell script...
Ejercicios
er_anyel 5 9,664 Último mensaje 14 Abril 2012, 15:23 pm
por Stakewinner00
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines