Ir para conteúdo
  • 0
Diego Hamed

Dev c++ programa básico

Pergunta

Olá amigos, sou novo no site e espero conseguir algumas respostas pra alguns programas que ando fazendo para treinar. 

Neste aqui encontro um problema chatinho; ele pede quantos números tu quiser colocar, pegará somente os pares e fará a média, desconsiderando os ímpares, e assim que digitar o nº 0, ele para a contagem e fecha a conta. O problema é que ele considera esse nº0 como parte da conta, adicionando +1 ao contador, gostaria de saber como resolver isso. Aqui vai o programa:

 

#include<stdio.h>
#include<stdlib.h>
imprime(float mean, int sum,int c){
    mean=sum/c;
    printf("The sum is:%.2d\n",sum);
    printf("The mean of the pairs numbers is:%.2f\n",mean);
}

int main()
{
    int n,sum,c; //n= number you pressed , sum= sum of the numbers, c= counter
    float mean; //mean= mean of the numbers
    sum=0;
    c=0;
    printf("This program will make the mean only of the pairs numbers;\nTo end the count, just press 0\n");
    do
 {
        printf("Number:\n");
        scanf("%d",&n);
        
        if(n%2==0)
        sum=sum+n;
        c=c+1;
        if((n%2)!=0)
        c=c;
        sum=sum;
        
        
    }while(n!=0);
    imprime(mean,sum,c);
system("pause");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostas a esta questão

Recommended Posts

  • 0
6 minutos atrás, Prog disse:

if (n == 0) break;

Utilizei o comando, porém não consegui resolver o caso; ele continua fazendo a conta errada, já tentei mudar o WHILE pra DO-WHILE e também não resolveu.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 hora atrás, Diego Hamed disse:

Olá amigos, sou novo no site e espero conseguir algumas respostas pra alguns programas que ando fazendo para treinar. 

Neste aqui encontro um problema chatinho; ele pede quantos números tu quiser colocar, pegará somente os pares e fará a média, desconsiderando os ímpares, e assim que digitar o nº 0, ele para a contagem e fecha a conta. O problema é que ele considera esse nº0 como parte da conta, adicionando +1 ao contador, gostaria de saber como resolver isso. Aqui vai o programa:

#include<stdio.h>
#include<stdlib.h>
imprime(float mean, int sum,int c){
    mean=sum/c;
    printf("The sum is:%.2d\n",sum);
    printf("The mean of the pairs numbers is:%.2f\n",mean);
}


int main()
{
    int n,sum,c; //n= number you pressed , sum= sum of the numbers, c= counter
    float mean; //mean= mean of the numbers
    sum=0;
    c=0;
    printf("This program will make the mean only of the pairs numbers;\nTo end the count, just press 0\n");
    do
 {
        printf("Number:\n");
        scanf("%d",&n);
        
        if(n%2==0)
        sum=sum+n;
        c=c+1;
        if((n%2)!=0)
        c=c;
        sum=sum;
        
        
    }while(n!=0);
    imprime(mean,sum,c);
system("pause");
}

 

Olá, inicie o programa verificando antes se o 0 (zero) foi digitado:

 

#include<stdio.h>
#include<stdlib.h>
imprime(float mean, int sum,int c) {
	mean=sum/c;
	printf("The sum is:%.2d\n",sum);
	printf("The mean of the pairs numbers is:%.2f\n",mean);
}

int main() {
	int n,sum,c; //n= number you pressed , sum= sum of the numbers, c= counter
	float mean; //mean= mean of the numbers
	sum=0;
	c=0;
	printf("This program will make the mean only of the pairs numbers;\nTo end the count, just press 0\n");
	do {
		printf("Number:\n");
		scanf("%d",&n);

		if (n == 0) {//se o numero for 0 não faço a soma
			break;
		} else if(n%2==0) {
			sum=sum+n;
			c=c+1;
			if((n%2)!=0)
				c=c;
			sum=sum;
		}
	} while(n!=0);
	imprime(mean,sum,c);
	system("pause");
}

 

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
3 horas atrás, JosimarNew disse:

 

Olá, inicie o programa verificando antes se o 0 (zero) foi digitado:

 


#include<stdio.h>
#include<stdlib.h>
imprime(float mean, int sum,int c) {
	mean=sum/c;
	printf("The sum is:%.2d\n",sum);
	printf("The mean of the pairs numbers is:%.2f\n",mean);
}

int main() {
	int n,sum,c; //n= number you pressed , sum= sum of the numbers, c= counter
	float mean; //mean= mean of the numbers
	sum=0;
	c=0;
	printf("This program will make the mean only of the pairs numbers;\nTo end the count, just press 0\n");
	do {
		printf("Number:\n");
		scanf("%d",&n);

		if (n == 0) {//se o numero for 0 não faço a soma
			break;
		} else if(n%2==0) {
			sum=sum+n;
			c=c+1;
			if((n%2)!=0)
				c=c;
			sum=sum;
		}
	} while(n!=0);
	imprime(mean,sum,c);
	system("pause");
}

 

Cara, perfeito! Matou a charada, valeu a resposta! É um pouco da minha falta de conceito mesmo que me atrapalhou hehe.

 

  • +1 1

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

  • Conteúdo Similar

    • Por jonata paulino
      Eu tenho 4 colunas com valores numéricos e gostaria de tirar a média linha por linha dessas colunas e criar uma nova com essas médias.
      Obrigado
    • Por EliseuFirmino
      Bom dia pessoal!
       
      Tenho a seguinte consulta: 
       
      SELECT
          to_char(a.dt_entrada,'yyyy') ano,
          COUNT(A.NR_ATENDIMENTO) total_atendimento,
          COUNT(A.NR_ATENDIMENTO)/12 media

      FROM TASY.ATENDIMENTOS_V A
      WHERE decode(upper(:tp_data), 'E', a.dt_entrada, 'A', a.dt_alta)  BETWEEN :DT_INICIAL AND TASY.FIM_DIA(:DT_FINAL)
      and a.dt_cancelamento is null
      and a.cd_setor_atendimento in (126,130, 132, 29)
      and to_number(a.cd_estabelecimento) = 1
      group by to_char(a.dt_entrada,'yyyy')
      order by 1 desc
       
      Com o seguinte retorno:
      ano       total_atendimento                    media
      2018              21570                                1797,5
      2017              21369                                1780,75
      2016              16469                                1372,41666666667
      2015              10736                                894,666666666667
       
      Nela vejo a média de atendimentos em casa ano. Numa consulta de 1 de jan de 2015 até 31 de dez de 2017, tudo funciona normalmente. Mas se eu colocar por exemplo de 1 de jan de 2015 até  30 de set de 2018, tenho um problema. Deveria dividir por 9 e não por 12.
      Alguém saberia me indicar como devo realizar esta consulta de forma a calcular os meses que estão no período indicado, com quebra por ano?
       
    • Por 555545asasasa
      Alguem podia fazer um pequeno codigo de uma Media Ponderada em PHP, com datas ?
       
      $date1 = strtotime("12/16/2016");
      $date2 = strtotime("12/23/2016");
      $date3 = strtotime("01/01/2017");
    • Por Hendrius Félix
      Estou na tentativa de fazer um menu interativo, mas estou com um problema. So fiz a primeira parte do login, e da erro quando o usuario nao possui cadastro... pf me ajudem
       
      obs: Trabalho é para fazer um "app", na vdd so uma amostra pra depois ser programado corretamente...
       
       
       
       
      #include <stdio.h> #include <stdlib.h> #include <locale.h> main() {     setlocale(LC_ALL, "Portuguese");     int opcao, desej;     char cadast_, email[20], senha[16], email_[20], senha_[16];          printf("\tBem vindo ao Home Service!\n");     printf("\t\t1.Login\n");     printf("\t\t2.Opções\n");     printf("\t\t3.Contato\n");     printf("\t\t4.Ajuda\n");     printf("\t\t5.Sair\n");     printf("\t\tOpção\n");     scanf("%d", &opcao);     fflush(stdin);          switch(opcao){         case 1: printf("\tVocê já possui cadastro\?\n");                 scanf("%s",&cadast_);                 switch(cadast_){                 case 'sim':                 case 'Sim':                 case 's':                 case 'S': printf("\t\tEmail: ");                            scanf("%s", &email);                           printf("\t\tSenha: ");                            scanf(" %s", &senha);                           printf("\n\t\tBem Vindo de volta!");                           printf("\n\t\tMenu");                           printf("\n\t\tServiços");                           printf("\n\t\tContato");                           printf("\n\t\tBuscar");                                                                 break;                 case 'nao':                 case 'n':                 case 'N':                 case 'Não':                 case 'não':                 case 'Nao': printf("\tDeseja se Cadastrar\?\n") ;                             scanf("%d", &desej);                             switch(desej)                             {                                 case 'sim':                                 case 'Sim':                                 case 's':                                 case 'S': printf("\t\tInsira seu Email: ");                                            scanf("%s", &email_);                                           printf("\t\tInsira sua Senha: ");                                            scanf(" %s", &senha_);                                           printf("Bem Vindo!");                                           printf("\t\t1.Menu");                                           printf("\t\t2.Serviços");                                           printf("\t\t3.Contato");                                           printf("\t\t4.Buscar"); break;                                case 'nao':                                case 'n':                                case 'N':                                case 'não':                                case 'Nao': printf("Ok, até mais...");break;                             }                 default: puts("Opção Invalida, tente novamente!");break;                 }         case 2: puts("");break;         case 3: puts("");break;         case 4: puts("");break;         case 5: puts("");break;         default: puts("Opção invalida, tente novamente!");break;     }      }  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.