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

Matriz


Thamires.c27

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...