struct

1. struct

mateus da silva
metalicarus1

(usa Ubuntu)

Enviado em 28/10/2017 - 15:56h

Olá, tenho dois problemas que são o seguinte:
1 - Quando escolho a opção "1" e entro no cadastro de produtos o programa pula a etapa de cadastro do "nome", isto é , me deixando cadastrar somente o "codigo" e "estoque minimo". Me disseram que o FFLUSH resolveria esse problema, esse é realmente o método correto?

2 - Quando vou na opção "2 - listar" ele não exibe os valores que foram cadastrado, isto é , a tabela é impressa corretamente só que os valores não são correspondentes.



#include<stdio.h>
#include<strings.h>
#include<string.h>

#define max = 10;

int contador=0 ;


//ESTRUTURA DOS DADOS
struct produtos{
int codigo;
char nome[30];
float precoMedioUnitario;
int quantEstoque;
int estoqueMinimo;
};

struct produtos cadProduto[9];

main(){

menu();


}
// PROCEDIMENTO - VOID MENU
void menu(){
// VARIAVEL PARA ESCOLHA SWITCH
int escolha;


// MENU
printf("1 - Cadastrar um produto");
printf("\n2 - Listar os produtos cadastrados");
printf("\n3 - Consultar os dados de um produto ");
printf("\n4 - Processar uma saida de mercadoria do estoque");
printf("\n5 - Processar uma entrada de mercadoria no estoque");
printf("\n6 - Sair do programa");
//ESCOLHA DE OPERACAO
printf("\nOperacao: ");
scanf("%d", &escolha);

//DESVIO PARA A OPCAO
switch(escolha){
case 1:
cadastro();
break;
case 2:
listar();
break;
case 3:

break;
case 4:

break;
case 5:

break;
case 6:

break;

default:
printf("Valor Invalido");

}
}

// FUNCAO CADASTRO DE PRODUTOS
void cadastro(){

int resultado;
do{
//FORMULARIO DE CADASTRO
printf("Codigo do produto: ");
scanf("%d", &cadProduto[contador].codigo);
printf("\n");


printf("Nome do produto: ");
fgets(cadProduto[contador].nome, 30, stdin);
printf("\n");

printf("Estoque minimo: ");
scanf("%d", &cadProduto[contador].estoqueMinimo);
printf("\n");

contador++;



printf("Deseja cadastrar mais produtos? Precione 1 - Sim ou 2 - Nao:\n");
scanf("%d", &resultado);
while(resultado!=1 && resultado!=2){
printf("\n");
printf("Opcao invalida!");
printf("\n");

printf("Deseja cadastrar mais produtos? Precione 1 - Sim ou 2 - Nao:\n");
scanf("%d", &resultado);


}



} while(resultado!=2);


printf("\nOperacao Concluida com sucesso!\n");
printf("\n");

menu();

}


void listar(){
printf("\n");
for(int i=0; i<contador;i++){
printf("%d | %c | %d | %f | %d\n ",cadProduto[contador].codigo,
cadProduto[contador].nome, cadProduto[contador].quantEstoque,
cadProduto[contador].precoMedioUnitario, cadProduto[contador].estoqueMinimo

);
}


}






  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts