Ir para conteúdo
Fórum Script Brasil

Jeany Soares

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Jeany Soares

Jeany Soares's Achievements

0

Reputação

  1. Boa tarde, Tenho o código a seguir e não estou conseguindo usar a função remover um item que já foi inserido anteriormente : Gostaria de saber como inserir essa função de remover. Obrigada.😃 #include <stdio.h> #include <stdlib.h> #include <string.h> #define TAM 1000 typedef struct { char serie[10]; char nome[50]; char idade[25]; } Aluno; void inicializaLista(Aluno *lista, int n) { int i; for (i = 0; i < n; i++) { strcpy(lista[i].serie,""); strcpy(lista[i].nome,""); strcpy(lista[i].idade,""); } } void copiaAlunosLista2Arquivo(Aluno *lista, int n, char *nomeArquivo) { FILE *procurador = fopen(nomeArquivo,"a"); int i; for (i = 0; i < n; i++) { if (strcmp(lista[i].serie,"") == 0) { break; } fprintf(procurador, "%s ", lista[i].serie); fprintf(procurador, "%s ", lista[i].nome); fprintf(procurador, "%s\n", lista[i].idade); fflush(procurador); } fclose(procurador); } void insereAluno(Aluno *lista, int n) { int i; FILE *procurador = fopen("salvaAlunos.txt","a"); char serie[10]; printf("Serie : "); scanf("%s", serie); fflush(stdin); for (i = 0; i < n; i++) { if (strcmp(lista[i].serie, serie) == 0) { printf("Serie já cadastrada. Voltando para menu\n"); break; } if (strcmp(lista[i].serie,"") == 0) { printf("Aluno sera inserido na posicao %d.\n", i); strcpy(lista[i].serie, serie); fflush(stdin ); printf("Nome: " ); scanf("%s",lista[i].nome ); fflush(stdin ); printf("Sigla idade: " ); scanf("%s", lista[i].idade); fprintf(procurador, "%s " , lista[i].serie); fprintf(procurador, "%s " , lista[i].nome ); fprintf(procurador, "%s\n", lista[i].idade ); break; } } fclose(procurador); if (i == n) printf("Lista cheia!\n"); } int pega_do_arquivoTXT(Aluno *lista, int n){ FILE *fp = fopen("salvaAlunos.txt","r"); if(fp == NULL)return 0; int i=0; while(fscanf(fp,"%s",&lista[i].serie)!= EOF && fscanf(fp,"%s",&lista[i].nome )!= EOF && fscanf(fp,"%s",&lista[i].idade )!= EOF ){ i++; } return 1; } void exibeAlunos(Aluno *lista, int n) { int i; for (i = 0; i < n; i++) { if (strcmp(lista[i].serie,"") == 0) { break; } printf("Serie -: %s\n", lista[i].serie); printf("Nome ------: %s\n", lista[i].nome ); printf("Idade -----: %s\n", lista[i].idade ); printf("-----------------------------------\n"); } } int main() { Aluno lista[TAM]; int opcao,r; inicializaLista(lista, TAM); r = pega_do_arquivoTXT(lista,TAM); do { printf("1 - Insere aluno\n"); printf("2 - Lista alunos\n"); printf("3 - Remove aluno\n"); printf("4 - Sair\n"); printf("Opcao: "); scanf("%d", &opcao); switch (opcao) { case 1 : printf("INSERCAO DE ALUNO !\n\n"); insereAluno(lista,TAM); r=1; break; case 2 : printf("\nEXIBICAO DE ALUNOS !\n\n"); if( r )exibeAlunos(lista, TAM); else printf("Primeiro Insira Os Dados !"); printf("\n\n"); break; case 3 : break; case 4 : break; default : printf("Opcao invalida ! !\n"); } } while (opcao != 4); return 1; }
×
×
  • Criar Novo...