#include<iostream>#include<fstream>// ofstream e ifstreamusingnamespace std;class DADOS
{private:
string CPF, NOME, ENDERECO, TELEFONE, EMAIL;public:
string& getCPF(){return CPF;}
string& getNOME(){return NOME;}
string& getENDERECO(){return ENDERECO;}
string& getTELEFONE(){return TELEFONE;}
string& getEMAIL(){return EMAIL;}void setCPF(string& CPF){this->CPF = CPF;}void setNOME(string& NOME){this->NOME = NOME;}void setENDERECO(string& ENDERECO){this->ENDERECO = ENDERECO;}void setTELEFONE(string& TELEFONE){this->TELEFONE = TELEFONE;}void setEMAIL(string& EMAIL){this->EMAIL = EMAIL;}// sobrecarga do operador de inserção de dados <<// ostream = output streamfriend ostream&operator<<(ostream& os,const DADOS& p){// escrever cada membro
os << p.CPF <<";"<< p.NOME <<";"<< p.ENDERECO <<";"<< p.TELEFONE <<";"<< p.EMAIL<<"\n";return os;}// sobrecarga do operador de extração de dados >>// istream = input streamfriend istream&operator>>(istream& is, DADOS& p){// ler cada membro
is >> p.CPF >> p.NOME >> p.ENDERECO >> p.TELEFONE >> p.EMAIL;return is;}};char MENU(){char resp;
system("CLS");
cout<<"ESCOLHA A OPCAO DESEJADA DA APLICACAO AGENDA A BAIXO:"<<endl<<endl;
cout<<" 1 - Inclusao de Novo(s) Contato(s) \n 2 - Exclusao de Contato(s) pelo CPF"<<endl;
cout<<" 3 - Consulta de Contato(s) por CPF \n 4 - Alteracao de dados cadastrados (exceto CPF)"<<endl;
cout<<" 5 - Listagem de Agenda em Ordem Alfabetica (Nomes) \n 0 - PARA FINALIZAR";
cout<<"\n\nDIGITE A OPCAO DESEJADA... [ ]\b\b";
cin >> resp;return resp;}int main(int argc,char*argv[]){char RSP, OPCAO;
DADOS dados, D;
string CPF, NOME, ENDERECO, TELEFONE, EMAIL;
ofstream agenda;
ifstream EntAgenda;Inicio:
OPCAO = MENU();
system("CLS");switch(OPCAO){case'1'://Inclusão de Novo(s) contatos
cout<<"Inclusao de Novo(s) Contato(s)\n";
agenda.open("C:/Users/Fernando/Desktop/Najela/BancoDadosAgenda.txt", ofstream::app);if(agenda.fail()){
cout<<"Erro na abertura de arquivo de BANCO DE DADOS! ";
exit(1);}
cin.ignore();
cout <<"\n\n - Digite o CPF: ";
getline (cin,CPF);
cout<<"\n - Digite o Nome Completo: ";
getline (cin,NOME);
cout <<"\n - Digite o Endereco: ";
getline (cin,ENDERECO);
cout <<"\n - Digite o Telefone: ";
getline (cin,TELEFONE);
cout <<"\n - Digite o E-mail: ";
getline (cin,EMAIL);
dados.setCPF(CPF);
dados.setNOME(NOME);
dados.setENDERECO(ENDERECO);
dados.setTELEFONE(TELEFONE);
dados.setEMAIL(EMAIL);
agenda << dados;
agenda.close();break;case'2'://Exclusao de Contato(s) pelo CPF
cout<<"A OPCAO DESEJADA E 2"; cin.ignore();break;case'3'://Consulta de Contato(s) por CPF
cout<<"Consulta de Contato(s) por CPF\n";break;case'4'://Alteracao de dados cadastrados
cout<<"A OPCAO DESEJADA E 4"; cin.ignore();break;case'5'://Litagem de Agenda em Ordem Alfabetica (Nomes)
cout<<"Litagem de Agenda em Ordem Alfabetica";EntAgenda.open("C:/Users/Fernando/Desktop/Najela/BancoDadosAgenda.txt");// verifca se o arquivo existe e se é possível lerif(EntAgenda.good()){while(!EntAgenda.eof()){EntAgenda>> D;// faz a extração dos dados// mostrar os dados
cout <<"\nCPF: "<< D.getCPF();
cout <<"\nNOME: "<< D.getNOME();
cout <<"\nENDERECO: "<< D.getENDERECO();
cout <<"\nTELEFONE: "<< D.getTELEFONE();
cout <<"\nEMAIL: "<< D.getEMAIL()<<"\n";}EntAgenda.close();}else
cout <<"Falha ao Abrir o arquivo! \n";break;case'0'://FINALIZAreturn0;break;default:
cout<<"OPCAO INVALIDA\n";
system("pause");gotoInicio;}
cout<<"\nAinda tem alguma alteracao pra fazer? (S/N): ";
cin>>RSP;if(RSP =='S'|| RSP =='s'){system("CLS");gotoInicio;}
cout<<"\nObrigado! Sua agenda foi atualizada com sucesso!";return0;}
tenho a seguinte entrada de dados:
12345678911;fernando de souza brito;coimbra;62900000000;fernando1234567@outlook.com
12345678900;paulo vitor ;negrao de lima;62900000000;paulo1234567@outlook.com
quando faço a leitura do arquivo, o meu programa para a cada espaço
preciso de ajuda para que consiga ler nas variáveis da função get, os dados até que encontre a separação do " ; " (ponto e virgula)
sendo assim a entrada
CPF = (primeiro campo até o ;)
NOME = (Campo completo com espaços para caso de nome composto)
Pergunta
fernandodsb
tenho a seguinte entrada de dados:
12345678911;fernando de souza brito;coimbra;62900000000;fernando1234567@outlook.com
12345678900;paulo vitor ;negrao de lima;62900000000;paulo1234567@outlook.com
quando faço a leitura do arquivo, o meu programa para a cada espaço
preciso de ajuda para que consiga ler nas variáveis da função get, os dados até que encontre a separação do " ; " (ponto e virgula)
sendo assim a entrada
CPF = (primeiro campo até o ;)
NOME = (Campo completo com espaços para caso de nome composto)
alguém me ajuda?
Link para o comentário
Compartilhar em outros sites
0 respostass 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.