Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <windows.h>
- struct cafeteira {
- int codigo;
- float quantidade;
- int luzLigada;
- int luzSemCafe;
- int luzFazendoCafe;
- char mensagem[21];
- };
- typedef struct cafeteira TipoCafeteira;
- TipoCafeteira criar (TipoCafeteira);
- TipoCafeteira ligar (TipoCafeteira);
- TipoCafeteira desligar (TipoCafeteira);
- TipoCafeteira repositorioVazio(TipoCafeteira);
- void imprimir(TipoCafeteira);
- TipoCafeteira reporCafe(float, TipoCafeteira cafe);
- TipoCafeteira fazerCafe(TipoCafeteira cafe);
- TipoCafeteira criar(TipoCafeteira cafeteira){
- srand(time(0));
- cafeteira.codigo = rand() % 1000;
- cafeteira.quantidade = 0;
- cafeteira.luzLigada = 0;
- cafeteira.luzSemCafe = 0;
- cafeteira.luzFazendoCafe = 0;
- cafeteira.mensagem[0] = '\0';
- return cafeteira;
- }
- TipoCafeteira ligar(TipoCafeteira cafe){
- int cond = 1;
- printf("Gostaria de ligar a cafeteira? [1 para sim ou 0 para nao]\n");
- scanf("%d", &cond);
- if(cond== 1){
- cafe.luzLigada = 1;
- char msg[] = "Ligada\n\n";
- for(int i = 0; i < 7; i++)
- {
- cafe.mensagem[i] = msg[i];
- }
- imprimir(cafe);
- }
- return cafe;
- }
- TipoCafeteira desligar(TipoCafeteira cafe){
- int cond = 1;
- printf("Gostaria de desligar a cafeteira? [1 para sim ou 0 para nao]\n");
- scanf("%d", &cond);
- if (cafe.luzLigada == 0){
- printf("Cafeteira ja esta desligada\n\n");
- } else {
- if(cond== 1){
- cafe.luzLigada = 0;
- char msg[] = "Desligada\n\n";
- for(int i = 0; i < 11; i++)
- {
- cafe.mensagem[i] = msg[i];
- }
- imprimir(cafe);
- }
- }
- return cafe;
- }
- TipoCafeteira repositorioVazio(TipoCafeteira cafe){
- if(cafe.luzLigada == 0){
- printf("Cafeteira desligada, opcao de verificacao indisponivel\n\n");
- } else {
- if(cafe.quantidade <= 10){
- cafe.luzSemCafe = 1;
- char msg[] = "Sem po de cafe\n\n";
- for(int i = 0; i < 15; i++)
- {
- cafe.mensagem[i] = msg[i];
- }
- imprimir(cafe);
- }
- }
- return cafe;
- }
- void imprimir(TipoCafeteira cafe){
- printf("\nMensagem: %s\n\n", cafe.mensagem);
- }
- TipoCafeteira reporCafe(float quantPo, TipoCafeteira cafe){
- float quantTotal;
- int cond = 1;
- if(cafe.luzLigada == 0){
- printf("Cafeteira desligada, opcao de repor indisponivel\n\n");
- } else {
- while (cond == 1){
- printf("Insira a quantidade de po de cafe: ");
- scanf("%f", &quantPo);
- quantTotal = cafe.quantidade + quantPo;
- if(quantTotal > 500){
- char msg[] = "Passou quant. maxima";
- for(int i = 0; i < 21; i++){
- cafe.mensagem[i] = msg[i];
- }
- imprimir(cafe);
- printf("Quantidade: %.2f gramas\n", cafe.quantidade);
- }
- if(quantTotal <= 500){
- char msg[] = "Cafeteira recarregada";
- for(int i = 0; i < 21; i++){
- cafe.mensagem[i] = msg[i];
- }
- quantTotal = cafe.quantidade + quantPo;
- cafe.quantidade = quantTotal;
- printf("Quantidade: %.2f gramas\n", cafe.quantidade);
- }
- printf("\nInserir po de cafe? [1 para sim ou 0 para nao]\n"); scanf("%d", &cond);
- fflush(stdin);
- }
- }
- return cafe;
- }
- TipoCafeteira fazerCafe(TipoCafeteira cafe){
- int cond1 = 1, cond2 = 1, cond3 = 1;
- float quantPo;
- if(cafe.luzLigada == 0){
- printf("Cafeteira desligada, opcao de fazer cafe indisponivel\n\n");
- } else {
- printf("Gostaria de fazer uma xicara de cafe? [1 para sim ou 0 para nao]\n\n");
- scanf("%d", &cond1);
- if(cond1 == 1){
- while(cond2 == 1){
- if(cafe.quantidade >= 25){
- cafe.luzFazendoCafe = 1;
- char msg[] = "Produzindo cafe";
- for(int i = 0; i < 16; i++){
- cafe.mensagem[i] = msg[i];
- }
- imprimir(cafe);
- Sleep(5000);
- char msg2[] = "Cafe pronto";
- for(int i = 0; i < 12; i++){
- cafe.mensagem[i] = msg2[i];
- }
- imprimir(cafe);
- cafe.quantidade = cafe.quantidade - 25;
- }
- if(cafe.quantidade < 25) {
- printf("Sem po de cafe\n\n");
- /*printf("Gostaria de por mais po de cafe? [1 para sim ou 0 para nao]\n\n");
- scanf("%d", cond2);
- if(cond3 == 1) {
- cafe = reporCafe(quantPo, cafe);
- }*/
- }
- printf("Gostaria de fazer mais uma xicara de cafe? [1 para sim ou 0 para nao]\n\n");
- scanf("%d", &cond2);
- }
- } else {
- printf("Obrigado por utilizar a cafeteira!");
- }
- }
- }
- int main(){
- float quantPo;
- TipoCafeteira cafe1;
- cafe1 = criar(cafe1);
- cafe1 = ligar(cafe1);
- cafe1 = desligar(cafe1);
- cafe1 = repositorioVazio(cafe1);
- cafe1 = reporCafe(quantPo, cafe1);
- cafe1 = fazerCafe(cafe1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement