-
Posts
2 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por DaviKS
-
-
https://replit.com/@DaviKasmirski/Me-Ajude?v=1
//Foram incluídas as bibliotecas
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <time.h>
//Começamos a fazer o programa com Struct.//Struct 1: Cadastro da Pessoa.
struct {
char nome[30];
char nome1[30];
char senha[20];
char senha1[20];
int idade;
char horas;
char minutos;
} cadastro_pessoa;//Struct 2: Cadastro de Produtos
struct {
int codigo;
char nome_produto[30];
char data[10];
float preco;
int quantidade_produtos;
int estoque_maximo;
int estoque_minimo;
} cadastro_produtos;//Struct 3: A entrada, a saída dos produtos
struct {
int quantidade_retirada;
int quantidade_reposta;
char data[10];
int valor_final;
} saida_entrada_produtos;//Colocmos simples printf's para deixar o programa mais bonirto e adicionamos no programa a Linguagem Portuguesa, acrescentamos caracteres epeciais, tipo "," e até CÓDIOGS ALT(Ex: "█")
int main(void) {
setlocale(LC_ALL, "Portuguese");
printf("\nINICIANDO O PROGRAMA! ");
printf("\n\nAGUARDE...");
printf("\n\nPROGRAMA INICIADO COM SUCESSO!!");
//Primeira parte do Programa: O Cadastro
char cadrasto;//Opção se possuí ou não Cadastro
printf(
"\n\njá possui um cadastro?\nS para SIM\nN para NÃO\n\nsua resposta?: ");
scanf("%s", &cadrasto);
//Informar o nome
if (cadrasto == 'N') {
printf("\n-----cadastro-----");
printf("\n\ninforme o seu nome: ");
scanf("%s", cadastro_pessoa.nome);
//Informar a idade (com a função de não aceitar menores de 18 anos, ex: digitei 12, dá cadastro negado e imediatamente o programa fecha)
printf("informe sua idade: ");
//Usamos o fflush para ignorar o botão "enter"
fflush(stdin);
scanf("%d", &cadastro_pessoa.idade);
{
if (cadastro_pessoa.idade < 18)
{
printf("o programa não aceita menor de idade");
exit(0);
}
}
//Informar a senha
printf("informe uma senha:");
fflush(stdin);
scanf("%s", cadastro_pessoa.senha);
}
//Agora chega a parte do login: informar nome e senha= login efetuado
if (cadrasto == 'S')
{
printf("\n\n----login----\n\n");
// receber nome do usuario
printf("informe seu nome: ");
fflush(stdin);
scanf("%s", cadastro_pessoa.nome1);// informar uma senha
printf("informe sua senha: ");
fflush(stdin);
scanf("%s", cadastro_pessoa.senha1);//comparar se o usuario pois os dados certos
int login_efetuado = 0;//se a pessoa por os dados corretos
if (strcmp(cadastro_pessoa.nome1, cadastro_pessoa.nome) == 0 && strcmp(cadastro_pessoa.senha1, cadastro_pessoa.senha) == 0)
{printf("\nlogin efetuado!!!\n");}//se a pessoa por os dados incorretos
else
{
printf("\n\nDADOS INVALIDOS!\n\n");
exit(0);
}}
//Nova declaração
char novo_produto;
//Começamos a usar o while, para poder determinar um n° de vezes que o usuário e o produto forem cadastrados, até dar um loop infinto se você desejar.
while (novo_produto != 'N') {
// informações sobre o produtos
printf("\n----informações do produto----");// informar nome dos produtos que serão usados
printf("\n\ninforme o nome do produto: ");
scanf("%s", cadastro_produtos.nome_produto);// informar codigo do produto
printf("informe o código do produto: ");
scanf("%d", &cadastro_produtos.codigo);// informar preço que o produtos custara
printf("informar preço do produto em R$: ");
scanf("%f", &cadastro_produtos.preco);// informar a quantidade de produtos
printf("informe a quantidade de produtos: ");
scanf("%d", &cadastro_produtos.quantidade_produtos);// informar o maximo que o produto pode ter no estoque
printf("informe estoque maximo do produto: ");
scanf("%d", &cadastro_produtos.estoque_maximo);// informar o minimo que esse produto pode chegar , criar alerta!
printf("informe estoque minimo: ");
scanf("%d", &cadastro_produtos.estoque_minimo);//caso o estoque maximo seja menor que o minimo ou menor que a quantidade já registrada de produtos
if (cadastro_produtos.estoque_maximo < cadastro_produtos.estoque_minimo ||
cadastro_produtos.estoque_maximo <
cadastro_produtos.quantidade_produtos) {
//Caso você tenha cometido algum erro o programa aponta a mensagem abaixo e encerra
printf("\nERRO!! opções invalidas\nvocê informou errado o seu "
"estoque :(");
return 0;
}//Alertar se o usuário informou alguum dado incorreto
if (cadastro_produtos.estoque_maximo < cadastro_produtos.estoque_minimo ||
cadastro_produtos.estoque_maximo <
cadastro_produtos.quantidade_produtos) {
printf("\nERRO!! opções invalidas\nvocê informou errado o seu "
"estoque :(");
return 0;
}//informar o horario que o produto chegou no estoque
printf("informe a hora e minutos da chegada do produto no estoque:");
scanf("%s:%s" , &cadastro_pessoa.horas , &cadastro_pessoa.minutos);if (cadastro_pessoa.horas < 24 ){
printf("horario informado errado");
return 0;
}
if (cadastro_pessoa.minutos < 60){
printf ("Minutos informado errado");
return 0;
}
// testar as opções do usuário(1 e 2)
int opcao;
//Usuário 1:
printf("\n-digite 1: para informar a quantidade retirada do estoque "
//Usuário 2:
"\n\n-digite 2: para informar a quantidade reposta no "
"estoque\n\nEscolha uma das opções: ");
scanf("%d", &opcao);// caso usuario escolha opção 1 , iformara a quantidade retirada
if (opcao == 1) {
printf("\ninforme o código do produto: ");
scanf("%d", &cadastro_produtos.codigo);
printf("\ninforme a quantidade retirada do estoque: ");
fflush(stdin);
scanf("%d", &saida_entrada_produtos.quantidade_retirada);
}
// casa usuario escolha opção 2 , informarás a quantidade somada ao estoque
if (opcao == 2) {
printf("\n\ninforme o código do produto: ");
scanf("%d", &cadastro_produtos.codigo);printf("\ninforme a quantidade reposta do estoque: ");
fflush(stdin);
scanf("%d", &saida_entrada_produtos.quantidade_reposta);
}// opção invalida , mensagem de erro vai aparecer
if (opcao != 1 && opcao != 2) {
printf("\nopção invalida! ");
}printf("\n\n---Resumo---");
printf("\nhoras de chegada do produto:%s:%s", &cadastro_pessoa.horas , &cadastro_pessoa.minutos);
// atribuir valor apos usuario ter escolhido opção//mostrar valor retirada do estoque
if (opcao == 1) {
//Novo resultado! perante ao dados informados
printf("\n\nNovo total do produto: %d %s",
cadastro_produtos.quantidade_produtos -
saida_entrada_produtos.quantidade_retirada,
cadastro_produtos.nome_produto);
//Quantidade de produtos, de retirada e valor final.
saida_entrada_produtos.valor_final =
cadastro_produtos.quantidade_produtos -
saida_entrada_produtos.quantidade_retirada;fflush(stdin);
//Estoque Médio
printf("\nEstoque médio: %d %s",
(cadastro_produtos.estoque_maximo +
cadastro_produtos.estoque_minimo) /
2,
cadastro_produtos.nome_produto);fflush(stdin);
}// mostrar a quantidade reposta no estoque
if (opcao == 2) {
printf("\n\nQuantidade atualizada: %d",
cadastro_produtos.quantidade_produtos +
saida_entrada_produtos.quantidade_reposta);fflush(stdin);
saida_entrada_produtos.valor_final =
cadastro_produtos.quantidade_produtos -
saida_entrada_produtos.quantidade_retirada;fflush(stdin);
printf("\nEstoque médio: %d", (cadastro_produtos.estoque_maximo +
cadastro_produtos.estoque_minimo) /
2);fflush(stdin);
}//caso o usuario deseja registrar um novo produto
printf("\n\nescreva S para SIM\nescreva N para NÃO\n\ndeseja registrar um "
"novo produto?: ");
fflush(stdin);
scanf("%s", &novo_produto);
}
//Revela os valores atuais
printf("\n----Valores atuais----\n");//Nome do produto
printf("\nNome do produto: %s", cadastro_produtos.nome_produto);
getchar();
//Código do prodto
printf("\nCodigo do produto: %d", cadastro_produtos.codigo);
//Quantidade em estoque
printf("\nQuantidade de produtos em estoque: %d",
saida_entrada_produtos.valor_final);
// Continua...
}- 1
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Como insiro o while
em C/C#/C++
Postado
Ok. Sou novo aqui não sabia.