Elabore um programa em “C++” que simule o funcionamento de uma máquina de venda automática. Deverá ter em conta as seguintes indicações:
- Só aceita moedas de 0.05, 0.10, 0.20, 0.50, 1.00 e 2.00 euros;
- Só dará troco se tiver moedas suficientes para tal;
- Inicialmente a máquina deve ter 5 moedas de 0.05, 0.10, 0.20, 0.50 euros; - Deve vender 6 produtos diferentes;
- Inicialmente deve estar carregada com 5 unidades de cada produto; - Deve dar indicações de produto esgotado e troco indisponível.
A máquina deve permitir escolher o modo Utilizador ou Manutenção. No primeiro, o utilizador deverá introduzir uma quantia, selecionar produto, receber produto e troco caso seja necessário. No modo manutenção, deverá permitir carregar produtos, carregar moedas, tirar moedas (neste caso deve dizer quantas e o valor total), o acesso a este modo tem que ser feito pela validação de um código de acesso (400855).
A parte da manutenção e a parte de dar o troco não to a conseguir fazer
gets(rl);
while(strcmp(rl,resp) !=0)
puts("Resposta errada. Tente de novo.");
gets(rl);
puts("Correcto! ");
}
main()
{
float combeb[5]={1,1.10,1.20,1,0.50};
int indice,moe,cenas,i;
float saldo = 0;
int moeda,creditos;
int stock[6]={5,5,5,5,5,5};
float valor[6] = {0.05,0.10,0.20,0.50,1,2};
int caso = 1;
int TROCO[6];
float troco;
int cont;
int custo=0;
int quantidade;
Pergunta
JoaoSilvaI
Elabore um programa em “C++” que simule o funcionamento de uma máquina de venda automática. Deverá ter em conta as seguintes indicações:
- Só aceita moedas de 0.05, 0.10, 0.20, 0.50, 1.00 e 2.00 euros;
- Só dará troco se tiver moedas suficientes para tal;
- Inicialmente a máquina deve ter 5 moedas de 0.05, 0.10, 0.20, 0.50 euros; - Deve vender 6 produtos diferentes;
- Inicialmente deve estar carregada com 5 unidades de cada produto; - Deve dar indicações de produto esgotado e troco indisponível.
A máquina deve permitir escolher o modo Utilizador ou Manutenção. No primeiro, o utilizador deverá introduzir uma quantia, selecionar produto, receber produto e troco caso seja necessário. No modo manutenção, deverá permitir carregar produtos, carregar moedas, tirar moedas (neste caso deve dizer quantas e o valor total), o acesso a este modo tem que ser feito pela validação de um código de acesso (400855).
A parte da manutenção e a parte de dar o troco não to a conseguir fazer
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<math.h>
#include <conio.h>
extern char resp[ ]="400855";
char rl[40];
int ModoMan(int moe,int cenas)
{
gets(rl);
while(strcmp(rl,resp) !=0)
puts("Resposta errada. Tente de novo.");
gets(rl);
puts("Correcto! ");
}
main()
{
float combeb[5]={1,1.10,1.20,1,0.50};
int indice,moe,cenas,i;
float saldo = 0;
int moeda,creditos;
int stock[6]={5,5,5,5,5,5};
float valor[6] = {0.05,0.10,0.20,0.50,1,2};
int caso = 1;
int TROCO[6];
float troco;
int cont;
int custo=0;
int quantidade;
system("color 0B");
printf("%c",201);
for(i=0;i<30;i++)
printf("%c",205);
printf("%c\n",187);
printf("%c",204);
for(i=0;i<30;i++)
printf("%c",205);
printf("%c\n",185);
while(caso)
{
printf("\nSeu saldo Atual e de: euro%.2f\n\n",saldo);
printf("ESCOLHA A OPCAO:\n\n",186,186);
printf("0 - Sair\n",186,186);
printf("1 - Depositar Moeda\n",186,135,198,186);
printf("2 - Escolher bebidas\n",186,135,198,186);
printf("3 - Modo Admistrador\n",186,198,186);
printf("\nOPCAO:",186,186);
scanf("%i", &caso);
switch(caso)
{
case 1:
{
system("cls");
printf("\n\nDeposite a sua moeda\n\n");
printf("0 - 0.05 centimos\n");
printf("1 - 0.10 centimos\n");
printf("2 - 0.20 centimos\n");
printf("3 - 0.50 centimos\n");
printf("4 - 1 Euro\n");
printf("5 - 2 Euros\n\n");
printf("MOEDA:");
scanf("%i",&moeda);
saldo = saldo + valor[moeda];
break;
}
case 2:
{
system("cls");
printf("\n\nEscolha a bebida que deseja\n");
printf("0 - Sair - 0.50euro\n ");
printf("1 - Ice Tea Limao - 1euro\n");
printf("2 - Ice tea de pêssego - 1.10euro\n");
printf("3 - Bogo - 1.20€\n");
printf("4 - Agua 1L - 1euro\n -");
printf("5 -Bolachas De Agua e sal - 0.50euro\n ");
printf("6 -Bolachas - 0.50euro\n ");
printf("bebidas:\n");
scanf("%i", &indice);
break;
}
case 3:
{
printf("Digite o codigo de acesso: ");
scanf("%c",&rl);
ModoMan(moe,cenas);
printf("1- Carregar produtos\n");
printf("2- Carregar moedas\n");
printf("3- Tirar Moedas\n");
cont = 0;
printf("\n\nO seu troco e:\n\n");
while(cont<6)
{
printf("MOEDAS DE euro%.2f: %i\n", valor[cont], TROCO[cont]);
cont++;
}
saldo = 0;
}
{
printf("\n\n====== Saldo Insuficiente ======");
}
break;
}
if(caso>2)
{
printf("OPCAO INVALIDA!!\n\n");
}
}
if(saldo != 0)
{
cont = 5;
while (cont >= 0)
{
TROCO[cont] = 0;
while(saldo >= valor[cont])
{
TROCO[cont] = TROCO[cont]+1;
saldo = saldo - valor[cont];
}
cont = cont -1;
}
cont = 0;
printf("\n\nO seu troco e:\n\n");
while(cont<6)
{
printf("MOEDAS DE euro%.2f: %i\n", valor[cont], TROCO[cont]);
cont++;
}
saldo = 0;
}
printf("\n\nOBRIGADO! VOLTE SEMPRE!\n\n");
system("PAUSE");
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.