Ir ao conteúdo
  • Cadastre-se

DaviKS

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

2
  1. DaviKS

    C Como insiro o while

    Ok. Sou novo aqui não sabia.
  2. DaviKS

    C Como insiro o while

    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... }

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

×
×
  • Criar novo...