Ir para conteúdo
Fórum Script Brasil

GustavoMunhoz

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre GustavoMunhoz

GustavoMunhoz's Achievements

0

Reputação

  1. então minha professora corrigiu o trabalho inteiro o trabalho valia de 0 a 3 , meu grupo tirou 2,5 segunda maior nota da sala so que teve alguns erros vou corrigir os erros e tentar fazer como você falou de usar funcoes ... Obrigado
  2. passei a madruga tentando arruma e parace que deu uma arrumada segue o codigo: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> struct regESPORTE{ int cod_mod; int camp_exc; int num_atletas; char nome_mod[50]; char ambiente[50]; }; struct regATLETA{ int cod_atle; int cod_mod_atle; int camp_exc_atle; char nome_atle[50]; char nacionalidade[50]; int idade; float peso; float altura; char posicao[50]; }; main(){ regESPORTE esporte; regATLETA atleta; FILE *arq; FILE *arq2; int x,sair; int opcao=0,consulta=0,aux=0,posicao=0,achou=0, cont = 0; char opcao2; do{//[1] do{//[2] printf("Banco de dados de cadastro de modalidade e Atletas\n\n\n"); printf("Escolha opcao:\n\n1) Incluir esporte \n2) Alterar esporte pelo codigo \n3) Excluir esporte \n4) Incluir atleta"); printf("\n5) Alterar atleta \n6) Excluir atleta \n7) Consultar atleta por esporte \n8) Encerrar programa\n\n"); scanf("%d",&opcao);fflush(stdin); system("cls"); }while(opcao<1||opcao>8);//[2] switch(opcao){//[3] case 1: arq=fopen("C:\\Esporte.dat", "a+b"); printf("Digite o codigo do esporte: "); scanf("%d",&esporte.cod_mod); fflush(stdin); consulta=esporte.cod_mod; if(arq==NULL){//[4] printf("\nErro na abertura do arquivo\n"); consulta=0; }//[4] else{//[9] x=fread(&esporte,sizeof(esporte),1,arq); while (feof(arq)==0){//[6] if(x!=1){//[5] printf("\nErro no arquivo\n"); consulta=0; }//[5] else{//[7] if(esporte.cod_mod==consulta){//[8] printf("\nEsporte já cadastrado com este codigo!\n"); consulta=0; }//[8] }//[7] x=fread(&esporte,sizeof(esporte),1,arq); }//[6] }//[9] fclose(arq); arq=fopen("c:\\Esporte.dat","ab"); if (esporte.cod_mod!=0&&consulta!=0){//[10] esporte.cod_mod=consulta; printf("Digite o nome da modalidade: "); gets(esporte.nome_mod); printf("Digites o numero de atletas que compoem um equipe dessa modalidade: "); scanf("%d", &esporte.num_atletas); fflush(stdin); printf("Digite o ambiente onde essa modalidade e praticada: "); gets(esporte.ambiente); esporte.camp_exc=0; x=fwrite(&esporte,sizeof(esporte),1,arq); system("cls"); if(x!=1) printf("\nErro na gravacao do esporte!"); fclose(arq); } //[10] break; case 2: printf("Digite o codigo do esporte: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Esporte.dat","rb"); if(arq==NULL) printf("\nErro na abertura do arquivo!\n"); else{ //[11] x=fread(&esporte,sizeof(esporte),1,arq); while(feof(arq) == 0){//[14] if(x != 1){//[12] printf("\nErro no arquivo\n"); }//[12] else{ if(consulta==esporte.cod_mod){//[13] system("cls"); printf("\n===DADOS ATUAIS===\n\n"); printf("Nome da modalidade: %s\n", esporte.nome_mod); printf("Numero de atletas de uma equipe: %d\n", esporte.num_atletas); printf("Ambiente onde a modalide é praticada: %s\n",esporte.ambiente); cont = 1; aux = ftell(arq); // } //[13] }//[14] x = fread(&esporte, sizeof(esporte), 1, arq); }//[11] if(cont < 1){//[15] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; }//[15] // menssagem de erro caso não encontrou fclose(arq); arq=fopen("c:\\Esporte.dat","r+b"); if(arq== NULL){//[16] printf("\nErro na abertura do arquivo!\n"); }//[16] else{//[17] printf("\n===PREENCHA A ALTERACAO===\n\n"); printf("Digite o nome da modalidade: "); gets(esporte.nome_mod); printf("Digite o numero de atletas de uma equipe dessa modalidade: "); scanf("%d",&esporte.num_atletas); fflush(stdin); printf("Digite o nome do ambiente da modalidade: "); gets(esporte.ambiente); printf("Deseja salvar as alteracoes? S/N "); scanf("%c",&opcao2); fflush(stdin); if(opcao2=='s'||opcao2=='S'&&x==1){//[18] fseek(arq,(aux-sizeof(esporte)),SEEK_SET); // //fseek = aux -(sizeof(esporte) x=fwrite(&esporte,sizeof(esporte),1,arq); system("cls"); printf("Dados da modalide alterados!\n"); }//[18] else{//[19] system("cls"); printf("Dados da modalide não alterados!\n"); }//[19] fclose(arq); system("cls"); }//[17] break; case 3: printf("Digite o codigo do esporte: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Esporte.dat","rb"); if(arq==NULL) printf("\nErro na abertura do arquivo!\n"); else{ //[20] x=fread(&esporte,sizeof(esporte),1,arq); while(feof(arq) == 0){//[21] if(x != 1) printf("\nErro no arquivo\n"); else{//[22] if((consulta==esporte.cod_mod)&&(esporte.camp_exc == 0)){//[23] system("cls"); printf("\n===DADOS ATUAIS===\n\n"); printf("Nome da modalidade: %s\n", esporte.nome_mod); printf("Numero de atletas de uma equipe: %d\n", esporte.num_atletas); printf("Ambiente onde a modalide é praticada: %s\n",esporte.ambiente); cont = 1; aux = ftell(arq); // }/*[23]*/ }//[22] x = fread(&esporte, sizeof(esporte), 1, arq); }//[21] if(cont < 1){//[24] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; }//[24] // menssagem de erro caso não encontrou }//[20] fclose(arq); cont=0; arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{//[25] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2)==0){//[26] if(x!=1) printf("\nErro no arquivo\n"); else{//[27] if(consulta==atleta.cod_mod_atle) cont = 1; }//[27] x = fread(&atleta,sizeof(atleta),1,arq2); }//[26] if(cont > 0){//[28] system("cls"); printf("não é possivel excluir, pois existem atletas cadastrados!!"); getchar(); system("cls"); break; }//[28] } //[25] fclose(arq2); arq=fopen("c:\\Esporte.dat","r+b"); if(arq== NULL) printf("\nErro na abertura do arquivo!\n"); else{//[29] printf("Deseja salvar as alteracoes? S/N "); scanf("%c",&opcao2); fflush(stdin); esporte.camp_exc = 1; if((opcao2=='s')||(opcao2=='S')){//[30] fseek(arq,(aux-sizeof(esporte)),SEEK_SET); // //fseek = aux -(sizeof(esporte) x=fwrite(&esporte,sizeof(esporte),1,arq); if (x == 1){//[31] system("cls"); printf("Esporte excluido com sucesso!\n"); }//[31] else{//[32] printf("Erro na exclusao do produto!"); }//[32] }//[30] else{//[33] system("cls"); printf("Esporte não exluido!\n"); system("cls"); }//[33] }//[29] fclose(arq); break; case 4: arq2=fopen("C:\\Atleta.dat", "a+b"); printf("Digite o codigo do atleta: "); scanf("%d",&atleta.cod_atle); fflush(stdin); consulta=atleta.cod_atle; if(arq2==NULL){//[34] printf("\nErro na abertura do arquivo\n"); consulta=0; }//[34] else{//[35] x=fread(&atleta,sizeof(atleta),1,arq2); while (feof(arq2)==0){//[36] if(x!=1){//[37] printf("\nErro no arquivo\n"); consulta=0; }//[37] else{//[38] if(atleta.cod_atle==consulta){//[39] printf("\nAtleta já cadastrado com este codigo!\n"); consulta=0; }//[39] }//[38] x=fread(&atleta,sizeof(atleta),1,arq2); }//[36] }//[35] fclose(arq2); arq2=fopen("c:\\Atleta.dat","ab"); if (atleta.cod_atle!=0&&consulta!=0){//[40] atleta.cod_atle=consulta; printf("Digite o nome do atleta: "); gets(atleta.nome_atle); printf("Digite o codigo da modalidade do atleta: "); scanf("%d", &atleta.cod_mod_atle); fflush(stdin); printf("qual a nacionalidade do atleta?: "); gets(atleta.nacionalidade); printf("Qual a peso do atleta?: "); scanf("%f", &atleta.peso); fflush(stdin); printf("Qual a altura do atleta?: "); scanf("%f", &atleta.altura); fflush(stdin); printf("Qual a posicao do atleta em seu esporte?: "); scanf("%s", &atleta.posicao); fflush(stdin); atleta.camp_exc_atle=0; x=fwrite(&atleta, sizeof(atleta), 1, arq2); system("cls"); if(x!=1) printf("\nErro na gravacao do atleta!"); }//[40] fclose(arq2); break; case 5: printf("Digite o codigo do atleta: "); scanf("%d",&consulta); fflush(stdin); arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{//[41] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2) == 0){//[42] if(x != 1) printf("\nErro no arquivo\n"); else{//[43] if(consulta==atleta.cod_atle){ system("cls"); printf("====DADOS ATUAIS=====\n"); printf("Codigo da modalidade : %d\n",atleta.cod_mod_atle); printf("Nome: %s\n",atleta.nome_atle); printf("Nacionalidade: %s\n",atleta.nacionalidade); printf("idade: %d\n",atleta.idade); printf("peso: %.2f\n",atleta.peso); printf("Altura: %.2f\n",atleta.altura); printf("Posicao : %s\n",atleta.posicao); cont = 1; aux = ftell(arq2); }//[43] }//[42] x = fread(&atleta, sizeof(atleta), 1, arq2); }//[41] if(cont < 1){//[44] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; } //[44] fclose(arq2); arq2=fopen("c:\\Atleta.dat","r+b"); if(arq2== NULL) printf("\nErro na abertura do arquivo!\n"); else{//[45] printf("\n===PREENCHA A ALTERACAO===\n\n"); printf("Digite o nome do atleta: "); gets(atleta.nome_atle); printf("Digite o codigo da modalidade do atleta: "); scanf("%d",&atleta.cod_mod_atle);fflush(stdin); printf("qual a nacionalidade do atleta?: "); gets(atleta.nacionalidade); printf("Qual a peso do atleta?: "); scanf("%f",&atleta.peso);fflush(stdin); printf("Qual a altura do atleta?: "); scanf("%f",&atleta.altura);fflush(stdin); printf("Qual a idade do atleta?: "); scanf("%d",&atleta.idade);fflush(stdin); printf("Qual a posicao do atleta em seu esporte?: "); gets(atleta.posicao); printf("Deseja salvar as alteracoes? S/N "); scanf("%c",&opcao2); fflush(stdin); if((opcao2=='s')||(opcao2=='S')){//[46] fseek(arq2,(aux-sizeof(atleta)),SEEK_SET); x=fwrite(&atleta,sizeof(atleta),1,arq2); system("cls"); printf("Dados do atleta alterados!\n"); }//[46] else{//[47] system("cls"); printf("Dados do atleta não alterados!\n"); }//[47] }//[45] getchar(); system("cls"); fclose(arq2); break; case 6: printf("Digite o codigo do atleta: "); scanf("%d",&consulta); fflush(stdin); arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{ //[20] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2) == 0){//[21] if(x != 1) printf("\nErro no arquivo\n"); else{//[22] if((consulta==atleta.cod_mod_atle)&&(atleta.camp_exc_atle == 0)){//[23] system("cls"); printf("\n===DADOS ATUAIS===\n\n"); printf("Nome do atleta: %s\n", atleta.nome_atle); printf("Codigo da modalidade do atleta: %d\n", atleta.cod_mod_atle); printf("Nacionalidade do atleta: %s\n", atleta.nacionalidade); printf("Idade do atleta: %d\n", atleta.idade); printf("Peso do atleta: %f\n", atleta.peso); printf("Altura do atleta: %f\n", atleta.altura); printf("Posicao do atleta: %s\n", atleta.posicao); cont = 1; aux = ftell(arq2); // }/*[23]*/ }//[22] x = fread(&esporte, sizeof(atleta), 1, arq2); }//[21] if(atleta.camp_exc_atle == 1){//[24] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; }//[24] // menssagem de erro caso não encontrou }//[20] fclose(arq2); arq2=fopen("c:\\Atleta.dat","r+b"); if(arq2== NULL) printf("\nErro na abertura do arquivo!\n"); else{//[29] printf("Deseja excluir esse atleta? S/N "); scanf("%c",&opcao2); fflush(stdin); atleta.camp_exc_atle = 1; if((opcao2=='s')||(opcao2=='S')){//[30] fseek(arq2,(aux-sizeof(atleta)),SEEK_SET); // //fseek = aux -(sizeof(esporte) x=fwrite(&esporte,sizeof(atleta),1,arq2); if (x == 1){//[31] system("cls"); printf("Atleta excluido com sucesso!\n"); }//[31] else{//[32] printf("Erro na exclusao do Atleta!"); }//[32] }//[30] else{//[33] system("cls"); printf("Esporte não exluido!\n"); system("cls"); }//[33] }//[29] fclose(arq2); break; case 7: cont = 0; printf("Digite o codigo do esporte para saber quais atletas a praticam: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Esporte.dat","rb"); if(arq==NULL) printf("\nErro na abertura do arquivo!\n"); else{ x=fread(&esporte,sizeof(esporte),1,arq); while(feof(arq)==0){ if(x != 1){ printf("\nErro no arquivo\n"); } else{ if((consulta==esporte.cod_mod)&&(esporte.camp_exc == 0)){ system("cls"); printf("Modalidade: %s\n\n",esporte.nome_mod); }else { if((consulta==esporte.cod_mod)&&(esporte.camp_exc == 1)) { cont = 1; system("cls"); printf("esporte deletado ou não cadastrado\n"); } } } x = fread(&esporte, sizeof(esporte), 1, arq); } } arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{ x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2)==0){ if(x!=1){ printf("\nErro no arquivo\n"); } else{ if((consulta==atleta.cod_mod_atle)&&(atleta.camp_exc_atle == 0)&&(cont = 1)){ printf("Atleta: %s\n\n",atleta.nome_atle); } } x = fread(&atleta,sizeof(atleta),1,arq2); } } getchar(); system("cls"); fclose(arq2); fclose(arq); break; case 8: exit(1); } } }//[3] }while(opcao!=8);//[1] } ainda assim alguém tem alguma sugestao o q posso melhorar?
  3. Boa Noite Pessoal sou novo no forum e estou cursando o segundo semestre em analise e desenvolvimento de sistemas minha professora pediu para fazermos um programa do seguinte modo: Cada grupo deve determinar os campos, tipos e tamanhos dos registros que serão utilizados na manipulação dos arquivos “Esportes.dat” e “Atletas.dat” (conforme instruções a seguir), bem como criar um programa em C para manter e consultar seus cadastros. Arquivos e registros:  Esportes: arquivo destinado a armazenar modalidades esportivas; deve conter:  código;  nome da modalidade;  campo “excluído”, com valores “0” ou “1”;  e mais 2 (dois) campos (no mínimo).  Atletas: deve conter:  código;  nome;  código da modalidade a que se dedica;  campo “excluído”, com valores “0” ou “1”;  e mais 5 (cinco) campos (no mínimo).  O campo “excluído” deve ser utilizado para realizar a exclusão lógica do arquivo (quando “excluído” for 1, o registro deve ser desconsiderado em consultas). Opções: 1. Inclusão de esporte (código não deve repetir) 2. Alteração de esporte pelo código  buscar o código do esporte no arquivo  exibir um a um (exceto o código), todos os dados do esporte, permitindo que o usuário possa alterá-lo  após percorrer todos os campos, solicitar confirmação das alterações  emitir mensagem final 3. Exclusão de esporte (somente se não houver atletas para o esporte)  buscar o código do esporte no arquivo  exibir dados do esporte  solicitar confirmação da exclusão  realizar a exclusão lógica – campo “excluído”  emitir mensagem final 4. Inclusão de atleta (código não deve repetir)  código do esporte deve existir no arquivo “Esportes.dat” 5. Alteração de atleta  mesmo funcionamento da opção “2”  se o código de esporte for alterado, deve existir no arquivo “Esportes.dat” 6. Exclusão de atleta( mesmo funcionamento da opção “3”) 7. Consulta de atletas por esporte 8. Encerramento do programa eu e meu amigo desenvolvemos o seguinte codigo: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> struct regESPORTE{ int cod_mod; int camp_exc; int num_atletas; char nome_mod[50]; char ambiente[50]; }; struct regATLETA{ int cod_atle; int cod_mod_atle; int camp_exc_atle; char nome_atle[50]; char nacionalidade[50]; int idade; float peso; float altura; char posicao[50]; }; main(){ regESPORTE esporte; regATLETA atleta; FILE *arq; FILE *arq2; int x,sair; int opcao=0,consulta=0,aux=0,posicao=0,achou=0, cont = 0; char opcao2; do{//[1] do{//[2] printf("Banco de dados de cadastro de modalidade e Atletas\n\n\n"); printf("Escolha opcao:\n\n1) Incluir esporte \n2) Alterar esporte pelo codigo \n3) Excluir esporte \n4) Incluir atleta"); printf("\n5) Alterar atleta \n6) Excluir atleta \n7) Consultar atleta por esporte \n8) Encerrar programa\n\n"); scanf("%d",&opcao);fflush(stdin); system("cls"); }while(opcao<1||opcao>8);//[2] switch(opcao){//[3] case 1: arq=fopen("C:\\Esporte.dat", "a+b"); printf("Digite o codigo do esporte: "); scanf("%d",&esporte.cod_mod); fflush(stdin); consulta=esporte.cod_mod; if(arq==NULL){//[4] printf("\nErro na abertura do arquivo\n"); consulta=0; }//[4] else{//[9] x=fread(&esporte,sizeof(esporte),1,arq); while (feof(arq)==0){//[6] if(x!=1){//[5] printf("\nErro no arquivo\n"); consulta=0; }//[5] else{//[7] if(esporte.cod_mod==consulta){//[8] printf("\nEsporte já cadastrado com este codigo!\n"); consulta=0; }//[8] }//[7] x=fread(&esporte,sizeof(esporte),1,arq); }//[6] }//[9] fclose(arq); arq=fopen("c:\\Esporte.dat","ab"); if (esporte.cod_mod!=0&&consulta!=0){//[10] esporte.cod_mod=consulta; printf("Digite o nome da modalidade: "); gets(esporte.nome_mod); printf("Digites o numero de atletas que compoem um equipe dessa modalidade: "); scanf("%d", &esporte.num_atletas); fflush(stdin); printf("Digite o ambiente onde essa modalidade e praticada: "); gets(esporte.ambiente); esporte.camp_exc=0; x=fwrite(&esporte,sizeof(esporte),1,arq); system("cls"); if(x!=1) printf("\nErro na gravacao do esporte!"); fclose(arq); } //[10] break; case 2: printf("Digite o codigo do esporte: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Esporte.dat","rb"); if(arq==NULL) printf("\nErro na abertura do arquivo!\n"); else{ //[11] x=fread(&esporte,sizeof(esporte),1,arq); while(feof(arq) == 0){//[14] if(x != 1){//[12] printf("\nErro no arquivo\n"); }//[12] else{ if(consulta==esporte.cod_mod){//[13] system("cls"); printf("\n===DADOS ATUAIS===\n\n"); printf("Nome da modalidade: %s\n", esporte.nome_mod); printf("Numero de atletas de uma equipe: %d\n", esporte.num_atletas); printf("Ambiente onde a modalide é praticada: %s\n",esporte.ambiente); cont = 1; aux = ftell(arq); // } //[13] }//[14] x = fread(&esporte, sizeof(esporte), 1, arq); }//[11] if(cont < 1){//[15] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; }//[15] // menssagem de erro caso não encontrou fclose(arq); arq=fopen("c:\\Esporte.dat","r+b"); if(arq== NULL){//[16] printf("\nErro na abertura do arquivo!\n"); }//[16] else{//[17] printf("\n===PREENCHA A ALTERACAO===\n\n"); printf("Digite o nome da modalidade: "); gets(esporte.nome_mod); printf("Digite o numero de atletas de uma equipe dessa modalidade: "); scanf("%d",&esporte.num_atletas); fflush(stdin); printf("Digite o nome do ambiente da modalidade: "); gets(esporte.ambiente); printf("Deseja salvar as alteracoes? S/N "); scanf("%c",&opcao2); fflush(stdin); if(opcao2=='s'||opcao2=='S'&&x==1){//[18] fseek(arq,(aux-sizeof(esporte)),SEEK_SET); // //fseek = aux -(sizeof(esporte) x=fwrite(&esporte,sizeof(esporte),1,arq); system("cls"); printf("Dados da modalide alterados!\n"); }//[18] else{//[19] system("cls"); printf("Dados da modalide não alterados!\n"); }//[19] fclose(arq); system("cls"); }//[17] break; case 3: printf("Digite o codigo do esporte: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Esporte.dat","rb"); if(arq==NULL) printf("\nErro na abertura do arquivo!\n"); else{ //[20] x=fread(&esporte,sizeof(esporte),1,arq); while(feof(arq) == 0){//[21] if(x != 1) printf("\nErro no arquivo\n"); else{//[22] if((consulta==esporte.cod_mod)&&(esporte.camp_exc == 0)){//[23] system("cls"); printf("\n===DADOS ATUAIS===\n\n"); printf("Nome da modalidade: %s\n", esporte.nome_mod); printf("Numero de atletas de uma equipe: %d\n", esporte.num_atletas); printf("Ambiente onde a modalide é praticada: %s\n",esporte.ambiente); cont = 1; aux = ftell(arq); // }/*[23]*/ }//[22] x = fread(&esporte, sizeof(esporte), 1, arq); }//[21] if(cont < 1){//[24] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; }//[24] // menssagem de erro caso não encontrou }//[20] fclose(arq); cont=0; arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{//[25] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2)==0){//[26] if(x!=1) printf("\nErro no arquivo\n"); else{//[27] if(consulta==atleta.cod_mod_atle) cont = 1; }//[27] x = fread(&atleta,sizeof(atleta),1,arq2); }//[26] if(cont > 0){//[28] system("cls"); printf("não é possivel excluir, pois existem atletas cadastrados!!"); getchar(); system("cls"); break; }//[28] } //[25] fclose(arq2); arq=fopen("c:\\Esporte.dat","r+b"); if(arq== NULL) printf("\nErro na abertura do arquivo!\n"); else{//[29] printf("Deseja salvar as alteracoes? S/N "); scanf("%c",&opcao2); fflush(stdin); esporte.camp_exc = 1; if((opcao2=='s')||(opcao2=='S')){//[30] fseek(arq,(aux-sizeof(esporte)),SEEK_SET); // //fseek = aux -(sizeof(esporte) x=fwrite(&esporte,sizeof(esporte),1,arq); if (x == 1){//[31] system("cls"); printf("Esporte excluido com sucesso!\n"); }//[31] else{//[32] printf("Erro na exclusao do produto!"); }//[32] }//[30] else{//[33] system("cls"); printf("Esporte não exluido!\n"); system("cls"); }//[33] }//[29] fclose(arq); break; case 4: arq2=fopen("C:\\Atleta.dat", "a+b"); printf("Digite o codigo do atleta: "); scanf("%d",&atleta.cod_atle); fflush(stdin); consulta=atleta.cod_atle; if(arq2==NULL){//[34] printf("\nErro na abertura do arquivo\n"); consulta=0; }//[34] else{//[35] x=fread(&atleta,sizeof(atleta),1,arq2); while (feof(arq2)==0){//[36] if(x!=1){//[37] printf("\nErro no arquivo\n"); consulta=0; }//[37] else{//[38] if(atleta.cod_atle==consulta){//[39] printf("\nAtleta já cadastrado com este codigo!\n"); consulta=0; }//[39] }//[38] x=fread(&atleta,sizeof(atleta),1,arq2); }//[36] }//[35] fclose(arq2); arq2=fopen("c:\\Atleta.dat","ab"); if (atleta.cod_atle!=0&&consulta!=0){//[40] atleta.cod_atle=consulta; printf("Digite o nome do atleta: "); gets(atleta.nome_atle); printf("Digite o codigo da modalidade do atleta: "); scanf("%d", &atleta.cod_mod_atle); fflush(stdin); printf("qual a nacionalidade do atleta?: "); gets(atleta.nacionalidade); printf("Qual a peso do atleta?: "); scanf("%f", &atleta.peso); fflush(stdin); printf("Qual a altura do atleta?: "); scanf("%f", &atleta.altura); fflush(stdin); printf("Qual a posicao do atleta em seu esporte?: "); scanf("%s", &atleta.posicao); fflush(stdin); atleta.camp_exc_atle=0; x=fwrite(&atleta, sizeof(atleta), 1, arq2); system("cls"); if(x!=1) printf("\nErro na gravacao do atleta!"); }//[40] fclose(arq2); break; case 5: printf("Digite o codigo do atleta: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{//[41] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2) == 0){//[42] if(x != 1) printf("\nErro no arquivo\n"); else{//[43] if(consulta==atleta.cod_atle){ system("cls"); printf("====DADOS ATUAIS====="); printf("Codigo do Atleta: %d\n", atleta.cod_atle); printf("Codigo da modalidade : %d\n",atleta.cod_mod_atle); printf("Nome: %s\n",atleta.nome_atle); printf("Nacionalidade: %s\n",atleta.nacionalidade); printf("idade: %d\n",atleta.idade); printf("peso: %f\n",atleta.peso); printf("Altura: %f\n",atleta.altura); printf("Posicao : %s\n",atleta.posicao); cont = 1; aux = ftell(arq); }//[43] }//[42] x = fread(&atleta, sizeof(atleta), 1, arq2); }//[41] if(cont < 1){//[44] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; } //[44] fclose(arq); arq2=fopen("c:\\Atleta.dat","r+b"); if(arq== NULL) printf("\nErro na abertura do arquivo!\n"); else{//[45] printf("\n===PREENCHA A ALTERACAO===\n\n"); printf("Digite o nome do atleta: "); gets(atleta.nome_atle); printf("Digite o codigo da modalidade do atleta: "); scanf("%d",&atleta.cod_mod_atle);fflush(stdin); printf("qual a nacionalidade do atleta?: "); gets(atleta.nacionalidade); printf("Qual a peso do atleta?: "); scanf("%d",&atleta.peso);fflush(stdin); printf("Qual a altura do atleta?: "); scanf("%d",&atleta.altura);fflush(stdin); printf("Qual a idade do atleta?: "); scanf("%d",&atleta.idade);fflush(stdin); printf("Qual a posicao do atleta em seu esporte?: "); gets(atleta.posicao); printf("Deseja salvar as alteracoes? S/N "); scanf("%c",&opcao2); fflush(stdin); if(opcao2=='s'||opcao2=='S'&&x==1){//[46] x=fwrite(&atleta,sizeof(atleta),1,arq2); system("cls"); printf("Dados do atleta alterados!\n"); }//[46] else{//[47] system("cls"); printf("Dados do atleta não alterados!\n"); fclose(arq); }//[47] }//[45] break; case 6: printf("Digite o codigo do atleta: "); scanf("%d",&consulta); fflush(stdin); arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{ //[20] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2) == 0){//[21] if(x != 1) printf("\nErro no arquivo\n"); else{//[22] if((consulta==atleta.cod_mod_atle)&&(atleta.camp_exc_atle == 0)){//[23] system("cls"); printf("\n===DADOS ATUAIS===\n\n"); printf("Nome do atleta: %s\n", atleta.nome_atle); printf("Codigo da modalidade do atleta: %d\n", atleta.cod_mod_atle); printf("Nacionalidade do atleta: %s\n", atleta.nacionalidade); printf("Idade do atleta: %d\n", atleta.idade); printf("Peso do atleta: %f\n", atleta.peso); printf("Altura do atleta: %f\n", atleta.altura); printf("Posicao do atleta: %s\n", atleta.posicao); cont = 1; aux = ftell(arq2); // }/*[23]*/ }//[22] x = fread(&esporte, sizeof(atleta), 1, arq2); }//[21] if(cont < 1){//[24] system("cls"); printf("Codigo não encontrado!!"); getchar(); system("cls"); break; }//[24] // menssagem de erro caso não encontrou }//[20] fclose(arq2); arq2=fopen("c:\\Atleta.dat","r+b"); if(arq2== NULL) printf("\nErro na abertura do arquivo!\n"); else{//[29] printf("Deseja excluir esse atleta? S/N "); scanf("%c",&opcao2); fflush(stdin); atleta.camp_exc_atle = 1; if((opcao2=='s')||(opcao2=='S')){//[30] fseek(arq2,(aux-sizeof(atleta)),SEEK_SET); // //fseek = aux -(sizeof(esporte) x=fwrite(&esporte,sizeof(atleta),1,arq2); if (x == 1){//[31] system("cls"); printf("Esporte excluido com sucesso!\n"); }//[31] else{//[32] printf("Erro na exclusao do produto!"); }//[32] }//[30] else{//[33] system("cls"); printf("Esporte não exluido!\n"); system("cls"); }//[33] }//[29] fclose(arq2); break; case 7: printf("Digite o codigo do esporte para saber quais atletas a praticam: "); scanf("%d",&consulta); fflush(stdin); arq=fopen("c:\\Esporte.dat","rb"); if(arq==NULL) printf("\nErro na abertura do arquivo!\n"); else{//[48] x=fread(&esporte,sizeof(esporte),1,arq); while(feof(arq)==0){//[49] if(x != 1) printf("\nErro no arquivo\n"); else{//[50] if((consulta==esporte.cod_mod)&&(esporte.camp_exc == 0)){//[51] system("cls"); printf("Modalidade: %s\n\n",esporte.nome_mod); }/*[51]*/ if(esporte.camp_exc == 1){ printf("não existe essa modalidade ou modalidade excluida!!"); getchar(); system("cls"); break; } }//[50] x = fread(&esporte, sizeof(esporte), 1, arq); }//[49] }//[48] fclose(arq); arq2=fopen("c:\\Atleta.dat","rb"); if(arq2==NULL) printf("\nErro na abertura do arquivo!\n"); else{//[52] x=fread(&atleta,sizeof(atleta),1,arq2); while(feof(arq2)==0){//[53] if(x!=1) printf("\nErro no arquivo\n"); else{//[54] if(esporte.camp_exc = 1) { break; }else { if((consulta==atleta.cod_mod_atle)&&(atleta.camp_exc_atle == 0)){ printf("Atleta: %s\n\n",atleta.nome_atle); cont = 1; } } }//[54] x = fread(&atleta,sizeof(atleta),1,arq2); }//[53] }//[52] getchar(); system("cls"); fclose(arq2); break; case 8: exit(1); } } }//[3] }while(opcao!=8);//[1] } só que ele esta com uns erros nas opções 5 e 7 que não estou conseguindo solucionar teria como alguém me ajudar? ou me dar alguma visão do erro?
×
×
  • Criar Novo...