Ir ao conteúdo
  • Cadastre-se
HenriqueDiasSoares

Dúvida em programa

Recommended Posts

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
 
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×