Ir ao conteúdo
  • Cadastre-se

C comparação de elementos que estão sendo salvos em cada índice dentro da struct


moisesC

Posts recomendados

Citação

#include <stdio.h>
#include <stdlib.h>

void flush_in(){
    int ch;
    while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){}
}

int main()
{
    int i,num,maior,aux,aux1;
    float media,soma;


    struct os
    {
      float numOs;
      char dataOs[10];
      float valorOs;
      char servico[100];
      char nome[30];
        char cpf [10];
        char datanasc[10];
        char email[50];

    } os[100];
    printf("\n\n            Digite a quantidade de OS que deseja cadastrar: ");
    scanf("%d",&num);


    for(i=0;i<num;i++){
        printf("     ORDEM DE SERVIÇO\n\n");
        printf("Digite o numero da OS: ");
        scanf("%f",&os[i].numOs);
        flush_in();

        if(os[i].numOs==0)
            break;
            else
            {
                printf("\n ===================MECÂNICA SÃO JORGE===================\n\n ");
            }
        printf("Digite a data da OS no formato dd/mm/aaaa: ");
        scanf("%s",os[i].dataOs);
        flush_in();
        printf("Digite o valor da OS: ");
        scanf("%f",&os[i].valorOs);
        flush_in();
       
        printf("Digite o nome do serviço realizado: ");
        scanf("%s",os[i].servico);
        flush_in();

        printf("\n\n     Cadastro do cliente!!! \n");


          printf("\nDigite o nome do cliente: ");
          scanf("%s",os[i].nome);
          flush_in();
          printf("\nDigite o cpf do cliente: ");
          scanf("%s",os[i].cpf);
          flush_in();
          printf("\nDigite a data de nascimento do cliente: ");
          scanf("%s",os[i].datanasc);
          flush_in();
          printf("\nDigite o email do cliente: ");
          scanf("%s*c",os[i].email);
          flush_in();



        soma=soma+os[i].valorOs;
        media=soma/num;
          aux=os[i].valorOs;
           aux1=os[i++].valorOs;
          if(aux<aux1)
            maior=aux1;
          else
            maior=aux1;








    }
    printf("\n A media e: %f\n",media);

    printf("\n A maior e: %d\n",maior);


system ("pause");
    return 0;
}

 

 

adicionado 1 minuto depois

Não funciona,o for só varre o vetor uma vez,mesmo digitando mais de uma Os.

Link para o comentário
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>
struct os{
      float numOs;
      char dataOs[10];
      float valorOs;
      char servico[100];
      char nome[30];
      char cpf [10];
      char datanasc[10];
      char email[50];
} os[100];

void flush_in(){
    int ch;
    while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){}
}

int main()
{
    int i,num,maior = 0;
    float media,soma;
 
    printf("\n\n            Digite a quantidade de OS que deseja cadastrar: ");
    scanf("%d",&num);

    for(i=0; i<num; i++){
        printf("     ORDEM DE SERVIÇO\n\n");
        printf("Digite o numero da OS: ");
        scanf("%f",&os[i].numOs);
        flush_in();

        if(os[i].numOs==0) break;
        else printf("\n ===================MECÂNICA SÃO JORGE===================\n\n ");
    
        printf("Digite a data da OS no formato dd/mm/aaaa: ");
        scanf("%s",os[i].dataOs);
        flush_in();
        printf("Digite o valor da OS: ");
        scanf("%f",&os[i].valorOs);
        flush_in();
       
        printf("Digite o nome do serviço realizado: ");
        scanf("%s",os[i].servico);
        flush_in();

        printf("\n\n     Cadastro do cliente!!! \n");

        printf("\nDigite o nome do cliente: ");
        scanf("%s",os[i].nome);
        flush_in();
        printf("\nDigite o cpf do cliente: ");
        scanf("%s",os[i].cpf);
        flush_in();
        printf("\nDigite a data de nascimento do cliente: ");
        scanf("%s",os[i].datanasc);
        flush_in();
        printf("\nDigite o email do cliente: ");
        scanf("%s*c",os[i].email);
        flush_in();
      
        soma=soma+os[i].valorOs;
        media=soma/num;
        maior = (maior < os[i].valorOs) ? os[i].valorOs : maior;
    }
  
    printf("\n A media e: %f\n",media);
    printf("\n A maior e: %d\n",maior);
    system ("pause");
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...