¿ayuda con problema de turbo c?

Iniciado por the_nesquik, 10 Julio 2012, 06:29 AM

0 Miembros y 1 Visitante están viendo este tema.

the_nesquik

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 (cpp) [Seleccionar]
#include<stdio.h>

#include<stdlib.h>

void main()

{
int opc;
float ct,pre,ctp;
clrscr();
printf("BIENVENIDO ELIJA UNA OPCION PORFAVOR: ");
printf("\n\n 1. pago total con descuento");
printf("2.salir");
scanf("%d",&opc);
if(opc==1)
{
printf("escribe la cantidad de relojes comprados");
scanf("%f",&ct);
printf(" proporciona el precio de cada reloj");
scanf("%f",&pre);
}
if(ct>=10)
{
ctp=(pre-pre*0.18);
}
else(ct>=8)
{
ctp=(pre-pre*0.19);
}
if(ct>=2)
{
ctp=(pre-pre*0.8);
}
printf("el dinero total a pagar con descuento es %f",ctp);
}
if(ct==1)
{
pre=pre;
printf("el dinero que pagara por unidad es %f",pre);
}
if(opc==2)
{
printf("abandonando");
}
if(opc!=1&&opc!=2)
printf(" salir");

getch();

the_nesquik

se los agradeceria demasiado ya k es para la escuela :(

DickGumshoe

¡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!

0xDani

Cita de: 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!


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

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

the_nesquik

Cita de: 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!



gracias por contestar amigo.......


DickGumshoe


the_nesquik

Cita de: DickGumshoe en 10 Julio 2012, 18:31 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 

the_nesquik

si alguien sabe hacerlo por faavor ayudeme.... =)

0xDani

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.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

the_nesquik

Cita de: daniyo 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.

ya amigo  ya lo sambie