Ir ao conteúdo
  • Cadastre-se
Juan Peixoto

algoritmo misteriosamente parando depois de repetir laço 2 vezes

Recommended Posts

Olá galera! Bem, estou fazendo um algoritmo assim:

temos que informar o produto, valor do produto, dia de compra, e para parar temos que colocar o valor da compra como 0. Temos que informar o total de vendas de todos os dias, de um único dia (que o usuário escolher), e o total de vendas de um produto (que o usuário escolher). Mas o algoritmo para nessa parte:

digite o produto

--

digite a data

--

digite o valor

--

digite o produto

--

digite a data

--

digite o valor

--

depois de informar o 2 valor aparece isso:

 

O algoritmo parou de funcionar, buscando uma solução no windows, e fecha.

 

Algoritmo:

 

#include <cstdlib>
#include <iostream>
#include <string.h>
 
 
 
void soma (int xvalor[100], int quant1)
{ int xsoma,p;
for (p = 0; p < quant1; p++) {
    xsoma = xsoma + xvalor[p];
     }
     printf("A soma total de vendas foi de %d reais.", xsoma);
}
    
    int somaprodutos (int xvalor[100], char xprod[20][100], int quant1, char prod[20])
    { int xresult,p;
    for (p = 0; p < quant1; p++) {
        if (strcmp(prod, xprod[p]) == 0);
         {
                         xresult = xresult + xvalor[p];
                         }
                         }
                         return xresult;
                         }
                         
                         int vendasdodia (int xdata[100], int xvalor[100], int quant1)
                         { int p,xdia, xcalc2;
                         for (p = 0; p < quant1; p++) {
                             if (xdia == xdata[p]) {
                                      xcalc2 = xcalc2 + xvalor[p];
                                      } }
                                      return xcalc2;
                                      }
                                      
                                      
                                      
                                      
    
 
int main(int argc, char *argv[])
 
{ int p, res, res2,n,n2,xdia,quant1, xdata[100],xvalor[100];
char xprod[20][100], prod[20];
quant1 = 0;
for (p = 0; p < 100; p++) {
    printf("Digite o produto.");
    scanf(" %[^\n]s", xprod[p]);
    quant1 = quant1 + 1;
    printf("Digite a data da compra.");
    scanf("%d", xdata[p]);
    printf("Digite o valor do produto.");
    scanf("%d", xvalor[p]);
    if (xvalor[p] == 0) {
                  break;
                  }
                  }
                  soma (xvalor,quant1);
                  printf("Digite um dia.");
                  scanf("%d", xdia);
                  for (p = 0; p < quant1; p++) {
                      if (xdia == xdata[p]) {
                                                printf("Produto: %s, valor: %d reais\n", xprod[p], xvalor[p]);
                                                }
                                                }
                                                res = vendasdodia (xdata,xvalor, quant1);
                                                printf("O valor de vendas nesse dia foi de %d reais.", res);
                                                printf("Digite um produto.");
                                                scanf("%s", prod);
                                                res2 = somaprodutos (xvalor, xprod, quant1, prod);
                                                printf("O valor vendido desse produto foi de %d reais.", res2);
                                                
                   
 
    system("PAUSE");
    return EXIT_SUCCESS;
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei qual é o erro exatamente mas pelo que eu to vendo voce nao ta inicializando algumas variaveis e nao ta passando o endereço da variavel pra scanf

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





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

×