Ir ao conteúdo
  • Cadastre-se

Vagner Wentz

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Tudo que Vagner Wentz postou

  1. Eu estou com um problema... não estou conseguindo resolvar duas opções que é para ser feito no meu trabalho em C 4- Consultar o competidor mais velho 5- Consultar o vencedor da prova Porém, na questão, não fala nada sobre percorrer o arquivo, e eu andei pensando em comparar já na hora de registrar os maratonistas #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> struct Maratonista{ int numeroCadastro; char nomeMaratonista[50]; int idadeMaratonista; int tempoProva; // O tempo de prova será dado em minutos }; FILE *openFile(char *fileName, char *mode) { // Abertura do arquivo FILE *arquivo = NULL; arquivo = fopen(fileName, mode); if (arquivo == NULL) { printf("Erro ao abrir o arquivo!"); return NULL; } return arquivo; } void closeFile(FILE *arquivo) { fclose(arquivo); } void recordData(FILE *arqBin, char *nome, int matricula, int idade) { struct Maratonista marato; strcpy(marato.nomeMaratonista, nome); marato.numeroCadastro = matricula; marato.idadeMaratonista = idade; fwrite(&marato, sizeof(struct Maratonista), 1, arqBin); } void recordTime(FILE *arqBinn, int tempo) { struct Maratonista maratoT; maratoT.tempoProva = tempo; fwrite(&maratoT, sizeof(struct Maratonista), 10, arqBinn); } int main() { system("Color 9"); setlocale(LC_ALL, "Portuguese"); int op; int quantidadeMaratonista = 0; struct Maratonista m; do { printf("1- Cadastrar maratonista\n"); printf("2- Registrar o tempo de prova do maratonista\n"); printf("3- Consultar quantidade de maratonistas\n"); printf("4- Consultar o competidor mais velho\n"); printf("5- Consultar o vencedor da prova\n"); printf("9- Sair\n"); printf("Opção: "); scanf("%d", &op); switch(op) { /*Cadastramento de maratonistas*/ case 1 : printf("Nome: "); scanf("%s", &m.nomeMaratonista); // Apenas o primeiro nome, pois, a verificação será pela matrícula printf("Matrícula: "); scanf("%d", &m.numeroCadastro); printf("Idade: "); scanf("%d", &m.idadeMaratonista); printf("\n"); FILE *file = openFile("dadosMaratonistas.txt", "a+b"); recordData(file, m.nomeMaratonista, m.numeroCadastro, m.idadeMaratonista); closeFile(file); quantidadeMaratonista += 1; break; case 2 : printf("Tempo de prova: "); // Lembrando que o tempo será em minutos scanf("%d", &m.tempoProva); FILE *fileTime = openFile("dadosMaratonistas.txt", "a+b"); recordTime(file, m.tempoProva); closeFile(file); break; case 3 : printf("Quantidade de maratonista: %d\n", quantidadeMaratonista); break; case 4 : printf() } } while(op != 9); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!