Ir ao conteúdo

Problema Em C


Computado

Posts recomendados

Postado

Alguem conseguiria ver o erro de porque a minha matriz não esta armazenando numeros float sendo que logo abaixo peço para monstrar os valores nela armazenada e so pega a parte inteira.

#include <stdio.h>

#define CANDIDATOS 1

float verifica_nota(void);

int main(void){

  float matriz[CANDIDATOS][5];

  int matricula[CANDIDATOS];

  int i=0,k,nota;

  int j,p;

  do{

    do{

        p=0;

        printf("Informe a %da. matricula: ",i+1);

        scanf("%d",&matricula);

        for(j=0;j<i-1;j++){

              if(matricula[i-1]==matricula[j]){

                      printf("Matricula já inscrita...\n");

                      i--;

                      p=1;

                      getchar();

                      break;

              }

        }

    }while(p==1);

    for(k=0;k<=4;k++){

             printf("Digite a %d nota: ",k+1);

             nota=verifica_nota();

             matriz[k]=nota;

    }

    i++;

  }while(i < CANDIDATOS);

   for(i=0;i<1;i++){

        for(k=0;k<=4;k++){

             printf("[%d][%d]: %.1f\n",i,k,matriz[k]);

        }

    }

  fflush(stdin);

  getchar();

  return(0);

}

float verifica_nota(void)

{

  float n;

    do{

       scanf("%f", &n);

       if(n<0.0 || n>10.0)

           printf("Nota Invalida! Redigite..:");

    }while(n<0.0 || n>10.0);

  return(n);

}

Postado

Hehe parece coisa divina mesmo....é so eu postar ajuda aqui que logo eu consigo deteclar o erro, bom mas vou colocar em destaque o erro pra q se alguem estiver a mesma duvida que eu tinha souber o que foi, esse erro foi banal, coisas da inexperiencia de programador comecando a programar.

#include <stdio.h>

#define CANDIDATOS 1

float verifica_nota(void);

int main(void){

  float matriz[CANDIDATOS][5];

  int matricula[CANDIDATOS];

  int i=0,k,nota;

  int j,p;

  do{

    do{

        p=0;

        printf("Informe a %da. matricula: ",i+1);

        scanf("%d",&matricula);

        for(j=0;j<i-1;j++){

              if(matricula[i-1]==matricula[j]){

                      printf("Matricula já inscrita...\n");

                      i--;

                      p=1;

                      getchar();

                      break;

              }

        }

    }while(p==1);

    for(k=0;k<=4;k++){

            printf("Digite a %d nota: ",k+1);

            nota=verifica_nota(); //a var nota estava guardando valor int porque ela estava declarada como int.

            matriz[k]=nota;

    }

    i++;

  }while(i < CANDIDATOS);

  for(i=0;i<1;i++){

        for(k=0;k<=4;k++){

            printf("[%d][%d]: %.1f\n",i,k,matriz[k]);

        }

    }

  fflush(stdin);

  getchar();

  return(0);

}

float verifica_nota(void)

{

  float n;

    do{

      scanf("%f", &n);

      if(n<0.0 || n>10.0)

          printf("Nota Invalida! Redigite..:");

    }while(n<0.0 || n>10.0);

  return(n);

}

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!