Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con este Codigo Dev c++ lo tengo que entregar hoy

Estas en el tema de Ayuda con este Codigo Dev c++ lo tengo que entregar hoy en el foro de C/C++ en Foros del Web. bueno corranlo y vean el error ! osea cuando pido q ingrese otro cliente me muestra los resultados y no quiero eso !! quiero q ...
  #1 (permalink)  
Antiguo 22/05/2008, 18:39
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Ayuda con este Codigo Dev c++ lo tengo que entregar hoy

bueno corranlo y vean el error ! osea cuando pido q ingrese otro cliente me muestra los resultados y no quiero eso !! quiero q ingrese otro Gracias

int edad,opc,contcest,contedad,cant,contclie,i,totalcl iente;
float cestcomp,preciocest,montcest,total,precio,pago,vue lto,acumprecio,totalventa;
char resp,n;



int main(int argc, char *argv[])
{
contedad=0;
contcest=0;
montcest=0;
total=0;
contclie=0;
acumprecio=0;
totalcliente=0;
totalventa=0;

printf("Programa Que Calcula Ventas En Mercal \n");

do{ // Repetir Grande

printf("Indique El Monto de la Cesta Completa \n");
scanf("%f",&cestcomp);
fflush(stdin);
preciocest=cestcomp;

printf("Introduzca La Edad del Cliente \n");
scanf("%d",&edad);
if (edad>=60) {
contedad=(contedad+1);
} // Fin SI

printf("Presione la Tecla 1 Si El Cliente Desea la Cesta Completa \n");

printf("Presiona la Tecla 2 Si El CLiente Desea Realizar una Compra Individual \n");
scanf("%d",&opc);


if (opc=1) {
printf("El Monto es: %f \n",preciocest);
contcest=(contcest+1);
montcest=(montcest+preciocest);
printf("Y Contiene los siguientes productos: Arroz, Arina, Leche, Mantequilla, Huevo \n");
printf("Indique Cuanto Cancelo: \n");
scanf("%f",&pago);
vuelto=(pago-preciocest);
printf("El Vuelto Es de: %f \n",vuelto);
} // fin si

if (opc=2) {

printf("Indique La Cantidad de Articulos \n");
scanf("%d",&cant);
for (i=1;i<=cant;i++) {
printf("Introduzca Precio del Articulo: \n");
scanf("%f",&precio);
total=(total+precio);
} // FIN DESDE
acumprecio=(acumprecio+total);
printf("El Monto Es: %f \n",total);
printf("Indique El Monto Con Cuanto Cancelo: \n");
scanf("%f",&pago);
vuelto=(pago-precio);
printf("El Vuelto a Dar Es: %f \n",vuelto);
contclie=(contclie+1);
} // FIN SI

printf("Indique Si Desea Ingresar Otro Cliente \n");
printf("Presione la Tecla S para ingresar otro cliente \n");
printf("Presione la tecla N para no seguir ingresando clientes y ver resultados \n");
scanf("%s",&resp);

} while (resp=n); // FIN REPETIR PRINCIPAL

totalcliente=(contclie+contcest);
totalventa=(acumprecio+montcest);

printf("El Total de CLientes Atendidos Fue de: %d \n",totalcliente);
printf("El Total de Ventas es: %f \n",totalventa);
printf("El Total de Clientes de 3era Edad es: %d \n",contedad);
printf("El Total de Clientes que compraron cesta completa es: %d \n",contcest);
printf("El Total de recaudado por compra de cesta completa es: %f \n",montcest);
  #2 (permalink)  
Antiguo 23/05/2008, 07:36
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Respuesta: Ayuda con este Codigo Dev c++ lo tengo que entregar hoy

Veo 2 errores bien claros...primero:
Código:
printf("Presione la tecla N para no seguir ingresando clientes y ver resultados \n");
scanf("%s",&resp); 
Tu variable resp es de tipo char, no puedes leerla usando %s porque no es una cadena de caracteres, deberías usar la función readkey para ello.

Segundo:
Código:
} while (resp=n); // FIN REPETIR PRINCIPAL
Ahí estás asignando, no comparando...no importa lo que escriba, si la variable n es distinto de 0 entonces eso será verdadero. Supongo que tratabas de comparar la variable resp con el caracter 'n'. El signo igualdad en C/C++ es == (doble igual) y los catacteres van entre comillas sencillas.
Código:
} while (resp=='n'); // FIN REPETIR PRINCIPAL
Cita:
...
printf("Presione la Tecla S para ingresar otro cliente \n");
...
De hecho, si lo que quieres es que salga del ciclo cuando presiones 'n' deberías comparar con 's'
Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:47.