Uso do comando fopen
pessoal bom dia,
tenho esse algoritmo pra terminar e não consigo implementar o comando fopen (o nome do arquivo que criei é dados.txt)no meu código para não precisar ficar digitando as informações toda vez que precisar executar a função de pesquisa.. se houver mais algum problema no código ficarei grato se me orientarem.. podem me ajudar ???
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SIZE 200
// declaracao das funcoes
void cadastro(); //cadastro
void pesquisa();// pesquisa
void liberarmem();// liberar a memória usada
// variaveis globais
int op;
int c;
typedef struct aluno {
int ru;
char nome[45];
char email[60];
struct aluno * proximo; // declaracao da estrutura da lista
} t_cad;
t_cad *ini_cad = NULL; // variavel global que ira armazenar o inicio da lista encadeada
int main(int argc, char *argv[]) {
printf(" ALGORITIMO DE LISTA ENCADEADA SIMPLES - Hedson Ferreira R.U. 2411288\n\n Analise e Desenvolvimento de Sistemas - Uninter 2019\n\n");
do {
printf("*========================*\n");
printf("| Escolha uma opcao |\n");
printf("| 1. Cadastrar Aluno |\n");
printf("| 2. Pesquisar Aluno |\n");
printf("| 3. Sair |\n");
printf("*========================*\n");
scanf_s("%d", &op);
switch (op) {
case 1:
cadastro();
break;
case 2:
pesquisa();
break;
case 3:
system("exit");
break;
default:
printf("Opcao Invalida...");
break;
}
} while (op != 3);
void liberarmem();
return 0;
}void cadastro() {
int cont;
int c;
t_cad* prox_cad;
if (ini_cad == NULL)
{
ini_cad = (t_cad*)malloc(sizeof(t_cad));
ini_cad->proximo = NULL;
if (ini_cad == NULL) exit(1);
}
prox_cad = ini_cad;
while (1) {
printf("Digite o RU:");
scanf_s("%d", &prox_cad->ru);
while ((c = getchar()) != '\n' && c != EOF);
printf("Digite o Nome:");
gets_s(prox_cad->nome);
while ((c = getchar()) != '\n' && c != EOF);
printf("Digite o email:");
gets_s(prox_cad->email);
while ((c = getchar()) != '\n' && c != EOF);
printf("Deseja continuar??? (1)SIM e (0)NAO");
scanf_s("\n %d", &cont);
while ((c = getchar()) != '\n' && c != EOF);
if (cont == 0) break;
prox_cad->proximo = (t_cad *)malloc(sizeof(t_cad));
prox_cad = prox_cad->proximo;
prox_cad->proximo = NULL;
}
printf("\n");
}
void pesquisa() {
int ru_aux;
char nome_aux[60];
t_cad* prox_cad;
do {
printf("\n Ecolha o parametro da pesquisa: \n1 RU \n2 Nome :\n0 para sair\n");
scanf_s("%d", &op);
if (op == 0) break;
prox_cad = ini_cad;
switch (op) {
case 1:
printf("\n Digite o RU do Aluno:");
scanf_s("%d", &ru_aux);
while ((c = getchar()) != '\n' && c != EOF);
while (prox_cad != NULL) {
if (prox_cad->ru == ru_aux)
{
printf("ru: %d\n nome:%s\n email:%s", prox_cad->ru, prox_cad->nome, prox_cad->email);
break;
}
prox_cad = prox_cad->proximo;
}
break;
case 2:
printf("\n Digite o nome do Aluno:");
gets_s(nome_aux);
while ((c = getchar()) != '\n' && c != EOF);
while (prox_cad != NULL) {
if (strcmp(prox_cad->nome, nome_aux) == 0)
{
printf("ru: %d\n nome:%s\n email:%s", prox_cad->ru, prox_cad->nome, prox_cad->email);
break;
}
prox_cad = prox_cad->proximo;
}
break;
default:
printf("\n****opcao invalida*****");
break;
}
} while (1);
}void liberarmem()
{
t_cad *prox_cad;
while (ini_cad != NULL) {
prox_cad = ini_cad;
ini_cad = prox_cad->proximo;
free(prox_cad);
}
}Discussão (0)
Carregando comentários...