Alberto_hilario Postado Junho 19, 2007 Denunciar Share Postado Junho 19, 2007 PRECISO COLOCAR ISSO EM ORIENTAÇÃO OBJETO Por favor me ajudem#include <iostream>#include <stdlib.h>#include <conio.h>#include <cstring>#define p 15#define que 3using namespace std;int soma=0;struct paciente{ char nome [50], comparar[50], sexo; int idade; int psaude; };paciente pac[p];struct //Privativo{ char leito[50];}priva[5];struct //Semiprivativo{ char leito[50][2];}semi[5]; struct //Enfermaria{ char leito[50][4];}enfer[2];struct //espera privativo{ char listap[50];}esperap[que]; struct //espera semiprivativo{ char listas[50];}esperas[que]; struct //espera enfermaria{ char listae[50];}esperae[que]; //*****************************************************************int cabecalho(){ int esc; cout << "**************************"; cout << "\n\t HOSPITAL \n"; cout << "**************************"; cout << "\nEscoha uma opcao: "; cout << "\n 1-Cadastrar paciente"; cout << "\n 2-Localizar paciente"; cout << "\n 3-Liberar leito"; cout << "\n 4-Exibir quartos e leitos"; cout << "\n 5-Sair"; cout << "\n**************************"; cout << "\n"; cin>> esc; system ("cls"); return (esc); }//**********************************************************************void consulta(char comparar[50], int c){ int j; for (j=0;j<soma;j++){ if ((strcmp(comparar, pac[j].nome) == 0)){ cout << "Paciente: " << comparar << endl; cout << "Quarto: " << endl;}}} //*************************************************************************void imprime(){if (soma==0){cout << "\nQuartos vazios";}else{for (int i=0; i<soma;i++){ cout << "Nome: " << pac.nome << endl; cout << "Idade: " << pac.idade << " Sexo: " << pac.sexo; cout << endl; if (pac.psaude==1){ cout << "Plano de Saude: Privativo" << endl;} else if (pac.psaude==2){ cout << "Plano de Saude: Semiprivativo" << endl;} else if (pac.psaude==3){ cout << "Plano de Saude: Enfermaria" << endl;} cout << endl; }}}//***********************************************************************8int main(){int op, plano, i=0, j=0, k=0, l=0, v=0;int a, b, c, lib;int f=0, g=0, h=0;char esp, Cnome[50];do{ op = cabecalho();switch (op){ case 1: if (soma == p){ cout << "Hospital Lotado"; getch(); system("cls");} else{ cout << "Digite o nome completo do paciente: "; fflush(stdin); cin.getline (pac[soma].nome, 50); cout << "Digite a idade do paciente: "; cin >> pac[soma].idade; do{ cout << "Digite o sexo do paciente (m/f): "; cin >> pac[soma].sexo; }while ((pac[soma].sexo != 'm') && (pac[soma].sexo != 'f')); do{ cout << "Escolha o plano de saude do paciente\n" << "1-Privativo;\n" << "2-Semiprivativo;\n" << "3-Enfermaria: "; cin >> pac[soma].psaude; a = pac[soma].psaude; system ("cls"); }while ((pac[soma].psaude != 1) && (pac[soma].psaude != 2) && (pac[soma].psaude != 3)); soma++;} //********************************************************** if (a == 1){ //inicio if-else if (i<2){ strcpy(priva.leito, pac.nome); cout << "Cadastro realizado"; i++; } else{ cout << "Quarto lotado\n" << endl; do{ cout << "Deseja colocar o paciente na lista de espera(s/n)? "; cin >> esp;}while((esp!='s') && (esp!='n')); if (esp == 's'){ strcpy (esperap[f].listap, pac[f+2].nome); cout << "Paciente alocado na lista de espera" << endl; f++;} if (esp == 'n'){ cout << "Ok, paciente não alocado";} }} //fim if-else//********************************************************** else if (a == 2){//inicio if-else if (j<5){ strcpy(priva[j].leito, pac[j].nome); cout << "Cadastro realizado"; j++; } else{ cout << "Quarto lotado" << endl; do{ cout << "Deseja colocar o paciente na lista de espera(s/n)? "; cin >> esp;}while((esp!='s') && (esp!='n')); if (esp == 's'){ strcpy (esperas[g].listas, pac[g+2].nome); g++; cout << "Paciente alocado na lista de espera" << endl;} if (esp == 'n'){ cout << "Ok, paciente não alocado";} }} //fim if-else //fim if-else//********************************************************** else if (a == 3){ if (k<4){ strcpy(priva[k].leito, pac[k].nome); cout << "Cadastro realizado"; k++; } else{ cout << "Quarto lotado" << endl; do{ cout << "Deseja colocar o paciente na lista de espera(s/n)? "; cin >> esp;}while((esp!='s') && (esp!='n')); if (esp == 's'){ strcpy (esperap[h].listap, pac[soma].nome); h++; cout << "\nPaciente alocado na lista de espera" << endl;} if (esp == 'n'){ cout << "Ok, paciente não alocado";} }//fim if-else//fim if-else*///********************************************************** cout << endl << endl; system("pause"); system("cls"); break; //////////////////////////////////////////////////////////////// case 2: cout << "\nDigite o nome completo do paciente a pesquisar: "; fflush(stdin); cin.getline (Cnome, 50); consulta(Cnome, a); cout << "\n\nConsulta realizada." << endl << endl; system("pause"); system("cls"); break;//////////////////////////////////////////////////////////////// case 3: if (soma==0){ cout << "Leito vazio";} else{ cout << "Escolha o leito para liberar vaga" << "\n1 - Privado\n" << " 2 - Semiprivado" << "\n 3 - Enfermaria" << "\n 4 - Lista de espera"; soma--; cin >> lib; if (lib == 1){ if (i == 0) cout << "Leito vazio"; else i--; cout << "Leito liberado";} else if (lib == 2){ if (j == 0) cout << "Leito vazio"; j--; cout << "Leito liberado";} else if (lib == 3){ if (k == 0) cout << "Leito vazio"; k--; cout << "Leito liberado";} else if (lib == 4){ if (l == 0) cout << "Leito vazio"; l--; cout << "Leito liberado";} } } cout << endl << endl; system("pause"); system("cls"); break;/////////////////////////////////////////////////////// case 4: char le; imprime(); cout << endl; system("pause"); system("cls"); do{ cout << "Gostaria de visulizar os pacientes da lista de espera (s/n)?"; cin >> le; }while((le!='s') && (le!='n')); if (le == 's'){ for (v=0; v <= f; v++){ cout << "\nLista de espera Privativo: " << esperap[v].listap << endl;} cout << endl; for (v=0; v <= g; v++){ cout << "Lista de espera Semiprivativo: " << esperas[v].listas << endl;} cout << endl; for (v=0; v <= h; v++){ cout << "Lista de espera Enfermaria: " << esperae[v].listae << endl;} } else if (le == 'n'){ cout << "Ok, ate logo";} cout << endl << endl; system("pause"); system("cls"); break;////////////////////////////////////////////////////////////////////////////////// }}while(op!=5);cout << "Voce esta deixando o programa\n\n\n";system ("pause");} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Junho 19, 2007 Denunciar Share Postado Junho 19, 2007 PRECISO COLOCAR ISSO EM ORIENTAÇÃO OBJETO Por favor me ajudemA Programação Orientada a Objetos é totalmente diferente da Estruturada, voce conhece Classe? Objetos?dica: esquece a programação estruturada, faça seu software do zero focalizando o problema. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alberto_hilario
PRECISO COLOCAR ISSO EM ORIENTAÇÃO OBJETO Por favor me ajudem
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <cstring>
#define p 15
#define que 3
using namespace std;
int soma=0;
struct paciente
{
char nome [50], comparar[50], sexo;
int idade;
int psaude;
};
paciente pac[p];
struct //Privativo
{
char leito[50];
}priva[5];
struct //Semiprivativo
{
char leito[50][2];
}semi[5];
struct //Enfermaria
{
char leito[50][4];
}enfer[2];
struct //espera privativo
{
char listap[50];
}esperap[que];
struct //espera semiprivativo
{
char listas[50];
}esperas[que];
struct //espera enfermaria
{
char listae[50];
}esperae[que];
//*****************************************************************
int cabecalho()
{
int esc;
cout << "**************************";
cout << "\n\t HOSPITAL \n";
cout << "**************************";
cout << "\nEscoha uma opcao: ";
cout << "\n 1-Cadastrar paciente";
cout << "\n 2-Localizar paciente";
cout << "\n 3-Liberar leito";
cout << "\n 4-Exibir quartos e leitos";
cout << "\n 5-Sair";
cout << "\n**************************";
cout << "\n";
cin>> esc;
system ("cls");
return (esc);
}
//**********************************************************************
void consulta(char comparar[50], int c)
{
int j;
for (j=0;j<soma;j++){
if ((strcmp(comparar, pac[j].nome) == 0)){
cout << "Paciente: " << comparar << endl;
cout << "Quarto: " << endl;}
}}
//*************************************************************************
void imprime()
{
if (soma==0){
cout << "\nQuartos vazios";}
else{
for (int i=0; i<soma;i++){
cout << "Nome: " << pac.nome << endl;
cout << "Idade: " << pac.idade << " Sexo: " << pac.sexo;
cout << endl;
if (pac.psaude==1){
cout << "Plano de Saude: Privativo" << endl;}
else if (pac.psaude==2){
cout << "Plano de Saude: Semiprivativo" << endl;}
else if (pac.psaude==3){
cout << "Plano de Saude: Enfermaria" << endl;}
cout << endl;
}}
}
//***********************************************************************8
int main()
{
int op, plano, i=0, j=0, k=0, l=0, v=0;
int a, b, c, lib;
int f=0, g=0, h=0;
char esp, Cnome[50];
do{
op = cabecalho();
switch (op){
case 1:
if (soma == p){
cout << "Hospital Lotado";
getch();
system("cls");}
else{
cout << "Digite o nome completo do paciente: ";
fflush(stdin);
cin.getline (pac[soma].nome, 50);
cout << "Digite a idade do paciente: ";
cin >> pac[soma].idade;
do{
cout << "Digite o sexo do paciente (m/f): ";
cin >> pac[soma].sexo;
}while ((pac[soma].sexo != 'm') && (pac[soma].sexo != 'f'));
do{
cout << "Escolha o plano de saude do paciente\n"
<< "1-Privativo;\n" << "2-Semiprivativo;\n" << "3-Enfermaria: ";
cin >> pac[soma].psaude;
a = pac[soma].psaude;
system ("cls");
}while ((pac[soma].psaude != 1) && (pac[soma].psaude != 2) && (pac[soma].psaude != 3));
soma++;}
//**********************************************************
if (a == 1){ //inicio if-else
if (i<2){
strcpy(priva.leito, pac.nome);
cout << "Cadastro realizado";
i++;
}
else{
cout << "Quarto lotado\n" << endl;
do{
cout << "Deseja colocar o paciente na lista de espera(s/n)? ";
cin >> esp;}while((esp!='s') && (esp!='n'));
if (esp == 's'){
strcpy (esperap[f].listap, pac[f+2].nome);
cout << "Paciente alocado na lista de espera" << endl;
f++;}
if (esp == 'n'){
cout << "Ok, paciente não alocado";}
}} //fim if-else
//**********************************************************
else if (a == 2){//inicio if-else
if (j<5){
strcpy(priva[j].leito, pac[j].nome);
cout << "Cadastro realizado";
j++;
}
else{
cout << "Quarto lotado" << endl;
do{
cout << "Deseja colocar o paciente na lista de espera(s/n)? ";
cin >> esp;}while((esp!='s') && (esp!='n'));
if (esp == 's'){
strcpy (esperas[g].listas, pac[g+2].nome);
g++;
cout << "Paciente alocado na lista de espera" << endl;}
if (esp == 'n'){
cout << "Ok, paciente não alocado";}
}} //fim if-else //fim if-else
//**********************************************************
else if (a == 3){
if (k<4){
strcpy(priva[k].leito, pac[k].nome);
cout << "Cadastro realizado";
k++;
}
else{
cout << "Quarto lotado" << endl;
do{
cout << "Deseja colocar o paciente na lista de espera(s/n)? ";
cin >> esp;}while((esp!='s') && (esp!='n'));
if (esp == 's'){
strcpy (esperap[h].listap, pac[soma].nome);
h++;
cout << "\nPaciente alocado na lista de espera" << endl;}
if (esp == 'n'){
cout << "Ok, paciente não alocado";}
}//fim if-else//fim if-else*/
//**********************************************************
cout << endl << endl;
system("pause");
system("cls");
break;
////////////////////////////////////////////////////////////////
case 2:
cout << "\nDigite o nome completo do paciente a pesquisar: ";
fflush(stdin);
cin.getline (Cnome, 50);
consulta(Cnome, a);
cout << "\n\nConsulta realizada." << endl << endl;
system("pause");
system("cls");
break;
////////////////////////////////////////////////////////////////
case 3:
if (soma==0){
cout << "Leito vazio";}
else{
cout << "Escolha o leito para liberar vaga"
<< "\n1 - Privado\n"
<< " 2 - Semiprivado"
<< "\n 3 - Enfermaria"
<< "\n 4 - Lista de espera";
soma--;
cin >> lib;
if (lib == 1){
if (i == 0)
cout << "Leito vazio";
else
i--;
cout << "Leito liberado";}
else if (lib == 2){
if (j == 0)
cout << "Leito vazio";
j--;
cout << "Leito liberado";}
else if (lib == 3){
if (k == 0)
cout << "Leito vazio";
k--;
cout << "Leito liberado";}
else if (lib == 4){
if (l == 0)
cout << "Leito vazio";
l--;
cout << "Leito liberado";}
}
}
cout << endl << endl;
system("pause");
system("cls");
break;
///////////////////////////////////////////////////////
case 4:
char le;
imprime();
cout << endl;
system("pause");
system("cls");
do{
cout << "Gostaria de visulizar os pacientes da lista de espera (s/n)?";
cin >> le;
}while((le!='s') && (le!='n'));
if (le == 's'){
for (v=0; v <= f; v++){
cout << "\nLista de espera Privativo: " << esperap[v].listap << endl;}
cout << endl;
for (v=0; v <= g; v++){
cout << "Lista de espera Semiprivativo: " << esperas[v].listas << endl;}
cout << endl;
for (v=0; v <= h; v++){
cout << "Lista de espera Enfermaria: " << esperae[v].listae << endl;}
}
else if (le == 'n'){
cout << "Ok, ate logo";}
cout << endl << endl;
system("pause");
system("cls");
break;
//////////////////////////////////////////////////////////////////////////////////
}
}while(op!=5);
cout << "Voce esta deixando o programa\n\n\n";
system ("pause");
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.