A lanchonete KIKO está informatizando o seu sistema de atendimento ao aluno, e necessita que seja realizado um módulo de vendas, um de controle de estoque e um de contas a pagar. O sistema será realizado em parceria com os alunos dos cursos de TI da universidade. Cada curso ficará responsável por um módulo do sistema, contudo, todos deverá utilizar a linguagem C como a linguagem de programação. A sua participação neste sistema será apenas no módulo de vendas, ou seja, abstraia os outros módulos.
Diante do contexto acima, o módulo de vendas, deve exibir ao usuário, no caso o aluno um menu com a listagem de todos os lanches. Após escolher o tipo de lanche, deverá exibir o lanche escolhido e o seu preço, caso seja digitado um número que não exista no menu exiba uma mensagem de erro.
Menu a ser exibido:
1- X-Bacon
2- X-Salada
Preço dos lanches e formato de saída:
X-Bacon - Preço: R$ 18.00
X-Salada - Preço: R$ 15.00
Soluções para a tarefa
A questão nos pede para fazer um código em C de um módulo de vendas para a lanchonete KIKO. Assim, devemos primeiro exibir um menu com a listagem de todos os lanches. Esse menu deverá ter a seguinte estrutura:
1- X-Bacon
2- X-Salada
Após isso, o usuário deverá colocar o número do lanche que ele quer, para isso, usaremos um scanf. Essa função nos permite ler a informação digitada pelo usuário.
Feito isso, devemos exibir na tela o nome do lanche e o preço. Usaremos um printf para isso, da mesma forma que fizemos com o menu. Caso o usuário escolha um úmero que não existe no menu devemos exibir uma mensagem de erro.
A escolha do lanche pode ser feita de duas formas: através de laços condicionais como o se ... então (if ... else) e o escolha ... caso (switch .. case). Como estamos trabalhando com menus é uma boa prática usar o switch case, já que com muitas opções o if - else tende a se tornar confuso.
Assim, após a adição das bibliotecas padrões e criação da nossa função main, iremos primeiro criar uma variável do tipo inteiro para armazenar a escolha do usuário. Após isso, exibiremos o menu (com a função printf) e leremos a opção escolhida, através do scanf, armazenando o valor na variável inteira op.
O switch case funciona da seguinte maneira:
Ele verifica o que há na variável que estamos trabalhando, no caso op, e se o valor dela for igual ao caso que ele está testando, ele fará o que há nele. Por exemplo, caso op seja igual a 1, o algoritmo irá reproduzir o que há dentro do case 1 e finaliza a estrutura (devido ao break, se não colocarmos o break ele testa os outros valores).
Se o valor de op não for igual a nenhum dos casos que declaramos o switch case executará o que foi definido como padrão (default). Esse artifício é bom para caso o usuário escolha uma opção inválida.
Você pode ver o que foi dito no código abaixo:
#include <stdio.h>
int main(void) {
int op;
printf("MENU\n");
printf("1 - X-Bacon\n2 - X-Salada\n");
scanf("%d", &op);
switch(op){
case 1:
printf("X-Bacon - Preço: R$ 18.00");
break;
case 2:
printf("X-Salada - Preço: R$ 15.00");
break;
default:
printf("Opção inválida");
}
return 0;
}