Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro de Compilação


good guy

Pergunta

Oi pessoal, tenho andado um pouco afastado do estudo de C/C++. Surgiu um probleminha em meu serviço e eu sugeri a um colega que poderia fazer um programinha em C para resolver o problema. Só que não consigo detectar rapidinho um probleminha de compilação em meu código abaixo. Alguém pode ajudar?

#import <stdio.h>
#import <conio.h>

int main() {
       
       
       int i,n;
       float Med[i];
       float soma=0;
       float valorpago;
       printf("Digite o valor pago: ");
       scanf("%f",&valorpago);
       printf("Digite o numero de medicoes a somar: ");
       scanf("%d",&n);
           
       for (i = 1;i<n;i++)
       { 
           printf("Digite um valor: ");
           scanf("%f",&Med[i]);
           fflush(stdin);         
       soma = soma + Med[i];
               
       printf("Total: %.2f\n\n",soma);
       }
       if (soma = valorpago)
      
        {
            printf("VALOR ENCONTRADO. FAVOR BAIXAR DEBITO");
            }
             
       printf("\n");
       getch();
}

Editado por good guy
Adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Seria bom você postar a saída do compilador pra a gente ver qual o erro e qual linha acontece. Mas olhando o seu código parece que o erro tá aqui:

...
float Med[i];
...
Na declaração do vetor você tem que especificar o tamanho dele. Ou você pode tentar isso:
...
printf("Digite o numero de medicoes a somar: ");
scanf("%d",&n);

float Med[n];
...
Muita gente condena essa forma, preferem usar alocação dinâmca usando ponteiros, malloc. Se tiver usando C++ pode fazer assim:
...
printf("Digite o numero de medicoes a somar: ");
scanf("%d",&n);

float *Med= new float[n];
...

Abraço.

Editado por RonaldoRG
Link para o comentário
Compartilhar em outros sites

  • 0

Boa observação Jonathan ,

Misturei as bolas aqui porque também programo em Java e VB.Net que utilizam esta diretiva de inclusão de bibliotecas.

Obrigado também Ronaldo. Mas NÃO está ainda imprimindo a mensagem somente quando a condição é satisfeita ou imprime a mensagem mesmo não satisfeita a condição ao final das iterações. Mas melhorou um pouco, pois na primeira compilação estava imprimindo a mensagem a cada iteração.

#include <stdio.h>
#include <conio.h>

int main() {
       
       
       int i,n;
       //float Med[i];
       float *Med= new float[n];
       float soma=0;
       float valorpago;
       printf("Digite o valor pago: ");
       scanf("%f",&valorpago);
       printf("Digite o numero de medicoes a somar: ");
       scanf("%d",&n);
           
       for (i = 1;i<=n;i++)
       { 
           printf("Digite um valor: ");
           scanf("%f",&Med[i]);
           fflush(stdin);         
       soma = soma + Med[i];
               
       printf("Total: %.2f\n\n",soma);
       }
       if (soma = valorpago)
      
        {
            printf("VALOR ENCONTRADO. FAVOR BAIXAR DEBITO");
            }
             
       printf("\n");
       getch();
}

Editado por Durub
Adicionar tags code [Durub]
Link para o comentário
Compartilhar em outros sites

  • 0

Dei uma melhorada no programa e ficou assim:

códigos aqui

#include <iostream>
#include <stdio.h>
#include <conio.h>
/*
  Name: Combinação de Valores de Ordem Bancária
  Copyright: 2010
  Author: Eduardo Vieira Machado
  Date: 23/07/10 16:00
  Description: Uso de looping para calcular e comparar valores
*/

int main(void) {
       
       
       int i,n,p=0;
       float Med[i]; //vetor de valores das medições
       //float *Med= new float[n];
       char resp;
       float soma=0;
       float valorpago;
       
       system("cls"); //limpa a tela acima
       printf("***********************************************************************\n");
       printf("        COMBINACAO DE VALORES DE ORDEM BANCARIA\n\n");
       printf("***********************************************************************\n\n\n");

       printf("Separe por ponto as casas decimais\n\n");
       printf("\n\n\Digite o valor pago: ");
       scanf("%f",&valorpago);
       fflush(stdin);
       printf("\n\nDigite o numero de medicoes a somar: ");
       scanf("%d",&n);
       fflush(stdin);
       for (i = 0;i<n;i++) //gera um looping para inserir valores em sequência
       { 
           printf("\nDigite o %2do. valor: ",i+1 );
           scanf("%f",&Med[i]);//scanf("%f",&Med);
           fflush(stdin);         
                
       soma = soma + Med[i]; //soma a cada looping os valores que são inseridos
  
       printf("\nTotal: %.2f\n",soma);
       fflush(stdin);
       {
       if (soma==valorpago){
          printf("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n");                  
          printf("VALOR ENCONTRADO. BATE COM VALOR PAGO. BAIXE OS DEBITOS !!!\n\n");
          printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n");
          system("PAUSE");
          system("cls"); //limpa a tela acima
          printf("\n\n\nxxxxxxxxxx RELACAO DE VALORES FORNECIDOS xxxxxxxxxxxxxxx");
          printf("\n\nValor Pago: %.2f \t\n\nQtde de Valores: %d\t\n\nSoma Calculada: %.2f\n ", valorpago, n, soma);
          for (i=0;i<n;i++) //Lista todos os valores do cálculo se a comparação tem sucesso
              {
                  printf("\n\n %d.o Valor Fornecido: %.2f ",i+1,Med[i]);
                  }
          printf("\n\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");                   
          break;
          }
        else 
             if (soma<valorpago){
             printf("\n==>Falta:  %.2f\n",valorpago-soma);
                                                 continue;
             }
        else{
             printf("\n\n==>Ultrapassou:  %.2f\n",soma-valorpago);
                                                 continue; 
             }
        getch();     
             }       
}
    printf("\n\nFim do Programa...");
    getch();
}

OK Pessoal, o programa está funcionando perfeitamente !!!

Editado por good guy
Adicionar tags code [Durub]
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...