Ir para conteúdo

POWERED BY:

Arquivado

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

C_Kami

Problema com fstream

Recommended Posts

Pessoal, bom dia!
Preciso fazer um trabalho que simule um programa de uma loja de informática, devo usar um arquivo .txt como se fosse um banco de dados, para isso usei o fstream, no entanto quando há espaço na linha ele fica todo desconfigurado na hora de exibir com o ifstream.

Esse é o código de gravação.

void cad_funcionario(){
	char nome[60], cpf[11], funcao[50], rua[60], bairro[60], numero[9], cidade[60], cep[9], telefone[20], continua='s';	
	ofstream salvar("funcionario.txt",ios::app);
	if (!salvar){
		cout<<"Erro na abertura do arquivo"<<endl;
		system("pause");
		exit(1);
	}
	while(continua == 's'|| continua =='S'){
		//Cadastro de funcionários	
 		system("cls");
	 	cout<<"***********************************************"<<endl;
	 	cout<<"*                                             *"<<endl;
	 	cout<<"*          Cadastro de funcinonários          *"<<endl;
	 	cout<<"*                                             *"<<endl;
	 	cout<<"***********************************************"<<endl<<endl;
		cout<<"   Nome: ";
		cin.getline(nome,60);
		cout<<"   CPF: ";
		cin>>cpf;
		cin.ignore();
		cout<<"   Função: ";
		cin.getline(funcao,50);
		cout<<"   ***Endereço*** "<<endl;
		cout<<"   Rua: ";
		cin.getline(rua,60);
		cout<<"   Número: ";
		cin>>numero;
		cin.ignore();
		cout<<"   Bairro: ";
		cin.getline(bairro,60);
		cout<<"   Cidade: ";
		cin.getline(cidade,60);
		cout<<"   CEP: ";
		cin>>cep;
		cin.ignore();
		cout<<"   Telefone: ";
		cin>>telefone;
		cin.ignore();		
		salvar<<nome<<endl<<cpf<<endl<<funcao<<endl<<rua<<endl<<numero<<endl<<bairro<<endl<<cidade<<endl<<cep<<endl<<telefone<<endl;
		cout<<"   Deseja cadastrar novo funcionário? - [s-sim] [n-não]: ";
		cin>>continua;
		cin.ignore();
 	}
 	salvar.close();
 	system("cls");
 	menu_cad();
}

E esse o de leitura:

void consult_funcionario(){
	char nome[60], nome_consult[60], cpf[11], funcao[50], rua[60], bairro[60], numero[9], cidade[60], cep[9], telefone[20], continua='s';	
	cout<<"Insira o nome do funcionário que efetuou o serviço: ";
	cin.getline(nome_consult,60);
	ifstream in("funcionario.txt", ios::in);
	if(! in){
		cout<< "Erro na abertura do arquivo" << endl;
		exit( 1 ); 
	}
	while (in>>nome>>cpf>>funcao>>rua>>numero>>bairro>>cidade>>cep>>telefone){
		if(strcmp(nome,nome_consult)==0){
			cout<<"Nome: "<<nome<<endl;
			cout<<"Cpf: "<<cpf<<endl;
			cout<<"Função: "<<funcao<<endl;
			cout<<"**Endereço**"<<endl;
			cout<<"Rua: "<<rua<<endl;
			cout<<"Nº : "<<numero<<endl;
			cout<<"Bairro: "<<bairro<<endl;
			cout<<"Cidade: "<<cidade<<endl;
			cout<<"Cep: "<<cep<<endl;
			cout<<"Telefone: "<<telefone<<endl;
	   }
	}
}

O que pode ser esse erro?
Desde já agradeço a todos pela atenção!

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.