Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <conio.h>
- #include<locale.h>
- typedef struct Registro_aluno {
- char nome_aluno[50];
- int data;
- char sex[20];
- int deletado;
- int rf;
- char curso[20];
- };
- struct Registro_aluno aluno;
- void criar(FILE *arquivo);
- void inserir(FILE *arquivo);
- void exibir(FILE *arquivo);
- void pesquisar(FILE *arquivo);
- ////////////////////////////////////CADASTRO ALUNOS////////////////////////////////////
- void inserir(FILE *arquivo){
- arquivo = fopen("Escola.txt","a");
- int i,tam;
- printf("Quantos alunos deseja matricular ? ");
- scanf("%d",&tam);
- (struct aluno*) malloc(tam*sizeof(struct Registro_aluno));//Aloca memória para a estrutura
- if((arquivo = fopen("Escola.txt","a+")) == NULL) {
- exit(0);
- }
- printf("\n----------------------------------------------------------\n\n");
- for(i=0; i<tam; i++) {
- printf("Nome do aluno: ");
- fflush(stdin);
- scanf("%s",aluno.nome_aluno);
- printf("Data de nascimento: ");
- scanf("%d",aluno.data);
- printf("Sexo: ");
- fflush(stdin);
- scanf("%s",aluno.sex);
- printf("Renda familiar: ");
- scanf("%d",aluno.rf);
- printf("Curso: ");
- fflush(stdin);
- scanf("%s",aluno.curso);
- fwrite(&aluno,sizeof(struct Registro_aluno),1,arquivo);
- printf("\n");
- }
- fclose(arquivo);
- printf("Tecle <ENTER> para voltar!");
- getch();
- system("cls");
- }
- /////////////////////////////////Fim CADASTRO ALUNOS//////////////////////////////
- ////////////ALunos matriculados///////////////////////
- void exibir(FILE *arquivo){
- arquivo = fopen("Escola.txt","r");
- if (arquivo == NULL){
- printf("Problemas ao abrir o Arquivo\n");
- }
- printf("\n----------------------------------------------------------\n\n");
- printf("\t\t\tLista de Alunos: \n");
- printf("\n");
- fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
- while(!feof(arquivo)){//Enquanto não chega ao fim do arquivo, lê o aquivo
- printf("Nome do aluno: %s\n",aluno.nome_aluno);
- printf("Data de nascimento: %d\n",aluno.data);
- printf("Sexo: %s\n",aluno.sex);
- printf("Renda Familiar: %d\n",aluno.rf);
- printf("Curso: %s\n",aluno.curso);
- printf("-------------------------------------\n");
- fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
- }
- printf("\n----------------------------------------------------------\n\n");
- printf("Tecle <ENTER> para voltar!");
- getch();
- system("cls");
- }
- ////////////Fim ALunos matriculados///////////////////////
- ////////////////// Pesquisar alunos ////////////////////////////////
- void pesquisar(FILE *arquivo){
- arquivo = fopen("Escola.txt","r");
- char Nomepesquisa[50];
- int achou = 1;
- fflush(stdin);
- printf("\n----------------------------------------------------------\n\n");
- printf("Digite o nome do aluno para buscar: ");
- gets(Nomepesquisa);
- printf("\n");
- rewind(arquivo); //serve para retornar ao começo do arquivo.
- do
- {
- fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
- if(strcmp(Nomepesquisa,aluno.nome_aluno) == 0){
- printf("Nome: %s\n",aluno.nome_aluno);
- printf("Data: %d\n",aluno.data);
- printf("Sexo: %s\n",aluno.sex);
- printf("Renda familiar: %d\n",aluno.rf);
- printf("Curso: %s\n",aluno.curso);
- achou=0;
- printf("\n----------------------------------------------------------\n\n");
- printf("\t\t\tTecle <ENTER> para voltar");
- getch();
- system("cls");
- break;
- }
- }while(!feof(arquivo));
- if(achou!=0){
- printf("Nome nao encontrado\n");
- printf("\n----------------------------------------------------------\n\n");
- }
- }
- //////////////////Fim Pesquisar alunos ////////////////////////////////
- ///////////////////////// alterar dados////////////////////////
- void alterar(FILE *arquivo){
- arquivo = fopen("Escola.txt","r+b");
- struct Registro_aluno aluno;
- char nome[30];
- int posicao = 0;
- int cont=0;
- fseek(arquivo, posicao, SEEK_SET);
- // rewind(arquivo);
- //fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
- //arquivo = fopen("Escola.txt","r+b");
- if (arquivo == NULL){
- printf("Problemas ao abrir o Arquivo\n");
- }
- else{
- fflush(stdin);
- printf("Digite o nome que voce quer alterar: ");
- gets(nome);
- while(&aluno,sizeof(struct Registro_aluno),1,arquivo);{
- if(strcmp(nome,aluno.nome_aluno)==0){
- printf("Nome: %s\n",aluno.nome_aluno);
- printf("Data: %d\n",aluno.data);
- printf("Sexo: %s\n",aluno.sex);
- printf("Renda familiar: %d\n",aluno.rf);
- printf("Curso: %s\n",aluno.curso);
- printf("------------------------------------\n\n");
- printf("Deseja alterar? S/N");
- getch();
- }
- cont++;
- }
- fflush(stdin);
- printf("Digite o Nome: ");
- gets(aluno.nome_aluno);
- printf("Digite a Idade: ");
- gets(aluno.data);
- fflush(stdin);
- printf("Digite o Sexo: ");
- gets(aluno.sex);
- printf("Digite A Renda mensal: ");
- gets(aluno.rf);
- fflush(stdin);
- printf("Digite o Curso: ");
- gets(aluno.curso);
- printf("\n\n");
- //fseek(arquivo,sizeof(struct Registro_aluno)*cont,SEEK_SET);
- //fwrite(&aluno,sizeof(struct Registro_aluno),1,arquivo);
- }
- fclose(arquivo);
- printf("Cadastro alterado com sucesso!,pressione ENTER para voltar");
- getch();
- }
- /////////////////////// Fim alterar ////////////////////////////////
- void criar(FILE *arquivo){
- if((arquivo = fopen("Escola.dat","wb")) == NULL) {
- exit(0);
- }
- fclose(arquivo);
- }
- int main(){
- int op;
- int codigo;
- FILE *arquivo;
- criar(arquivo);
- do {
- system("color 30");
- printf("\t\t\t-----------------------------------\n");
- printf("\t\t\t| MENU |\n");
- printf("\t\t\t-----------------------------------\n");
- printf("\t\t\t| 1 - Cadastrar Alunos |\n");
- printf("\t\t\t| 2 - Alunos matriculados |\n");
- printf("\t\t\t| 3 - Pesquisar Aluno |\n");
- printf("\t\t\t| 4 - Alterar Aluno |\n");
- printf("\t\t\t| 5 - Remover Alunos |\n");
- printf("\t\t\t| 7 - Sair |\n");
- printf("\t\t\t-----------------------------------\n");
- printf("\t\t\tDigite sua opcao: ");
- scanf("%d",&op);
- switch(op){
- case 1:
- system("cls");
- inserir(arquivo);
- break;
- case 2:
- system("cls");
- exibir(arquivo);
- break;
- case 3:
- system("cls");
- pesquisar(arquivo);
- break;
- case 4:
- system("cls");
- alterar(arquivo);
- break;
- case 5:
- break;
- }
- } while(op != 7);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement