Saludos amigos, Tengo el siguiente codigo que les anexo:
Es un registro sencillo.. pero presento un problema, cuando intento comparar
me da eror.. Estoy tratando de saber cuantos pacientes Femeninos y masculinos se Atendienron o si alguien conoce otra manera de hacerlo, se los agradezco de ante manos.
A por cierto el error es este: comparison between pointer and integer!
He leido mucho y no logro comprender como solucionar el poder usar un contador cuando se use el paciente pensando, pensando y bueno quisiera otro punto de vista a ver
Código [Seleccionar]
#include <iostream>
#include <cstdlib>//Libreria reservada para uso de System();
#include<conio.h> //Libreria reservada para getch();
using namespace std;
const int nMax_n=1;
//Variables
char respuesta;
char respuesta1;
char res;
char cSeguir;
int pos=0; //Esta variable me determina la posicion del registro del paciente
int contAtendidos=0;//Contador de pacientes atendidos
struct paciente
{
char nombre[20],apellido[20],sexo[1];
int edad,cedula;
};
typedef paciente arreglo [nMax_n];
//Arrglos
arreglo paciente1;
//Valida cola
int vacia(){
if (pos==0)
return 1;
else
return 0;
}
//FUNCION QUE LLENA LA PRIMERA COLA DEL CONSULTORIO OFTALMOLOGICO
void llenarcola1(arreglo paciente1){
int pregunta=0;
do{//HACER ...
if(pos<=nMax_n){//Valida que el tamaño del arreglo no sea mayor al constante
//sino se valida repite el ciclo pero no guarda mas registros
system("cls");
cout<<"***************************************"<<endl;
cout<<"******* DATOS DEL PACIENTE *******"<<endl;
cout<<"***************************************"<<endl;
cout<<endl;
cout<<"Nombre: ";
cin>>paciente1[pos].nombre;
cout<<endl;
cout<<"Apellido: ";
cin>>paciente1[pos].apellido;
cout<<endl;
cout<<"Sexo: ";
cin>>paciente1[pos].sexo;
cout<<endl;
cout<<"Edad: ";
cin>>paciente1[pos].edad;
cout<<endl;
cout<<"Cedula: ";
cin>>paciente1[pos].cedula;
cout<<endl;
cout<<endl;
pregunta=nMax_n-pos;
cout<<endl<<"Total de citas Restantes:"<<pregunta;
cout<<endl;
cout<<endl;
pos++; //incremento la posicion
if(pregunta==0){//VALIDA QUE SI SE LLENO EL ARREGLO CAMBIE LA PREGUNTA FINAL
cout<<endl;
cout<<endl<<"No hay mas Citas por hoy."<<endl;
getch();//Presionar una Tecla para continuar
res='n';
}else{
cout<<endl<<"Desea ingresar otro Paciente S/N?";
cin>>res;
}
system("cls");
cout<<endl;
}else{ //VALIDA QUE EL USUARIO NO INGRESE USUARIOS SI ESTA FULL EL REGISTROs
system("cls");
cout<<endl<<"No hay mas Citas por hoy."<<endl;
cout<<endl;
getch();//Presionar una Tecla para continuar
system("cls");
res='n';
}
}while(res=='s' || res=='S'); // .. MIENTRAS LA RESPUESTA SEA IGUAL A S
}
// CONSULTA DE PACIENTES DE OFTALMOLOGIA
void consultarPacientes1(arreglo paciente1){
if(contAtendidos==0){
cout<<endl;
cout<<"No se han Atendidos Pacientes"<<endl;
cout<<endl;
cout<<"***************************************"<<endl;
}else{
cout<<endl;
cout<<"Cantidad de Pacientes Atendidos: "<<contAtendidos<<endl;
cout<<endl;
cout<<"***************************************"<<endl;
}
if(vacia()==1){// SI LA FUNCION VACIA RETORNA VALOR 1, ESTA VACIA
cout<<endl;
cout<<"No hay pacientes Registrados"<<endl;
cout<<endl;
cout<<"***************************************"<<endl;
cout<<endl;
getch();//Presionar una Tecla para continuar
system("cls");
}else{//SINO ESTA VACIA PROCESE A IMPRIMIR TODOS LOS REGISTROS RELACIONADOS
cout<<"***************************************"<<endl;
cout<<"******* PACIENTES POR ATENDER ********"<<endl;
cout<<"***************************************"<<endl;
cout<<endl;
for (int i=0;i<pos;i++) //EL TAMAÑO DEL FOR SERA EL CONTADOR DE REGISTRO
{
cout<<"Nombre: "<<paciente1[i].nombre<<endl;
cout<<endl;
cout<<"Apellido: "<<paciente1[i].apellido<<endl;
cout<<endl;
cout<<"Sexo: "<<paciente1[i].sexo<<endl;
cout<<endl;
cout<<"Edad: "<<paciente1[i].edad<<endl;
cout<<endl;
cout<<"Cedula: "<<paciente1[i].cedula<<endl;
cout<<endl;
cout<<"*************************************"<<endl;
cout<<endl;
}
cout<<"*************************************"<<endl;
getch();//Presionar una Tecla para continuar//Presionar una Tecla para continuar
system("cls");
}
}
//ATENDER UN PACIENTE ES DECIR SACARLO DE LA Cola
void AtenderPaciente1(arreglo paciente1){
char atendido;
int i=0;
if(vacia()==1){// SI LA FUNCION VACIA RETORNA VALOR 1, ESTA VACIA
cout<<endl;
cout<<"No hay pacientes Registrados"<<endl;
cout<<endl;
getch();//Presionar una Tecla para continuar
system("cls");
}else{//SINO ESTA VACIA PROCESE A IMPRIMIR TODOS LOS REGISTROS RELACIONADOS
cout<<endl;
cout<<"***** DATOS DEL PACIENTE *****"<<endl;
cout<<"***************************************"<<endl;
cout<<endl;
for (i=0;i<1;i++) //EL TAMAÑO DEL FOR SERA EL CONTADOR DE REGISTRO
{
cout<<"Nombre: "<<paciente1[i].nombre<<endl;
cout<<endl;
cout<<"Apellido: "<<paciente1[i].apellido<<endl;
cout<<endl;
cout<<"Sexo: "<<paciente1[i].sexo<<endl;
cout<<endl;
cout<<"Edad: "<<paciente1[i].edad<<endl;
cout<<endl;
cout<<"Cedula: "<<paciente1[i].cedula<<endl;
cout<<endl;
cout<<"*************************************"<<endl;
cout<<endl;
cout<<"Desea Atender Paciente ? S/N ";
cin>>atendido;
//este proceso elimina&destruye la posicion 1 del registro y rueda los demas
if(atendido=='s' || atendido=='S'){
//recorre el arreglo para destruir la primera posicion[0] moviendo los registros
for(int j=0; j<pos-1; j++)
paciente1[j] = paciente1[j+1];
pos--; /* Decrementa pos */
contAtendidos++;
}
if(atendido=='n' || atendido=='N'){
cout<<endl;
cout<<"Al paciente "<<paciente1[i].nombre<<" "<<paciente1[i].apellido<<" le fue cancelada la cita";
//recorre el arreglo para destruir la primera posicion[0] moviendo los registros
for(int j=0; j<pos-1; j++)
paciente1[j] = paciente1[j+1];
pos--; /* Decrementa pos */
getch();
}
}
system("cls");
}
}
// MENU DEL CONSULTO DE OFTALMOLOGIA Y SUS CASOS
int submenu1(){
do{
cout<<endl;
cout<<"****** CONSULTORIO DE OFTALMOLOGIA ******"<<endl;
cout<<"** **"<<endl;
cout<<"** A.- Cita **"<<endl;
cout<<"** B.- Atender Pacientes **"<<endl;
cout<<"** C.- Consulta de Pacientes **"<<endl;
cout<<"** D.- Menu Principal **"<<endl;
cout<<"** **"<<endl;
cout<<"******************************************"<<endl;
cout<<endl<<" Que Operacion Desea Realizar: ";
cin>>respuesta1;
if(respuesta1!='A' || respuesta1!='B' || respuesta1!='C'){
system("cls");
}
//SWITCH DEL CONSULTO DE OFTALMOLOGIA
switch (respuesta1){
case 'A':
llenarcola1(paciente1);
break;
case 'B':
system("cls");
AtenderPaciente1(paciente1);
break;
case 'C':
system("cls");
consultarPacientes1(paciente1);
break;
case 'D':
system("cls");//Simula volver al menu principal.
break;
}
}while(respuesta1!='D');
return 0;
}
// ESPACIO DE CODIGO PARA TRABAJAR EL SEGUNDO MODULO
// ESPACIO DE CODIGO PARA TRABAJAR EL SEGUNDO MODULO
// ESPACIO DE CODIGO PARA TRABAJAR EL SEGUNDO MODULO
// ESPACIO DE CODIGO PARA TRABAJAR EL SEGUNDO MODULO
//Primero que nada el Menu Principal que llevara los Consultorios
int menuPrincipal(){
do{
system("color B");
cout<<endl;
cout<<"******* CLINICA EL VALLE **********"<<endl;
cout<<"* *"<<endl;
cout<<"* A.- Oftalmologia *"<<endl;
cout<<"* B.- Ginecologo *"<<endl;
cout<<"* C.- Odontologia *"<<endl;
cout<<"* D.- Medicina General *"<<endl;
cout<<"* E.- Emergencia *"<<endl;
cout<<"* F.- Consulta Total *"<<endl; // Supuestamente seran todos los pacientes atentidos
cout<<"* G.-Salir / Exit *"<<endl;
cout<<"* *"<<endl;
cout<<"**********************************"<<endl;
cout<<endl<<" Digite su Opcion por favor: ";
cin>>respuesta;
//si la Respuesta es Diferente de estos valores solo limpia y muestra el menuPrincipal
if(respuesta!='A' || respuesta!='B' || respuesta!='C' || respuesta!='D' || respuesta!='E' || respuesta!='F'){
system("cls");
}
switch (respuesta){
case 'A':
submenu1();
break;
case 'B':
break;
case 'G':
cout<<endl;
cout<<" Hasta Pronto!! "<<endl;
cout<<endl;
break;
}
}while(respuesta!='G');//Mostrara el menu Mientras la respuesta no sea F
return 0;
}
int main(int argc, char *argv[]){
//Pantalla principal con datos generales del proyecto:
cout<<"\n\n \t ****************************************\n";
cout<<" \t *** ***\n";
cout<<" \t *** ESTRUCTURA DE DATOS ***\n";
cout<<" \t *** ***\n";
cout<<" \t ****************************************\n";
cout<<" \n\n\t MATERIA: Algoritmo y Programacion";
cout<<" \n\n\t PROFESOR: \t";
cout<<" \n\n\t\t";
getch();
system("cls");
menuPrincipal();
return 0;
}
Es un registro sencillo.. pero presento un problema, cuando intento comparar
Código [Seleccionar]
if(paciente1[pos].sexo=='s'){
contadorsexoF++;
}
me da eror.. Estoy tratando de saber cuantos pacientes Femeninos y masculinos se Atendienron o si alguien conoce otra manera de hacerlo, se los agradezco de ante manos.
A por cierto el error es este: comparison between pointer and integer!
He leido mucho y no logro comprender como solucionar el poder usar un contador cuando se use el paciente pensando, pensando y bueno quisiera otro punto de vista a ver