Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: the_nesquik en 10 Julio 2012, 06:29 am



Título: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 06:29 am
hola amigos me encuentro con un problema lo que pasa es k quiero vender un reloj el cual elaborare un programa weno este programa tendra 2 opciones 1 el de prioporcionar la cantidad de relojes comprados 2 el precio de cada reloj y al ultimo sakara descuentos si se compran mayor o igual de 10 relojes el decuento sera de 0.18 y wal en el segundo si se compran mayor o igual a 8 se hara un descuento de 0.8 y en el tercero si es mayor o igual a 2 se hara el descuento de 0.8 pero si compra solo 1 se pagara al precio que es y la opcion 2 es para salir si alguien me pudira ayudar a correjis mi problema se los agradeceria ya que es para entregar mañana bueno aqui les dejo el codigo saludos

Código
  1. #include<stdio.h>
  2.  
  3. #include<stdlib.h>
  4.  
  5. void main()
  6.  
  7. {
  8. int opc;
  9. float ct,pre,ctp;
  10. clrscr();
  11. printf("BIENVENIDO ELIJA UNA OPCION PORFAVOR: ");
  12. printf("\n\n 1. pago total con descuento");
  13. printf("2.salir");
  14. scanf("%d",&opc);
  15. if(opc==1)
  16. {
  17. printf("escribe la cantidad de relojes comprados");
  18. scanf("%f",&ct);
  19. printf(" proporciona el precio de cada reloj");
  20. scanf("%f",&pre);
  21. }
  22. if(ct>=10)
  23. {
  24. ctp=(pre-pre*0.18);
  25. }
  26. else(ct>=8)
  27. {
  28. ctp=(pre-pre*0.19);
  29. }
  30. if(ct>=2)
  31. {
  32. ctp=(pre-pre*0.8);
  33. }
  34. printf("el dinero total a pagar con descuento es %f",ctp);
  35. }
  36. if(ct==1)
  37. {
  38. pre=pre;
  39. printf("el dinero que pagara por unidad es %f",pre);
  40. }
  41. if(opc==2)
  42. {
  43. printf("abandonando");
  44. }
  45. if(opc!=1&&opc!=2)
  46. printf(" salir");
  47.  
  48. getch();


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 07:33 am
se los agradeceria demasiado ya k es para la escuela :(


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: DickGumshoe en 10 Julio 2012, 13:11 pm
¡Hola!

Los primeros errores que veo son:

Si tienes más de 10 relojes, le tienes que descontar el 18%, pero no multiplicarlo por 0.18! El algoritmo sería:

Precio final = Precio inicial - (Precio inicial * 0.18)

Así es como debes descontarle el 18%.

Por otra parte, en los if pones:

"Si cantidad es mayor o igual que 10...", "Si cantidad es mayor o igual que 8...", etc.

Si se cumple el primer if se van a cumplir los demás, ya que el número de relojes van a ser más de 10, por tanto, en la segunda condición van a ser más de 8, y te va a hacer más descuento de lo que debería. Por lo tanto, debes usar "else".

En "if(ct>2)", es si es mayor o igual que 2, ya que no hay ninguna condición para cuando sea 2.

En "if(ct=1)", te falta un igual. Para comparar dos valores debes usar "==".

Saludos!


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: 0xDani en 10 Julio 2012, 13:56 pm
¡Hola!

Los primeros errores que veo son:

Si tienes más de 10 relojes, le tienes que descontar el 18%, pero no multiplicarlo por 0.18! El algoritmo sería:

Precio final = Precio inicial - (Precio inicial * 0.18)

Así es como debes descontarle el 18%.

Por otra parte, en los if pones:

"Si cantidad es mayor o igual que 10...", "Si cantidad es mayor o igual que 8...", etc.

Si se cumple el primer if se van a cumplir los demás, ya que el número de relojes van a ser más de 10, por tanto, en la segunda condición van a ser más de 8, y te va a hacer más descuento de lo que debería. Por lo tanto, debes usar "else".

En "if(ct>2)", es si es mayor o igual que 2, ya que no hay ninguna condición para cuando sea 2.

En "if(ct=1)", te falta un igual. Para comparar dos valores debes usar "==".

Saludos!


Y por supuesto debes poner las etiquetas GeSHi jeje. No en serio si no las pones casi nadie va a leer tu codigo.

Saludos.


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 18:22 pm
¡Hola!

Los primeros errores que veo son:

Si tienes más de 10 relojes, le tienes que descontar el 18%, pero no multiplicarlo por 0.18! El algoritmo sería:

Precio final = Precio inicial - (Precio inicial * 0.18)

Así es como debes descontarle el 18%.

Por otra parte, en los if pones:

"Si cantidad es mayor o igual que 10...", "Si cantidad es mayor o igual que 8...", etc.

Si se cumple el primer if se van a cumplir los demás, ya que el número de relojes van a ser más de 10, por tanto, en la segunda condición van a ser más de 8, y te va a hacer más descuento de lo que debería. Por lo tanto, debes usar "else".

En "if(ct>2)", es si es mayor o igual que 2, ya que no hay ninguna condición para cuando sea 2.

En "if(ct=1)", te falta un igual. Para comparar dos valores debes usar "==".

Saludos!



gracias por contestar amigo.......



Título: Re: ¿ayuda con problema de turbo c?
Publicado por: DickGumshoe en 10 Julio 2012, 18:31 pm
¿Ya te ha salido bien?


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 18:32 pm
¿Ya te ha salido bien?
no amigo y con la presion de entregarlo  hoy... buuu me podrias facilitar el codigo xfavor  yo luego me pongo amano creo k esta es la mejor pagina para aprender a utilizar las sintaxis  saludos 


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 18:46 pm
si alguien sabe hacerlo por faavor ayudeme.... =)


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: 0xDani en 10 Julio 2012, 19:06 pm
1: Usa las etiquetas GeSHi, si no, no voy a leer el codigo.
2: Quita conio.h, no lo necesitas.
3: Escribe "abandonando" en vez de "adandonando".

