Ir ao conteúdo
  • Cadastre-se

Dúvida em programa


Posts recomendados

Olá, boa tarde. Tenho uma dúvida de acordo com juntar resultador e no final mostrar a soma deles e a média.

O problema é esse: - Ler as informações dos estádios, contendo: Nome, Cidade, Custo, Qtde de Jogos. 

 
 
 Função para mostrar o menu; 
 Função para ler as informações e gravar num arquivo as informações lidas; 
 Função para listar todas as informações dos estádios; 
 Função para mostrar o estádio com o maior custo e o custo médio dos estádios. 
 O programa deve continuar sendo executado até o usuário informar que deseja sair. 
 
o que fiz até agora:
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct copa
{
  char nome[50];
  char cidade[50];
  float custo;
  int qtd_jogos;
};
struct copa Estadios;
 
int contador=0;
int menu();
void ler_cadastro();
void cadastrar();
void listar();
void custo();
 
int main()
{
    int resp;
 
    do
    {
        resp=menu();
        switch (resp)
        {
            case 1:
            ler_cadastro();
            break;
 
            case 2:
            cadastrar();
            break;
 
            case 3:
            listar();
            break;
 
            case 4:
            custo();
            break;
 
            default:
            printf ("\n\n Obrigado pela preferência \n");
        }
     }
        while (resp != 0);
 
            system("PAUSE");
            return 0;
}
int menu()
{
    int esc;
    system ("cls");
 
    printf ("=================MENU==================\n");
    printf ("1-Digitar dados\n");
    printf ("2-Cadastrar\n");
    printf ("3-Listar\n");
    printf ("4-Custo\n");
    printf ("0-Sair\n");
    printf ("                    Desenvolvido por Henrique Dias Soares\n");
    printf ("=======================================\n");
    printf ("Escolha: ");
    scanf("%d",&esc);
 
    while( esc<0 || esc>4)
           {
           printf ("\n voce digitou errado");
           printf ("\n escolha novamente\n\n");
           scanf("%d",&esc);
           }
 
   return esc ;
}
void ler_cadastro()
{
 
    char resposta;
 
    getchar();
    do
    {
    printf ("Digite aqui as informações do estádio\n");
    printf ("Nome: \n");
    gets (&Estadios.nome);
    printf ("Cidade: \n");
    gets (&Estadios.cidade);
    printf ("Custo:\n");
    scanf ("%f", &Estadios.custo);
    printf ("Quantidade de jogos:\n");
    scanf ("%d", &Estadios.qtd_jogos);
    getchar();
 
    contador++;
    system("cls");
 
    printf ("Deseja inserir um estádio? s/n \n");
    gets (&resposta);
 
 
    }
    while (resposta=='s');
 
 
}
void cadastrar()
{
    FILE *Arquivo;
     int gravou;
     char resp;
 
     // faz a abertura do arquivo
     if ((Arquivo = fopen("c:\\teste\teste.txt","a+")) == NULL)
        { printf("\n\nNao foi possivel abrir o arquivo");
           system ("pause");
          return;
        }
 
     do
     {
          ler_cadastro();
 
          // verifica se consegui gravar
          gravou = fwrite(&Estadios, sizeof(Estadios), 1, Arquivo);
          if (gravou != 1)
            { printf("\n\nNao foi possivel gravar no arquivo");
              break;
            }
 
          printf("\nDeseja cadastrar novo estadio? (s/n): ");
          resp = getche();
     } while(resp != 'n' && resp != 'N');
 
     fclose(Arquivo);
}
 
void listar()
{
     FILE *Arquivo;
 
     char resp;
 
 
     Arquivo = fopen("C:\\teste\teste.txt","r");
     if (Arquivo == NULL)
        { printf("\n\nNao foi possivel abrir o arquivo");
          system ("pause");
          return;
        }
     while (!feof (Arquivo))
        { fread(&Estadios, sizeof(Estadios), 1, Arquivo);
          if (!feof(Arquivo))
          {
             printf("\n\nNome: %c, Cidade: %c, Custo: %f, Quantidade de jogos: %d",
                  Estadios.nome, Estadios.cidade,
                  Estadios.custo, Estadios.qtd_jogos);
                  strupr(Estadios.nome);
          }
 
     fclose(Arquivo);
 
     getche();
     system ("pause");
 
 
return;
        }
}
void custo()
{
    printf ("O contador esta em: %i \n", contador);
 
    system ("pause");
}
 
A minha dúvida está na função custo, onde eu tenho que mostrar qual foi o estádio com maior custo e a média entre eles.
Nesta função eu apenas coloquei um teste para ver se meu contador estava funcionando.
 
Aguardo
 
 
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...