Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Elenildo Oliveira

erro no dev c++

Recommended Posts

Olá, estou com um trabalho para criar um sistema hospitalar em que tenho que cadastrar medicos, pacientes e marcar consultar, além disso preciso associar os pacientes aos medicos através das consultas, só que o meu codigo na hora de exibir os medicos e pacientes esta voltando no menu, e quando digito a opção de cadastrar pacientes, não está pulando linha, o codigo é esse aqui:

 

 

#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{int opcao = 0, contmed, contpac, contcons, cont, contm, contm2, contm3;
string medico[10][2], paciente[10][2], consulta[10][3];
 
while(opcao != 7)
{
cout << "\-----------------------\n";
cout << "Digite 1 para cadastrar medicos\n";
cout << "Digite 2 para cadastrar pacientes\n";
cout << "Digite 3 para cadastrar consultas\n";
cout << "-----------------------\n";
cout<< "Apos o cadastro:\n";
cout << "Digite 4 para listar medicos\n";
cout << "Digite 5 para listar pacientes\n";
cout << "Digite 6 para listar consultas\n";
cout << "-----------------------\n";
cout << "Digite 7 para sair.\n";
cout << "-----------------------\n";
cout << "Digite a opcao desejada: ";
cin >> opcao;
cout << endl;
cin.ignore();
 
if (opcao==1)
{
cout << "-Efetuar cadastro de medicos-\n";
cout << "Digite um codigo para o medico:\n ";
getline(cin, medico[contmed][0]);
cout << "Digite o nome do medico: \n";
getline(cin, medico[contmed][1]);
contmed++;
}
 if (opcao==2)
{
cout << "-Efetuar Cadastro de Paciente" << endl;
cout << "Digite um codigo para o paciente:\n ";
cin >> paciente [contpac][0];
cout << " Digite o nome do paciente:\n ";
getline(cin, paciente[contpac][1]);
cin.ignore();
contpac++;
}
 if (opcao==3)
{
cout << "-Efetuar a marcação de consultas-\n";
cout << "Digite o codigo do medico:\n ";
getline (cin, consulta [contcons][0]);
cout << " Digite o codigo do paciente:\n ";
getline(cin, consulta [contcons][1]);
cout<< "Digite a data da consulta:\n";
getline(cin,consulta [contcons][2]);
contcons++;
}
 
 if (opcao==4)
{
cout << "-Medicos Cadastrados-" << endl;
for (cont = 0; cont < contmed; cont++)
{
cout << medico [cont][0] << " - " << medico [cont][1] << endl;
}
}
 
 if (opcao==5)
{
cout << "-Pacientes Cadastrados-" << endl;
for (cont = 0; cont < contpac; cont++)
{
cout << paciente [cont][0] << " - " << paciente [cont][1] << endl;
}
}
 
if (opcao ==7)
{
system("PAUSE");
    return EXIT_SUCCESS;
}
 
 
    
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compilei e executei o seu código e após consertar algumas coisas, funcionou.

 

1 - Nunca esqueça de sempre inicializar suas varáveis. Indepedente da linguagem, é boa prática de programação.

Encontrei em duas opções exceptions onde, inicializando as variáveis corrigiu o bug.

 

2 - Utilize exit(0), ao invés de sistem("PAUSE")... Quando desejar sair de um APP via menu.

 

3 - O seu programa não está voltando para o menu inicial. E sim, executando instruções e REIMPRIMINDO o menu.

 

4 - Não tem sentido você utilizar cin.ignore, é desnecessário.

 

5 - Utilize a tage CODE e identação quando for postar códigos. Facilita na compreensão do seu problema.

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.