Son consejos para obtener respuestas.

Saludos.


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 19:09 pm
1: Usa las etiquetas GeSHi, si no, no voy a leer el codigo.
2: Quita conio.h, no lo necesitas.
3: Escribe "abandonando" en vez de "adandonando".

Son consejos para obtener respuestas.

Saludos.

ya amigo  ya lo sambie


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 19:13 pm
alguien que me ayude a correjirlo xfavor es para entregarlo hoy a la escuela y ya casi me voy a la escuela :( 


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: 0xDani en 10 Julio 2012, 19:22 pm
Bueno ahora se puede leer. Lo que veo es que no has corregido lo que te ha dicho DickGumshoe. Debes aplicar la formula que el te ha dicho para que te salga bien. Y lo de que si se comprueba que es menor que 10 tambien va a ser menor que 8 se soluciona poniendo los en el orden contrario y anidados, es decir si es mayor o igual que 2 compruebas si es mayor o igual que 8 y asi.
Y no has cambiado el operador '=' por '==', como tambien te ha dicho DickGumshoe.


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 19:27 pm
Bueno ahora se puede leer. Lo que veo es que no has corregido lo que te ha dicho DickGumshoe. Debes aplicar la formula que el te ha dicho para que te salga bien. Y lo de que si se comprueba que es menor que 10 tambien va a ser menor que 8 se soluciona poniendo los en el orden contrario y anidados, es decir si es mayor o igual que 2 compruebas si es mayor o igual que 8 y asi.
Y no has cambiado el operador '=' por '==', como tambien te ha dicho DickGumshoe.

entonces quedaria asi??? 


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 10 Julio 2012, 19:34 pm
creo que no estoy entendiendo lo que me dices ya lo cambie pero igual se sigue marcando errores  :( si podrias correjirmelo xfavor para ver mis errores y asi aprender de ellos  te lo agradeceria demasiado


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: 0xDani en 10 Julio 2012, 19:47 pm
Pon aqui los errores que te de, siempre ayuda.


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: durasno en 10 Julio 2012, 23:43 pm
Mas errores:

1º Te falta la llave de cierre del main(enrealidad no falta sino que esta mal puesta)

Código
  1. else(ct>=8)
asi no se usa un else. Busca el tema if anidados

3º No es necesario que "ct" sea un float. En este programa no creo q tengas problemas pero tal vez en otros si, ya que estas haciendo comparaciones entre un float y un int(float  ct>=10  int)

Código
  1. pre=pre;
no le encuentro sentido

5º Como tenes que imprimir el total incluido el descuento, a la formula que te pasaron para calcular el descuento le tenes que multiplicar por la cantidad, ej:
Código
  1. ctp=(pre-pre*0.18);
  2. total=ctp*ct;


EL tema de las condiciones lo podes resolver asi:
Código
  1. if(ct>=10) {... }
  2. else if(ct>=8){....}
  3. else if(ct>=2){....}
  4. // no es necesario preguntar si ct==1


Saludos


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 11 Julio 2012, 03:10 am
Pon aqui los errores que te de, siempre ayuda.

gracias amigo solucione mi problema con la funcion switch y while y else  gracias 


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: the_nesquik en 11 Julio 2012, 03:11 am
alguien sabe como cerrar este tema??? 


Título: Re: ¿ayuda con problema de turbo c?
Publicado por: DickGumshoe en 11 Julio 2012, 09:08 am
alguien sabe como cerrar este tema??? 

Cuanto se termina de resolver una duda en este foro no se suele cerrar el tema.

Saludos.