Dev - C++ - Ayuda con codigo

 
Vista:
sin imagen de perfil

Ayuda con codigo

Publicado por Jorge (5 intervenciones) el 10/09/2021 20:09:22
Cuando corro el programa se queda en el menú y no avanza, no deja registrar ni nada, ni limpiar, agradecería su apoyo
#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
int cita,nombrep,hora,ntratamiento,cantidadt,descripcion,selector,i,lcitas,modificar,ecita,limpiarp;
float total=0,preciout,preciou;

do {
system ("cls");
cout << "Elija la opcion deseada:" << endl;
cout << "1. Agendar cita:" << endl;
cout << "2. Modificar cita:" << endl;
cout << "3. Lista de citas vigentes:" << endl;
cout << "4 Eliminar cita:" << endl;
cout << "5. Limpiar pantalla:" << endl;
cout << "6. Salir del programa" << endl;
cin >> cita;

switch(selector) {
case 1:
cout <<"Agendar la cita deseada:" << endl;
cin >>cita;
for(i=1; i<=cita; i++){
cout << "Ingrese el nombre del paciente:" << endl;
cin >> nombrep;
fflush(stdin);
cout << "Ingrese la hora del tratamiento:" << endl;
cin >> hora;
fflush(stdin);
cout << "Ingrese el nombre del tratamiento:" << endl;
cin >> ntratamiento;
fflush(stdin);
cout << "Ingrese la descripcion del tratamiento:" << endl;
cin >> descripcion;
fflush(stdin);
cout << "Ingrese el precio unitario del tratamiento:" << endl;
cin >> preciout;
fflush(stdin);
cout << "Ingrese la cantidad de tratamientos:" << endl;
cin >> cantidadt;
fflush(stdin);
total=preciou * cantidadt;
cout << "El total es:" << total << endl;
cin >> total;
fflush(stdin);
system("cls");

}
break;
case 2:
cout << "¿Cual cita desea modificar:" << endl;
cin >> cita;
fflush(stdin);
break;
case 3:
cout << "Ingrese la lista de citas vigentes:" << endl;
cin >> lcitas;
fflush(stdin);
break;
case 4:
cout << "4 Eliminar cita:" << endl;
cin >> ecita;
fflush(stdin);
break;
case 5:
cout << "5. Limpiar pantalla:" << endl;
cin >> limpiarp;
fflush(stdin);
break;
case 6:
cout << "Saliste del programa:" << endl;
//cin >> salir;
fflush(stdin);
break;
default:
cout << "Opción incorrecta" << endl;
break;
}
} while (selector <3);

return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda con codigo

Publicado por anonymous (146 intervenciones) el 11/09/2021 01:42:23
Hola Jorge, tu me enviaste un mensaje preguntando por este problema, yo te respondí pero no se si te llegó el mensaje, así que aquí te lo dejo por si acaso. Avísame cualquier cosa, suerte, saludos.

Lo primero que veo es que estas leyendo a la variable $cita pero en el "switch" estás manejando a la variable $selector, asi nunca va a funcionar.

Lo segundo es que debes vaciar el búfer de entrada con `fflush(stdin)' cada vez siempre antes de leer datos con $cin o `scanf' para que funcione bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar