Ir ao conteúdo
  • Cadastre-se

Asazaky

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Estou tentando fazer uma questão de Fila circular e gostaria de uma ajuda em como posso identificar o maior valor e a soma dos valores que estão dentro da struct. #include <stdio.h> #include <stdlib.h> /* VARIÁVEIS DE CONTROLES GERAIS */ #define tamanhoFila 3 /* TDE */ typedef struct { int placa; int modelo[10]; int preco; } tCarro; /* ESTRUTURA FILA CIRCULAR */ int numeroItensFila = 0; tCarro fila[tamanhoFila]; int inicio = -1; int final = -1; /* TDAs */ int cheia() { int c = sizeof(fila)/sizeof(tCarro); if (c == numeroItensFila) { c = 1; } else { c = 0; } return c; } int vazia() { int v = 0; if (numeroItensFila == 0) { return 1; } else { return 0; } } void adicionar(tCarro valor) { if (cheia() == 1) { printf("Fila cheia! \n"); } else { if (final == -1) { final = final + 1; inicio = final; } else { if (final == (tamanhoFila - 1)) { final = 0; } else { final = final + 1; } } numeroItensFila = numeroItensFila + 1; fila[final] = valor; } } void remover () { if (vazia() == 1) { printf("Fila vazia! \n"); } else { if (inicio == (tamanhoFila - 1)) { inicio = 0; } else { inicio = inicio + 1; } numeroItensFila = numeroItensFila - 1; } } void listar() { if (vazia() == 1) { printf("Fila vazia! \n"); } else { int i = 1; int p = inicio; for (i = 1; i <= numeroItensFila; i++) { printf("PLACA: %i \t MODELO: %i \t PRECO: %i \n", fila[p].placa, fila[p].modelo, fila[p].preco); if (p == (tamanhoFila - 1)) { p = 0; } else { p = p + 1; } } } } int main(int argc, char *argv[]) { int opc = 0; while(opc != 9) { printf(" \n"); printf(":: FILA ALUNOS ::.. \n"); printf("1. adicionar \n"); printf("2. remover \n"); printf("3. listar \n"); printf("4. somar valores \n"); printf("5. maior valor"); printf("9. sair\n"); printf("Dig. opcao desejada: \n"); scanf("%d", &opc); if (opc == 1) { tCarro novo; scanf("%i", &novo.placa); scanf("%i", &novo.modelo); scanf("%i", &novo.preco); adicionar(novo); } else if (opc == 2) { remover(); } else if (opc == 3) { listar(); } } 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...