Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou com o seguinte problema:
Tenho que fazer um programa simples que lê algumas informações do teclado inseridas pelo usuário e no final salva em um arquivo. E se o arquivo já existir ele anexa as novas informações ao final do arquivo.
E como eu qro criar um arquivo CSV, precisaria adicionar um ;(ponto e virgula) no fim de cada string lida.
Alguém pode me ajudar?
As informações são:
Nome:
Nome do Club:
Sócio desde:
Data Nascimento:
Profissão:
Email:
Telefone:
O que acontece é que pensei em fazer uma classe em C++ com essas informações e usar fstream pra salvar só que não está dando certo :S
Ele não salva o arquivo.
E tem outro problema, o CIN. Ele só finaliza a string no " "(space), ao invés de ser no '\n'.
Alguém pode me ajudar?
#include <fstream>
#include <cstdlib>
#include <string.h>
#include <iostream>
using namespace std;
class Pessoa
{
private:
char nome[80],club[100],tempo[50],nasc[20],prof[30],email[50],fone[20];
public:
Pessoa();
void cadastra();
};
Pessoa :: Pessoa()
{
strcpy(nome,"");
strcpy(club,"");
strcpy(tempo,"");
strcpy(nasc,"");
strcpy(prof,"");
strcpy(email,"");
strcpy(fone,"");
}
void Pessoa :: cadastra()
{
cout << "Digite o Nome: " << endl;
cin >> nome;
cout << "Digite o Club: "<< endl;
cin >> club;
cout << "Digite seu Tempo de Rotaract: "<< endl;
cin >> tempo;
cout << "Digite seu Nascimento: "<< endl;
cin >> nasc;
cout << "Digite sua Profissao: "<< endl;
cin >> prof;
cout << "Digite seu EMAIL: "<< endl;
cin >> email;
cout << "Digite seu Telefone: "<< endl;
cin >> fone;
}
int main()
{
int i;
fstream fgrava;
fgrava.open("Pessoa.txt", ios::ate | ios::out | ios::in);
Pessoa cad1;
cout << "Deseja cadastrar um aluno? Tecle 0(zero) para sair e 1 para confirmar." << endl;
cin >> i;
while(i!=0)
{
cad1.cadastra();
fgrava.write((char*)&cad1,sizeof(Pessoa));
cout << "Deseja cadastrar um aluno? Tecle 0(zero) para sair e 1 para confirmar." << endl;
cin >> i;
}
fgrava.seekg(0);
}
Aguando uma resposta : )
Carregando comentários...