elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Consejo [Comparar] en: 16 Agosto 2012, 23:09 pm
Saludos amigos, Tengo el siguiente codigo que les anexo:

Código:
#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:
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
 
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines