Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Júlia Bittencourt

C Erro no programa em c (float)

Recommended Posts

Estou fazendo um programa de agropecuaria

e esta dando um erro

quando coloco o preço ex:46.33 o programa fica repetindo as coisas e só quando eu coloco um numero inteiro ele para e quando vou coferir não mostra os valores com virgula, apenas o valor inteiro

mesmo sendo declarado como float o vetPre:

 

 

 

 

 

 

 

 

 

 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#include <math.h>
#define MAX 5


char vetPro [MAX][51];
char vetCod [MAX][10];
int vetQuan [MAX][10];
float vetPre[MAX];

void alterarVetor(){

    
}
                
        


void inserirVetor(){
    int x,pos=-1;
    for(x=0;x<MAX;x++){
        if(strcmp(vetCod[x],"")==0){
            printf("Nome do Produto:\n");
            fflush(stdin);
            gets(vetPro[x]);
            printf("Código do Produto:\n");
            fflush(stdin);
            gets(vetCod[x]);
            printf("Quantidade do Produto:\n");
            fflush(stdin);
            scanf("%d",&vetQuan[x]);
            printf("Informe o valor do produto:\n");
            fflush(stdin);
            scanf("%f",&vetPre);

            printf("\tProduto inserido com sucesso!");
            
            pos=x;
            system("cls");
            break;
        }
        
    }
    
}

void exibirVetor(){
        printf("\n\n");
    int x, vazio=1;
    for (x=0;x<MAX;x++){
        if(strcmp(vetCod[x],"")!=0){
            if(vazio==1){
                printf("\nCódigo\t\tProduto\t\tQuantidade\t\tPreço");
                printf("\n°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°");
            }
            printf("\n%s\t\t%s\t\t%d\t\t%0.2f",vetCod[x],vetPro[x],vetQuan[x],vetPre[x]);
            vazio = 0;
        }
    }
    if (vazio==1){
        printf("\nNão há produtos no estoque\n\n!!!");
    }
    printf("\n\n");
}


void limparVetor(){
        int x;
    for(x=0;x<MAX;x++){
        if(strcmp(vetCod[x],"")!=0){
            strcpy(vetPro[x],"");
            strcpy(vetCod[x],"");
        
        }
    }
}

    

int main() {
    setlocale(LC_ALL,"Portuguese");

    printf("\n\t\t***BEM-VINDO A AGROPECUÁRIA DO BINO***\n\n\n\n");
    int op=0;
    while(op!=8){
        system("color f4");
        printf("MENU DE OPÇÕES: (digite o número da opção desejada)\n\n");
        printf("1)Inserir produtos no estoque\n");
        printf("2)Editar produto no estoque\n");
        printf("3)Excluir produto do estoque\n");
        printf("4)Exibir produtos no estoque\n");
        printf("5)Calculadora\n");
        printf("6)Venda\n");
        printf("7)Limpar Dados\n");
        printf("8)Sair\n\n\n");
        printf("Opção desejada: ");
        scanf("%d",&op);
        
        if(op==1){
            system("cls");
            printf("***INSERIR PRODUTOS NO ESTOQUE***\n\n");
            inserirVetor();
            
        }
        else if(op==2){
            
        }
        else if(op==3){
            
        }
        
        else if (op==4){
            system("cls");
            printf("***PRODUTOS NO ESTOQUE***\n\n");
            exibirVetor();
        }
        else if(op==5){
            float n1,n2,resultado;
            char operador;
            while(op==5){
            
            printf("\t*****CALCULADORA BÁSICA*****");
                printf("\n\n\n N1:");
                scanf ("%f",&n1);
                system("cls");
                printf("\n Digite o operador (+)(-)(*)(/):");
                scanf ("%s",&operador);
                system("cls");
                printf("\n N2:");
                scanf ("%f",&n2);
                system("cls");
                if (operador== '+') {
                resultado=n1+n2;    
                printf ("\n O resultado é: %0.2f",resultado);
                }
                else
                if (operador=='-') {
                resultado=n1-n2;
                printf ("\n O resultado é: %0.2f",resultado);
                }
                else
                if (operador=='/') {
                resultado=n1/n2;
                printf ("\n O resultado é: %0.2f",resultado);
                }
                else  
                if (operador=='*') {
                resultado=n1*n2;
                printf ("\n O resultado é: %0.2f",resultado);
                }
                printf("\n\nDeseja calcula novamente? (5)Sim (1)Não: ");
                scanf("%d",&op);
                system("cls");
                }
            }
            
        
        
        else if(op==6){
            
            
        }
        else if(op==7){
            limparVetor();
        }
        
    }
}

 

 

image.thumb.png.7c07e90303ec21643a87e5a0727c1701.png

 


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) Você está usando uma matriz multidimensional para armazenar valores do tipo int, sendo que apenas usa o primeiro indice no printf. Troque por vetor.


int vetQuan [MAX][10];
scanf("%d",&vetQuan[x]);

printf("\n%s\t\t%s\t\t%d\t\t%0.2f",vetCod[x],vetPro[x],vetQuan[x],vetPre[x]);

 

2) Na questão do preço, você não usou o índice no scanf:

 

scanf("%f",&vetPre);
scanf("%f",&vetPre[x]);

 

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






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×