Pesquisar na Comunidade
Mostrando resultados para as tags ''arquivos; c++''.
Encontrado 1 registro
-
#include <iostream> #include <fstream> // ofstream e ifstream using namespace 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 stream friend 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 stream friend 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 ler if(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'://FINALIZA return 0; break; default: cout<<"OPCAO INVALIDA\n"; system("pause"); goto Inicio; } cout<<"\nAinda tem alguma alteracao pra fazer? (S/N): "; cin>>RSP; if(RSP == 'S' || RSP == 's') {system("CLS"); goto Inicio;} cout<<"\nObrigado! Sua agenda foi atualizada com sucesso!"; return 0; } 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?
-
- arquivos; c++
- importar;
- (e %d mais)