Ir ao conteúdo

Posts recomendados

Postado

Boa noite estou fazendo outro exercício de programação.

Fazer um algoritmo em linguagemC no qual o usuário vai digitando sucessivamente valores positivos e salvando estes valores em um vetor de dados. Quando o usuário entrar com um valor negativo,o programa deve parar de

    #include<stdio.h>
    #include <stdlib.h>
    #include<math.h>
    /*Declaraçoes da função*/
    float media (int n, float *vnotas);
    int main (void)
    {
      float vnotas[10];
      float media_notas;
      int i,numero =0;

      /* leitura das notas */
      /*Inicializa a variavel numero com zero para entrar no loop while*/
       while (numero >= 0
      for (i = 0; i < 10; i++)
      {
        printf("Digite os valores das notas: ");
        scanf("%f", &vnotas[i]);
      }
            /*chamando a função*/
      media_notas = media(10,vnotas);

      printf ( "\nMedia = %.1f \n", media_notas );


    }
    /* Função para cálculo da média    */
    float media (int n, float *vnotas)
    {
      int i;
      float m = 0, soma = 0;

      /* Somatorio das notas*/
      for (i = 0; i < n; i++)
        soma = soma + vnotas[i];

      /*dividindo para realizar a media*/
      m = soma / n;

      /*Imprimindo a média*/
      printf(" \n\nA media dos numeros digitados e:%2.f\n\n",m);
      system("pause");
      return 0;
    }

pedir valores e calculara média dos valores já fornecidos(excluindo o valor negativo digitado). Para calcular a média, crie uma função que recebe como parâmetro o vetor de dados e retorna para a função principal a média. Imprima a média na tela usando a função principal.Porque meu while nao para o programa quando digito um numero negativo?

  • Obrigado 1
Postado
24 minutos atrás, Flávio Pedroza disse:

i = 0;
while ((numero >= 0) && (i < 10))
{
	printf("Digite os valores das notas: ");
    scanf("%f", &numero);
    if (numero >= 0) 
  	{
  		vnotas[i]) = numero;
		i++;
  	}
}
  
media_notas = media(i,vnotas);

 

Tentei porém ele nao continua encerrando o programa, após digitado numero negativo.

  • Curtir 1
Postado

Tenta assim:

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

int main(){
    float media = 0;
    float entrada = 0;

    int max = 10;

    for(int i = 0; i < max; ++i){
        printf("Digite a nota [ %i de %i ]: ", (i + 1), max);
        scanf("%f", &entrada);

        if(entrada > 0)
            media += entrada;
        else
            exit(1);
    }

    media /= max;
    printf("A média dos números positivos é: %.2f \n", media);

    return 0;
}

 

  • Curtir 1
Postado
15 minutos atrás, AdrianoSiqueira disse:

Tenta assim:


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

int main(){
    float media = 0;
    float entrada = 0;

    int max = 10;

    for(int i = 0; i < max; ++i){
        printf("Digite a nota [ %i de %i ]: ", (i + 1), max);
        scanf("%f", &entrada);

        if(entrada > 0)
            media += entrada;
        else
            exit(1);
    }

    media /= max;
    printf("A média dos números positivos é: %.2f \n", media);

    return 0;
}

 

O enunciado do exercícios diz que tem que usar função e vetor e ai que estou apanhando um bocado

  • Curtir 1
Postado
    #include<stdio.h>
    #include <stdlib.h>
    #include<math.h>
    /*Declaraçoes da função*/
    float media (int n, float *vnotas);
    int main (void)
    {
      float vnotas[10];
      float media_notas;
      int i;
      float numero =0;

      i = 0;
      while ((numero >= 0) && (i < 10))
      { 
     	printf("Digite os valores das notas: ");
        scanf("%f", &numero);
        if (numero >= 0) 
  	    {
  		    vnotas[i] = numero;
		    i++;
  	    }
      }
  
      media_notas = media (i, vnotas);
      printf ( "\nMedia = %.1f \n", media_notas);
      system("pause");
      return 0;
    }
    /* Função para cálculo da média    */
    float media (int n, float *vnotas)
    {
      int i;
      float m = 0, soma = 0;

      /* Somatorio das notas*/
      for (i = 0; i < n; i++)
        soma = soma + vnotas[i];

      /*dividindo para realizar a media*/
      m = soma / n;

      
      return m;
    }

 

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