Ir ao conteúdo

Posts recomendados

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

int main()
{
	int valor      ,
		valor1 =  0,
		valor2 =  0,
		valor3 =  0,
		valor4 =  0,
		valor5 =  0,
		count  = -1,
		soma  =   0;
		float media;
	
	setlocale(LC_ALL, "Portuguese");
	
	
	
    printf(" |---------------------------------------------------------------------------|\n");
    printf("                                                                        \n\n");
    

	do
	{
    	printf(" Entre com um valor inteiro ou digite 0(Zero) para finalizar o programa=> ");
        scanf("%d", &valor);
        soma = soma + valor; 
        count++;

	    if (valor >= 1 and valor <= 9)
        	valor1++;
        else
		  if (valor >= 10 and valor <= 99)
             valor2++;
		else
		  if (valor >= 100 and valor <= 999)
			 valor3++;
         else
		 if (valor >= 1000 and valor <= 10000)
			valor4++;
		else
		 if (valor >= 1000)
			valor5++;
		if (valor < 0) 
        {
            printf("Atencao!!! voce digitou um valor invalido.");
            break;
        }	
    }
	while(valor != 0);
	
	media=soma/count; 
    printf("\n Você digitou %d números, sendo que:",count);
	printf("\n      Você digitou %d números entre 1 e 9.",valor1);
	printf("\n      Você digitou %d números entre 10 e 99.",valor2);
	printf("\n      Você digitou %d números entre 100 e 999.",valor3);
	printf("\n      Você digitou %d números entre 1000 e 10.000.",valor4);
	printf("\n      Você digitou %d números maiores que 10.000.",valor5);
    printf("\n O calculo da média dos números digitados é => %.2f",media);
    return 0;
}

 

  • Obrigado 1
Postado

@valdimiro martinho ferreir     seu código tem erro nessas linhas :

    printf("Atencao!!! voce digitou um valor invalido.");
    break;
    }
}while(valor != 0);
printf("val soma = %d\n",soma);
if(soma != 0)
    media = (float) soma / count;
printf("\n      Você digitou %d números, sendo que -----------: ",count );
printf("\n      Você digitou %d números entre 1 e 9. ---------: ",valor1);
printf("\n      Você digitou %d números entre 10 e 99. -------: ",valor2);
printf("\n      Você digitou %d números entre 100 e 999. -----: ",valor3);
printf("\n      Você digitou %d números entre 1000 e 10.000. -: ",valor4);
printf("\n      Você digitou %d números maiores que 10.000. --: ",valor5);

 

Postado

@valdimiro martinho ferreir   use o comando "if" e verifique a variavel count que é um contador , e se for -1 , então não digitou nenhum valor valido ,  e seu código ficaria assim  :

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <windows.h>
void textcolor( int,int );
int main()
{
	int valor      ,
        valor1 =  0,
        valor2 =  0,
        valor3 =  0,
        valor4 =  0,
        valor5 =  0,
        count  =  0,
        soma  =   0;
        float media;
    int letra_antes, fundo_antes,cor;
    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);// in
    CONSOLE_SCREEN_BUFFER_INFO c;   //  pega informações do sistema
    if(GetConsoleScreenBufferInfo(h, &c))
    {
        cor         = ( c.wAttributes & 0xFF);
        letra_antes = ( c.wAttributes & 0xFF) & 0x0F;
        fundo_antes = ((c.wAttributes & 0xFF) >> 4) & 0x0F;
    }
    setlocale(LC_ALL, "Portuguese");



    printf(" |---------------------------------------------------------------------------|\n");
    printf("                                                                            \n\n");


    do
    {
        printf(" Entre com um valor inteiro\n");
        printf("  ou digite  0  (  Zero  ) \n");
        printf("  para finalizar o programa  ");
        scanf("%d", &valor);
        soma = (float) ( soma + valor);
        if(valor == 0)
        {
            printf("digitou zero e saiu do Programa . . . !\n");
            if(count == 0)printf("Atenção , Você Não Digitou Nenhum Número . . . !\n\n");
            break;
        }
        printf("val = %d\n",valor);
        count++;
        printf("val = %d\n",valor);
        if (valor >= 1 and valor <= 9)
            valor1++;
        else
            if (valor >= 10 and valor <= 99)
                valor2++;
            else
                if (valor >= 100 and valor <= 999)
                    valor3++;
                else
                    if (valor >= 1000 and valor <= 10000)
                        valor4++;
                    else
                        if (valor >= 1000)
                            valor5++;
        if (valor < 0)
        {
            printf("Atencao!!! voce digitou um valor invalido.");
            count--;
            ///break;
        }
    }while(valor != 0);
    printf("val soma = %d\n",soma);

	if(soma == 0)
    {
        printf("msg de erro !\n\n");
    }
    else
        media = (float) soma / count;
    if( count > 0 )
    {
        textcolor(12,15);
        printf("\n      Você digitou %d números, sendo que :                 ",count);
        printf("\n      Você digitou %d números  entre 1 e 9.                ",valor1);
        printf("\n      Você digitou %d números  entre 10 e 99.              ",valor2);
        printf("\n      Você digitou %d números  entre 100 e 999.            ",valor3);
        printf("\n      Você digitou %d números  entre 1000 e 10.000.        ",valor4);
        printf("\n      Você digitou %d números  maiores que 10.000.         ",valor5);
        printf("\n      O calculo da média dos   números digitados é => %.2f\n",media);
    }
    textcolor(letra_antes,fundo_antes);
    printf("      val de valor = %d\n\n\n",valor);
    return 0;
}
void textcolor( int letras , int fundo )
{
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            letras + ( fundo << 4) );
}

 

  • Curtir 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!