/*Algortimo de Controle de Estoque e Cadastro*/
#include <stdio.h>
#include <stdlib.h>
main(){
int i, op, op2, qtd, entradaEstoque, consulProduto, consulCliente,cod[1000],estoque[1000];
double pCompra[1000], pVenda[1000], codClient[1000];
int flagCad=0,FlagClient=0;
cadastrar a partir de onde parou
//sempre que o usuário voltar ao menu principal ele poderá
char desc[1000], categ[1000], nome[1000];
printf("********Controle de Estoque e Cadastro***************");
//menu principal do {
printf("\n **Bem-Vindo** \n");
printf("<1> Cadastro de Produtos\n");
printf("<2> Cadastro de Clientes\n");
printf("<3> Consulta de Estoque\n");
printf("<4> Cadastro de Vendas\n");
printf("<5> Alteração de dados do produto\n");
printf("<6> Entrada de Estoque\n");
printf("<0> Sair\n");
printf("Digite uma opção.: ");
scanf("%d", &op);
//validação para entrada da opção
while ( op != 1 && op != 2 && op != 3 && op!= 4 && op != 5 && op != 6 && op != 0) {
printf("Opção Inválida! Digite novamente.: ");
scanf("%d", &op);
}
switch (op) {
case 1: //Cadastro de Produtos
for(i=flagCad; i < 1000; i++) {
printf("\n\n **Cadastro de Produto** \n\n");
printf("Código.................: ");
scanf("%d", &cod[i]);
while (cod[i] < 0) {
printf("Código Inválido! Por Favor, digite um código positivo.: ");
scanf("%d", &cod[i]);
}
printf("Descrição..............: ");
scanf("%c", desc[i]);
printf("Preço de Compra........: ");
scanf("%f", &pCompra[i]);
while (pCompra[i] <=0) {
printf("Preço Inválido! Por favor, digite um preço maior que 0.: ");
scanf("%f", &pCompra[i]);
}
printf("Preço de Venda.........: ");
scanf("%f", &pVenda[i]);
printf("Categoria do Produto...: ");
scanf("%c", &categ[i]);
printf("Qtd Estoque............: ");
scanf("%d", &estoque[i]);
while (estoque[i] <= 0) {
printf("Qtde Inválida! Por favor, digite uma quantidade maior que 0.: ");
scanf("%d", &estoque[i]);
}
printf("\n**Cadastro realizado com sucesso**\n");
printf("\nDeseja cadastrar mais produtos?");
printf("<1> sim");
printf("<2> não");
printf("Digite uma opção.: ");
scanf("%d", &op2);
while (op2 != 1 && op2 != 2) {
printf("Opção Inválida! Digite novamente.: ");
scanf("%d", &op2);
}
if (op2 == 2) {
flagCad=i+1; //enquanto o programa continuar aberto, sempre que o usuário voltar a tela de
cadastro, continuará na posição do vetor seguinte a que ele parou
i = 999;
}
}
break;
case 2: //tela para cadastro de clientes
for(i=FlagClient; i < 1000; i++) {
printf("\n\n **Cadastro de Clientes** \n\n");
printf("Nome....: ");
scanf("%s", nome[i]);
printf("Digite um Código..: ");
scanf("%f", &codClient[i]);
while (codClient[i] < 0) {
printf("Código Inválido! Por favor, digite um código positivo.: ");
scanf("%f", &codClient[i]);
}
printf("\n**Cadastro realizado com sucesso**\n");
printf("\nDeseja cadastrar mais clientes?\n");
printf("<1> sim");
printf("<2> não");
printf("Digite uma opção.: ");
scanf("%d", &op2);
while (op2 != 1 && op2 != 2) {
printf("Opção Inválida! Digite novamente.: ");
scanf("%d", &op2);
}
if (op2 == 2) {
FlagClient = i+1;
i = 999;
}
}
break;
case 3: //consulta de estoque
do {
printf("\n\n **Consulta de Estoque** \n\n");
printf("Digite o código do produto ou -1 para sair.: ");
scanf("%d", &consulProduto);
while (consulProduto < -1) {
printf("\n Código Inválido! Por favor, digite um código válido.: ");
scanf("%d", &consulProduto);
}
for (i=0; i < 1000; i++) {
if (consulProduto == cod[i]) {
printf("Descrição............:%c",desc[i]);
printf("Código...............:%d", cod[i]);
printf("Categoria do produto.:%d", categ[i]);
printf("Estoque Disponível...:%d", estoque[i]);
i = 999;
}
else {
if (i == 999) { //caso tenha percorrido vetor e não encontrou o código o
programa mostra essa frase
printf("\nProduto não cadastrado! Favor cadastrar na opção 1 no menu\n");
}
}
}
} while (consulProduto != -1);
break;
case 4: //cadastro de Vendas
consulCliente = 0;
while (consulCliente != -1) {
printf("\n\n **Cadastro de Vendas** \n\n");
printf("Digite o código do cliente ou -1 para sair.: ");
scanf("%d", &consulCliente);
while (consulCliente < -1) {
printf("\n Código Inválido! Por favor, digite um código válido.: ");
scanf("%d", &consulCliente);
}
for (i=0; i < 1000; i++) {
if (consulCliente == codClient[i]) {
printf("Nome do Cliente.:%c",nome[i]);
i = 999;
}
else {
if (i == 999) {
printf("\n\nCliente não cadastrado! Favor cadastrar na opção 2 no menu\n\n");
}
}
}
if (consulCliente != -1 ){
//O programa só vai entrar na opção do produto se o código do cliente for válido
printf("Código do Produto.....: ");
scanf("%d", &consulProduto);
while (consulProduto < 0) {
printf("\n Código Inválido! Por favor, digite um código válido.: ");
scanf("%d", &consulProduto);
}
for (i=0; i < 1000; i++) {
if (consulProduto == cod[i]) {
printf("Descrição.:%c", desc[i]);
printf("Digite Qtde adquirida pelo cliente.: ");
scanf("%d", &qtd);
while (consulProduto < 0) {
printf("\n Código Inválido! Por favor, digite um código válido.: ");
scanf("%d", &consulProduto);
}
if (qtd > estoque[i]) { //verifica se tem estoque disponivel do produto
printf("Qtde Indisponível no estoque");
printf("Estoque atual.:%d",estoque[i]);
}
else{
estoque[i] = estoque[i] - qtd;
printf("\n **Cadastro efetuado com sucesso** \n");
}
i = 999; //se o código foi encontrado não é necessário percorrer o vetor
}
else {
if (i == 999) {
printf("\n\nProduto não cadastrado no sistema! Favor cadastrar produto na opção
1\n\n");
}
}
}
}
}
break;
case 5: //alteração de dados
do {
printf("\n\n **Alteração de dados do produto** \n\n");
printf("Digite código ou -1 pra sair.: ");
scanf("%d", &consulProduto);
while (consulProduto < -1) {
printf("Código Inválido! Por favor digite um código válido.: ");
scanf("%d", &consulProduto);
}
if (consulProduto != -1) {
for (i=0; i < 1000; i++) {
if (consulProduto == cod[i]) {
do {
printf("Qual dos itens abaixo você deseja alterar.: \n");
printf("<1> Codigo\n");
printf("<2> Descrição\n");
printf("<3> Preço de Compra");
printf("<4> Preço de Venda");
printf("<0> Voltar");
printf("Digite uma opção.: ");
scanf("%d", &op2);
switch (op2) {
case 1:
printf("Digite o novo código.: ");
scanf("%d", &cod[i]);
while (cod[i] < 0) {
printf("\nCódigo Inválido! Por favor, digite um código acima de 0.: ");
scanf("%d", &cod[i]);
}
printf("\n\n **Código alterado com sucesso** \n\n");
i = 999;
break;
case 2:
printf("Digite a nova descrição.: ");
scanf("%c", desc[i]);
printf("\n\n **Descrição alterada com sucesso** \n\n");
i = 999;
break;
case 3:
printf("Digite o novo preço de compra.: ");
scanf("%e", &pCompra[i]);
while (pCompra[i] <= 0) {
printf("Preço Inválido! Por favor digite novamente");
scanf("%lf", &pCompra);
}
printf("\n\n **Preço de compra alterado com sucesso** \n\n");
i = 999;
break;
case 4:
printf("Digite o novo preço de venda.: ");
scanf("%f", &pVenda);
while (pVenda[i] <= 0) {
printf("Preço Inválido! Por favor digite novamente");
scanf("%f", &pVenda);
}
printf("\n\n **Preço de veda alterado com sucesso** \n\n");
i = 999;
break;
default:
printf("Opção Inválida! Digite novamente.: ");
}
} while (op2 != 0);
}
else {
if (i == 999) {
printf("\nProduto não cadastrado! Por favor, cadastrar na opção 1\n");
}
}
}
}
} while (consulProduto != -1);
break;
case 6:
printf("\n\n **Entrada no Estoque** \n\n");
do {
printf("Digite código do produto ou -1 para sair.: ");
scanf("%d", &consulProduto);
while (consulProduto < -1) {
printf("\nCódigo Inválido! Por favor, digite um código válido.: ");
scanf("%d", &consulProduto);
}
for (i=0; i < 1000; i++) {
if (consulProduto == cod[i]) {
printf("Qtde a entrar.: ");
scanf("%d", &entradaEstoque);
while (entradaEstoque <= 0) {
printf("\nQuantidade Inválida! Por favor, digite uma quantidade maior que 0.: ");
scanf("%d", &entradaEstoque);
}
estoque[i] = estoque[i] + entradaEstoque;
printf("\n **Entrada efetuada com sucesso** \n");
i = 999;
}
}
} while (consulProduto != -1);
break;
case 0:
printf("\n\n **Obrigado por utilizar o programa** \n\n");
printf("\n\n **Fim do Programa** \n\n");
break;
default:
printf("Opção Inválida! Digite novamente");
}
} while (op != 0);
}
Download

Programa em C