fala galera. Entao, está dando um erro:
o programa só salva a primeira entrada. O resto ele anula.
Aqui está o codigo, alguem me da um help?? vlw
[code]#include
#include
#include <fstream.h>
#include
#include
using namespace std;
char nome[80], endereco[150], email[150], complemento[70], resposta;
int tel, numero, predio;
int main()
{
do{
cout<<“Adicionar contato”<<endl;
cout<<"Nome: ";
cin.getline(nome, 80);
cout<<"Telefone: ";
cin>>tel;
cout<<"Endereco: ";
cin.getline(endereco, 150);
cout<<"Numero: ";
cin>>numero;
cout<<"Complemento: ";
cin.getline(complemento, 70);
cout<<"Apto: ";
cin>>predio;
cout<<"Email: ";
cin.getline(email, 150);
ofstream File;
File.open("c:\\Users\\Rafael\\Desktop\\teste2s.txt");
File<<nome<<"\n"<<tel<<"\n"<<endereco<<" "<<numero<<" "<<complemento<<" "<<predio<<"\n"<<email<<"\n\n\n\n----------------------------\n\n";
File.close();
cout<<"Quer ler os dados gravados? (S) ou (N)"<<endl;
cin>>resposta;
}while(toupper(resposta)==‘S’); [/code]
Em particular, não gosto nem um pouco de usar “>>”. É que você precisa às vezes usar “ignore” para que as coisas funcionarem
#include <cstdlib>
#include <iostream>
#include <fstream> // use fstream, não fstream.h
#include <cstring>
#include <string>
using namespace std;
char nome[80], endereco[150], email[150], complemento[70], resposta;
char tel[20];
int numero, predio;
int main()
{
do{
cout<<"Adicionar contato"<<endl;
cout<<"Nome: ";
cin.getline(nome, 80);
cout<<"Telefone: ";
cin.getline(tel, sizeof(tel));
cout<<"Endereco: ";
cin.getline(endereco, 150);
cout<<"Numero: ";
cin>>numero; cin.ignore (100, '\n');
cout<<"Complemento: ";
cin.getline(complemento, 70);
cout<<"Apto: ";
cin>>predio; cin.ignore (100, '\n');
cout<<"Email: ";
cin.getline(email, 150);
ofstream File;
File.open("teste2s.txt");
File<<nome<<"\n"<<tel<<"\n"<<endereco<<" "<<numero<<" "<<complemento<<" "<<predio<<"\n"<<email<<"\n\n\n\n----------------------------\n\n";
File.close();
cout<<"Quer ler os dados gravados? (S) ou (N)"<<endl;
cin>>resposta;
cout << "Resposta foi " << resposta << endl;
}while(toupper(resposta)=='S');
}
Obrigado pela dica.
Mas só mais uma coisa:
os dados não foram gravados no arquivo .txt, por que?
[]'s
esquece, falei bobagem.
ahahhaha
Agradeço a sua ajuda!! []'s
Melhor ainda seria usar a classe std::string ao invés de arrays de char.