Ir ao conteúdo
  • Cadastre-se

C Como contar quantas vezes cada ano apareceu?


ymk

Posts recomendados

Boa tarde! Tenho que colocar o ano de vencimento de cada unidade de um produto e que vencem de 2022 a 2026. Como faço a soma da quantidade de cada ano de vencimento do produto que foi digitado pelo usuário?  Estou começando agora, e ainda não aprendi vetores, alguém saberia me ajudar em como faço para somar sem usar vetores? 

<>

#include <stdio.h>

int main(){

    int ano, qtdEstoque, total=0, soma=0, contador;

        printf("Quantas unidades têm para cadastrar? ");
        scanf("%d", &total);

    for(contador=1; contador<=total; contador++){
        printf("\n Informe o ano do vencimento: ", contador);
        scanf("%d", &ano);
        
    }

    return 0;
}

<>

Ainda estou aprendendo a postar direito aqui...rsrs

 

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, ymk disse:

Como faço a soma da quantidade de cada ano de vencimento do produto que foi digitado pelo usuário?

 

Defina uma variável que represente e guarde as ocorrências de cada ano. Sabendo que os anos vão de 2022 até 2026 precisaria de 5 variáveis.

 

Além disso é preciso selecionar qual ano corresponde a qual variável, objetivando isso use IF-ELSE ou SWITCH. Conhece?

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, mauro_b disse:

 

Defina uma variável que represente e guarde as ocorrências de cada ano. Sabendo que os anos vão de 2022 até 2026 precisaria de 5 variáveis.

 

Além disso é preciso selecionar qual ano corresponde a qual variável, objetivando isso use IF-ELSE ou SWITCH. Conhece?

 

Conheço, mas não tenho ideia de como faço para guardar e somar os anos que aparecem repetidos.  Pense em uma pessoa bem crua em Linguagem C. rsrs Estou travada desde manhã tentando descobrir como faço para somar a quantidade de elementos repetidos.
 

Link para o comentário
Compartilhar em outros sites

Sei que ainda estou errando em alguma coisa, mas não consigo descobrir onde...

#include <stdio.h>

int main(){


    int ano, qtdFoto, total=0, soma=0;
    int contador, contador1, contador2, contador3, contador4, contador5;
    do{
        printf("Quantas fotos têm para cadastrar? ");
        scanf("%d", &total);

        for(contador=1; contador<=total; contador++){
            printf("\n Informe o ano da foto ou digite 0 para finalizar: ");
            scanf("%d", &ano);
            if(ano==2022){
                contador1 = contador1 +1;
            }
            if(ano==2023){
                contador2 = contador2 +1;
            }
            if(ano==2024){
                contador3 = contador3 +1;
            }
            if(ano==2025){
                contador4 = contador4 +1;
            }
            if(ano==2026){
                contador5 = contador5 +1;
            }
        }
    }while(ano=0);
    printf("\n Finalização da leitura.\n");

    printf("\n 2022: %d", contador1);
    printf("\n 2023: %d", contador2);
    printf("\n 2024: %d", contador3);
    printf("\n 2025: %d", contador4);
    printf("\n 2026: %d", contador5);

    return 0;
}

Link para o comentário
Compartilhar em outros sites

48 minutos atrás, ymk disse:

int contador, contador1, contador2, contador3, contador4, contador5;

Inicialize os contadores com valor 0.

 

48 minutos atrás, ymk disse:

do{

 

48 minutos atrás, ymk disse:

while(ano=0);

O operador condicional sugerido é com dois sinais de igual (ano == 0) esqueceu... porém seu objetivo está em suspender o loop se ano tem 0. Sabemos que em C senão é falso (0) é verdadeiro (diferente de  0). Logo bastaria escrever:

 

while ( ano )

 

 

 

Não entendo o propósito desses dois laços juntos while e for. Escolha uma das lógicas porque juntas é redundância.

 

 

48 minutos atrás, ymk disse:

if(ano==2022){
                contador1 = contador1 +1;
            }
            if(ano==2023){
                contador2 = contador2 +1;
            }
            if(ano==2024){
                contador3 = contador3 +1;
            }
            if(ano==2025){
                contador4 = contador4 +1;
            }
            if(ano==2026){
                contador5 = contador5 +1;
            }

Sim! Seu relacionamento lógico está certo.

Link para o comentário
Compartilhar em outros sites

2 horas atrás, mauro_b disse:

Inicialize os contadores com valor 0.

 

 

O operador condicional sugerido é com dois sinais de igual (ano == 0) esqueceu... porém seu objetivo está em suspender o loop se ano tem 0. Sabemos que em C senão é falso (0) é verdadeiro (diferente de  0). Logo bastaria escrever:

 

while ( ano )

 

 

 

Não entendo o propósito desses dois laços juntos while e for. Escolha uma das lógicas porque juntas é redundância.

 

 

Sim! Seu relacionamento lógico está certo.

Depois das suas dicas funcionou!! Obrigada!!

  • Curtir 1
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...

 

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!