Ir ao conteúdo
  • Cadastre-se

Allejoo

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

0
  1. No caso a intenção, e procurar pelo RG da pessoa, ai aparece as informações, logo a altura e peso. Com isso, o programa faz automático o cálculo sem eu ter que digitar novamente, sabe? O motivo de float, porque é número com vírgula que quero que dê o resultado.
  2. Boa noite galera do CdH. Estou com dúvidas referente a um exercicio usando struct, vetores e mais função de decisão. Eu não sei como desenvolver o cálculo, queria uma ajuda de vocês. Enredo: Escrever um programa que cadastre o nome, altura, peso e o RG de 5 pessoas. Com os dados cadastrados, em seguida localizar uma pessoa através do seu RG e imprimir o seu IMC (Índice de Massa Corporal). A fórmula para o cálculo do IMC é peso/(altura)². #include <stdio.h>struct pessoa { char nome[40]; float altura; float peso; int RG[10];};int main(){ int IMC; int cont; struct pessoa p1[5]; for(cont = 0; cont < 5; cont++){ printf("Digite o nome da pessoa: "); fflush(stdin); gets(p1[cont].nome); printf("Digite o RG da pessoa [10 caracteres apenas]: "); scanf("%d", &p1[cont].RG); printf("Digite a altura da pessoa: "); scanf("%f", &p1[cont].altura); printf("Digite o peso da pessoa: "); scanf("%f", &p1[cont].peso); } for(cont = 0; cont < 5; cont++){ printf("\nNome da pessoa: %s\n", p1[cont].nome); printf("\nRG: %d\n", p1[cont].RG); printf("\nAltura: %2.f\n", p1[cont].altura); printf("\nPeso: %2.f\n", p1[cont].peso); if(cont >= 0 && cont < 5){ printf("Digite o numero da pessoa: "); scanf("%d", &p1[cont].RG); printf("Nome da pessoa: %s", p1[cont].nome); printf("RG: %d ", p1[cont].RG); printf("Peso: %2.f | Altura: %2.f", p1[cont].peso, p1[cont].altura); IMC = p1[cont].peso / (p1[cont].altura*p1[cont].altura); printf("O IMC da pessoa é %d", IMC); } else printf("RG Cadastrado não encontrado"); } } Por exemplo, não sei como declarar uma função que pegue os dados que inseri, de acordo com o número que digitei (1 a 5, digite 1 — Apareceu Fulano de Tal, RG: 12345678910, Altura: 1,95, Peso: 95kg. Ai depois ele vai calcular ICM: 95/1.95*1,95 — (1,95)² sei que tem diversos erros no programa, ele não está calculando, nem pegando os if. Mas alguém que saiba disto, poderia me dizer no que estou errando? Alguém pode me ajudar? Dar dicas, qualquer coisa .
  3. Bem arrumei algumas coisas aqui, peguei o que você colocou de exemplo, e deu certo =). Fico muito grato pela sua ajuda ^-^.
  4. Isso? #include <stdio.h>struct produto{ int codigo; char produto[50]; int estoque; float valor;};int main(){ int search; int novoestoque; int contador; struct produto p1[5]; for(contador = 0; contador < 5; contador++){ printf("Digite o codigo do produto:\n "); scanf("%d", &p1[contador].codigo); printf("Digite o nome do produto: \n"); fflush(stdin); gets(p1[contador].produto); printf("Digite a quantidade de estoque do produto: \n"); scanf("%d", &p1[contador].estoque); printf("De valor ao produto: \n"); scanf("%f", &p1[contador].valor);} for (contador = 0; contador < 5; contador++){ printf("O codigo do produto: %d ", &p1[contador].codigo); printf("\nNome do produto: %s ", &p1[contador].produto); printf("\nQuantidade de estoque atual do produto: %d ", &p1[contador].estoque); printf("\nValor do produto em reais: %f", &p1[contador].valor);}do{ printf("\nDigite a opcao a seguir:"); printf("\n1 - Localizar todos os produtos"); printf("\n2 - Localizar um produto"); printf("\n3 - Alterar o estoque produto"); scanf("%d", &search); switch(search) { case 1: for(contador = 0; contador < 5; contador++) printf("Produto: %s", &p1[contador].produto); printf("\nCodigo: %d", &p1[contador].codigo); printf("\nExecução feita com sucesso, deseja realizar uma nova acao? Digite s(SIM) ou n(NAO)"); scanf("%s", &search); break; }while(search == 's');//localizar um produto específico case 2: do{ printf("Digite qual produto você deseja localizar (entre 0 a 4): "); scanf("%d", &search); if(search >= 0 && search < 5){ printf("\nNome do produto: %s ", &p1[search].produto); printf("\nQuantidade em estoque disponível: %d ", &p1[search].estoque); printf("\nValor do produto: %f.2f ", &p1[search].valor); } else{ printf("Produto não encontrado"); } printf("\nExecucao feita com sucesso, deseja realizar uma nova acao? Digite s(SIM) ou n(NAO)"); scanf("%s", &search); break; }while (search == 's'); case 3: do{ printf("Digite o produto qual deseja localizar (entre 0 a 4): "); scanf("%d", &search); if (search >= 0 && search < 5){ printf("Nome do produto: ", &p1[search].produto); printf("\nEstoque atual: %d", &p1[search].estoque); printf("\nDigite um novo estoque do produto: "); scanf("%d", &novoestoque); p1[search].estoque = novoestoque; } else{ printf("Produto não encontrado"); } printf("Execucao realizada com sucesso, deseja realizar uma nova acao? Digite s(SIM) ou n(NAO)"); scanf("%s", &search); break; }while (search == 's'); } } Mas ele fica dando esse erro: http://imgur.com/Qfrhkm7
  5. Mesmo eu colocando o Break no case 1, ele continua fazendo a mesma coisa . Eu não to conseguindo achar a solução saca? Por exemplo, se seleciono a opção 3, altero o estoque do produto, quero fazer ele voltar ao menu anterior "Escolha as opções: 1... 2... 3...", saca? Mas ele vai direto, se eu altero o estoque, ele encerra o programa, o que não é pra encerrar :/.
  6. Boa tarde galera do CdH. Estou tentando fazer um programa em C, que receba 5 produtos, após inseridos, o usuário terá a opção de localizar todos, localizar um produto ou alterar um estoque do produto. Porém, não estou conseguindo fazer retornar para o menu, estou a usar o do while e switch. #include <stdio.h>struct produto{ int codigo; char produto[50]; int estoque; float valor;};int main(){ int search; int novoestoque; int contador; struct produto p1[5]; for(contador = 0; contador < 5; contador++){ printf("Digite o codigo do produto:\n "); scanf("%d", &p1[contador].codigo); printf("Digite o nome do produto: \n"); fflush(stdin); gets(p1[contador].produto); printf("Digite a quantidade de estoque do produto: \n"); scanf("%d", &p1[contador].estoque); printf("De valor ao produto: \n"); scanf("%f", &p1[contador].valor);} for (contador = 0; contador < 5; contador++){ printf("O codigo do produto: %d ", &p1[contador].codigo); printf("\nNome do produto: %s ", &p1[contador].produto); printf("\nQuantidade de estoque atual do produto: %d ", &p1[contador].estoque); printf("\nValor do produto em reais: %f", &p1[contador].valor);} printf("\nDigite a opcao a seguir:"); printf("\n1 - Localizar todos os produtos"); printf("\n2 - Localizar um produto"); printf("\n3 - Alterar o estoque produto"); scanf("%d", &search); switch(search) { case 1: do{ for(contador = 0; contador < 5; contador++) printf("Produto: %s", &p1[contador].produto); printf("\nCodigo: %d", &p1[contador].codigo); printf("\nExecução feita com sucesso, deseja realizar uma nova acao? Digite s(SIM) ou n(NAO)"); scanf("%s", &search); }while(search == 's');//localizar um produto específico case 2: do{ printf("Digite qual produto você deseja localizar (entre 0 a 4): "); scanf("%d", &search); if(search >= 0 && search < 5){ printf("\nNome do produto: %s ", &p1[search].produto); printf("\nQuantidade em estoque disponível: %d ", &p1[search].estoque); printf("\nValor do produto: %f.2f ", &p1[search].valor); } else{ printf("Produto não encontrado"); } printf("\nExecucao feita com sucesso, deseja realizar uma nova acao? Digite s(SIM) ou n(NAO)"); scanf("%s", &search); break; }while (search == 's'); case 3: do{ printf("Digite o produto qual deseja localizar (entre 0 a 4): "); scanf("%d", &search); if (search >= 0 && search < 5){ printf("Nome do produto: ", &p1[search].produto); printf("\nEstoque atual: %d", &p1[search].estoque); printf("\nDigite um novo estoque do produto: "); scanf("%d", &novoestoque); p1[search].estoque = novoestoque; } else{ printf("Produto não encontrado"); } printf("Execucao realizada com sucesso, deseja realizar uma nova acao? Digite s(SIM) ou n(NAO)"); scanf("%s", &search); break; }while (search == 's'); }} Queria saber o que está de errado? Porque tipo, as outras opções está tudo ok, porém o programa não retorna ao menu inicial, ele vai para o próximo case. (Case 1 feito, vai pro 2 direto, sem voltar ao menu).

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