Ir ao conteúdo

Posts recomendados

Postado
	#include <stdio.h>
	#include <stdlib.h>
	#include <iostream>
	#include <string.h>
	using namespace std;
	
	
	typedef struct 
		{ 
		int matri,idade;
		char nome[50],sexo[50];	
		float media;
		}ficha;
		
	
	 ficha aluno[50]; 
	 
	 
	 char nome[50];
      
	int i=0;                               
	float mediaS;
	float av1,av2,av3;
	int idade;
	
	void Add(){
			char a;
			int matricula;
		system ("cls");
		
	     cout<< "UNICARIOCA - BANCO DE DADOS"<<endl;
		
	    if (i<50){
	   	
		cout<<"ADICIONAR USUARIO"<<endl;	
		cout<<"Matricula (APENAS NUMEROS): "; cin>>aluno[i].matri; 
		cout<<"Nome: "; fflush(stdin); gets(aluno[i].nome);
	    cout<<"Idade: ";cin>>aluno[i].idade;  
		cout<<"Sexo: ";	cin>>aluno[i].sexo;

        
          
		 
		  
            strcpy(nome,aluno[i].nome);
            cout<<nome[a];
            a++;




	void Salvar(){
		int c;
		char a;
		char arquivo[100];
		FILE *arq;
		system ("cls");
		
		 cout<<"Matricula: "<<aluno[i].matri<<endl;
		
		cout<<"UNICARIOCA - BANCO DE DADOS"<<endl;
		cout<<"SALVAR/CARREGAR ARQUIVO"<<endl;
		
	cout<<endl<<"Nome do Arquivo Externo: ";
    cin>>arquivo;
    strcat(arquivo,".txt");
    arq= fopen (arquivo,"w");
		
		 if (arq != NULL){
    
           
      
	  for (int i=0;i<49;i++){
	  
	
	
	fprintf(arq,"Matricula = %s\n",aluno[i].matri);
    fprintf(arq,"Nome = %s\n",aluno[i].nome);
    fprintf(arq,"Idade = %d\n",aluno[i].idade);
    fprintf(arq,"Media = %s\n",aluno[i].media);
    fprintf(arq,"--------------------\n");
}
}

}


		
	

Boa tarde pessoal, tenho um trabalho da faculdade em que preciso salvar os dados cadastrados em um arquivo txt, o resto do program lê todas as structs normalmente, porém na hora de imprimir é como se os dados sumissem, se eu não digitar nada e apenas criar um arquivo consigo pelo menos ter as escritas em branco, porém se eu entrar com qualquer dado já fica tudo em branco, parte que interessa do código 

  

 

 

 

 

 

 

  • Curtir 1
Postado

Tente usar apenas c++, verá que será mais simples:

	#include <iostream>
	#include <fstream>
	using namespace std;
	
	
	typedef struct 
		{ 
		int matri,idade;
		string nome,sexo;	
		float media;
		}ficha;
		
	
	 ficha aluno[50]; 
	 
	 
	
	int i=0;                               
	float mediaS;
	float av1,av2,av3;
	int idade;
	
	void Add(){
			char a;
			int matricula;
		system ("cls");
		
	     cout<< "UNICARIOCA - BANCO DE DADOS"<<endl;
		
	    if (i<50){
	   	
		cout<<"ADICIONAR USUARIO"<<endl;	
		cout<<"Matricula (APENAS NUMEROS): "; cin>>aluno[i].matri; 
		cout<<"Nome: "; getline(cin, aluno[i].nome);
	    cout<<"Idade: ";cin>>aluno[i].idade;  
		cout<<"Sexo: ";	cin>>aluno[i].sexo;
        i++;
        
	    }
	}

void Salvar(){
	string arquivo;
	system ("cls");
	cout<<"Matricula: "<<aluno[i].matri<<endl;
	cout<<"UNICARIOCA - BANCO DE DADOS"<<endl;
	cout<<"SALVAR/CARREGAR ARQUIVO"<<endl;
	cout<<endl<<"Nome do Arquivo Externo: ";
    cin>>arquivo;
    ofstream arq(arquivo+".txt");
    if (arq.is_open())  for (int j=0;j<i;j++){
	
		arq << "Matricula = " << aluno[i].matri << endl;
        arq << "Nome = " << aluno[i].nome << endl;
        arq << "Idade = " << aluno[i].idade << endl;
        arq << "Media = " << aluno[i].media << endl;
        arq << "--------------------\n";
    }
    arq.close();
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!