gravar e ler de em aruivo
entao pessoal tenho o seguinte codigo aki so que eu gostaria que ele gravasse e e ler num arquivo txt tipo gravar os dados digitados e depois ler esses dados
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 3
#include <fstream>
using namespace std;
struct REG {
int id;
char nome[50];
char cidade[50];
int idade;
float peso;
FILE *gravar;
};
typedef struct REG REGISTRO;
//###FUNÇÃO RESPONSAVEL PELA LEITURA####
void leitura(REGISTRO &F)
{fflush(stdin);
printf("\n Entre com o nome ");
gets(F.nome);
printf("\n Entre com a cidade ");
gets(F.cidade);
printf("\n Entre com a idade ");
scanf("%d",&F.idade);
printf("\n Entre com o peso ");
scanf("%f",&F.peso);
}
//FIM DA FUNÇAO LEITURA
//###FUNÇÃO RESPONSAVEL POR MOSTRAR REGISTRO####
void mostra(REGISTRO F)
{printf("\n Nome = %s ",F.nome);
printf("\n Cidade = %s ",F.cidade);
printf("\n Idade = %d ",F.idade);
printf("\n Peso = %2.2f \n", F.peso);
}//FIM DA FUNÇAO MOSTRA
//###FUNÇÃO RESPONSAVEL POR PESQUISAR POR NOME####
int pesquisa_nome(REGISTRO v[], char nome[])
{
for (int i=0;i<MAX;i++)
if (strcmp(v[i].nome,nome)==0)
return i;
return -1;
}
//FIM DA FUNÇAO PESQUISAR NOME
//###FUNÇÃO RESPONSAVEL POR PESQUISAR POR CIDADE####
int pesquisa_cidade(REGISTRO v[], char cidade[])
{
for (int i=0;i<MAX;i++)
if (strcmp(v[i].cidade,cidade)==0)
return i;
return -1;
}
//FIM DA FUNÇAO PESQUISAR CIDADE
//MENU
int main()
{REGISTRO A[MAX];
char nome[50];
char cidade[50];
int aux,op;
FILE *gravar;
gravar = fopen("Gravação.dat","w");do{
printf( "|===============================================|\n");
printf( "|\t\tSISTEMA \t\t\t|\n");
printf( "|===============================================|\n");
printf( "|0 - \t\t|\n");
printf( "|1 - Cadastrar \t\t\t\t\t|\n");
printf( "|2 - Mostrar\t\t\t\t\t|\n");
printf( "|3 - Pesquisar Nome\t\t\t\t|\n");
printf( "|4 - Pesquisar Cidade\t\t\t\t|\n");
printf( "|5 - Atualizar\t\t\t\t|\n");
printf( "|6 - Sair\t\t\t\t\t|\n");
printf( "|-----------------------------------------------|\n");
printf( "|Escolha uma opçao|\n");
scanf("%d",&op);
switch (op)
{case 1:
gravar = fopen("Gravação.dat","w");
for (int i=0;i<MAX;i++)
leitura(A[i]);
fclose(gravar);
break;
case 2: for (int i=0;i<MAX;i++)
{printf(" \n i = %d ",i);
mostra(A[i]);
}
break;
case 3:fflush(stdin);
printf("\n Entre com um nome a ser pesquisado ");
gets(nome);
printf("\n o nome lido %s ",nome);
aux = pesquisa_nome(A,nome);
if (aux==-1)
printf("\n Não achou o elemento ");
else
mostra(A[aux]);
break;
case 4:fflush(stdin);
printf("\n Entre com um cidade a ser pesquisado ");
gets(cidade);
printf("\n o cidade lido %s ",cidade);
aux = pesquisa_cidade(A,cidade);
if (aux==-1)
printf("\n Não achou o elemento ");
else
mostra(A[aux]);
break;
}// fim do case
}while (op!=6);
system("PAUSE");
return 0;
}Discussão (1)
Carregando comentários...