Jump to content
Fórum Script Brasil
  • 0

Matriz


Question

Olá, estou iniciando em programação e gostaria de ajuda. Trata-se de uma matriz, o código que criei funcionou em partes. Digo em parte porque quando insiro uma unica palavra o programa se comporta como o esperado. Entretanto quando uso por exemplo um nome composto ele da ruim. Tentei por gets() e também scanf("%30[^\n]s",&nome); más ambos me retornam o mesmo problema primeira volta funciona tudo ok. 
o problema esta na segunda volta ele pula a parte de ler o nome e vai direto pro laco do j. alguém pode me explicar o porque isso acontece? segue abaixo o enunciado e o meu código. 
 

Uma floricultura conhecedora de sua clientela gostaria de fazer um programa em Linguagem C que pudesse controlar sempre um estoque mínimo de determinadas plantas, pois
todo dias, pela manhã, o dono faz novas aquisições. Criar um programa em Linguagem C que deixe cadastrar 50 tipos de plantas e nunca deixar o estoque ficar abaixo do ideal. Para cada planta, o dono gostaria de cadastrar o nome, o estoque ideal e a quantidade em estoque. Dessa forma o programa em Linguagem C pode calcular a quantidade que o dono da loja precisa comprar no próximo dia. Essa quantidade a ser comprada deve ser impressa (quando maior que zero) como uma lista para o dono da floricultura.

 

#include<stdio.h>

main(){
    int estoque[50][2],compra,i,j,qtd_estoque,estoque_ideal;
    char nome[30];
    printf("Floricultura...\n\n");
    printf("Cadastrar plantas : \n");
    for(i=0;i<50;i++){
    
        printf("\nPlanta %d : ",i+1);
        scanf("%30[^\n]s",&nome);
    
        
        for(j=0;j<2;j++){
            if(j==0){
            printf("\nInforme a quantidade atual em estoque  : \n");
            scanf("%d", &estoque[j]);
            qtd_estoque = estoque[j];
            }
            else {
            printf("\nInforme a quantidade para estoque ideal:\n");
             scanf("%d", &estoque[j]);
             estoque_ideal = estoque[j];
            }
                    
        }
        compra = (estoque_ideal-qtd_estoque);
        //system("cls");
        if(compra>0){
            printf("Nome : %s\nEstoque Atual : %d\nEstoque ideal : %d\nQuantidade a ser comprada é de: %d\n",nome,qtd_estoque,estoque_ideal,compra);        
        }    
        else printf("Estoque completo não há necessidade de compra para %s.\n",nome);
        
    }
}

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148680
    • Total Posts
      644502
×
×
  • Create New...