Ir para conteúdo
Fórum Script Brasil

Thamires.c27

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Thamires.c27

  1. 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);
            
        }
    }

  2. 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);
            
        }
    }

×
×
  • Criar Novo...