Porfavor se podesem ajudar agradecia  
	é um trabalho em c ++ 
 
	 
 
	Existem 20 produtos disponíveis na máquina;
 
	Cada produto tem um stock de quantidade inicial Para cada produto vendido a quantidade será atualizada;
 
	Em caso de existência de 0 (zero) o produto deverá exibir a legenda “ESGOTADO” em substituição do preço no menu;
 
	Não permitir a venda do produto esgotado;
 
	Possibilitar a atualização de stock de um qualquer produto (usar a opção -99 para definir um novo submenu)
 
	; Quando a máquina for desligada deve exibir a quantidade existente e o total de vendas para cada produto;
 
	 
 
	) Criar uma estrutura produto para guardar os dados relativos a designação, preço, quantidade em stock, total de quantidade vendida de todos os produtos disponibilizados na máquina;
 
	2) Criar um procedimento/função para configurar os produtos disponíveis na máquina, acedido através da opção -99;
 
	3) O menu de produtos a exibir na máquina deverá ser construído dinamicamente através do dados armazenados na estrutura de dados (designação).
 
	 
 
	Codigo:
 
	#include <stdio.h> 
	#include <stdlib.h> 
	#include <conio.h>
 
	int main() { 
	     
	    int op, custo=0, moeda, creditos; 
	    do { 
	        //exibir o menu de produtos 
	        system("cls"); 
	        printf("\t");  
	        printf("%c", 218); 
	        for (int i=1; i<48; i++) 
	            printf("%c", 196); 
	        printf("%c", 191); 
	             
	        printf("\n\t%c (1) Caf%c longo\t\t(70 c%cntimos)\t%c", 179, 130, 136, 179); 
	        printf("\n\t%c (2) Caf%c curto\t\t(70 c%cntimos)\t%c", 179, 130, 136, 179); 
	        printf("\n\t%c (3) Caf%c pingado\t\t(80 c%cntimos)\t%c", 179, 130, 136, 179); 
	        printf("\n\t%c (4) Cappucino\t\t\t(95 c%cntimos)\t%c", 179, 136, 179); 
	        printf("\n\t%c (5) Chocolate\t\t\t(85 c%cntimos)\t%c", 179, 136, 179); 
	        printf("\n\t%c (6) Gal%co\t\t\t(95 c%cntimos)\t%c", 179, 198, 136, 179); 
	        printf("\n\t%c (7) Ch%c de lim%co\t\t(60 c%cntimos)\t%c", 179, 160, 198, 136,179); 
	         
	        printf("\n\t%c", 192); 
	        for (int i=1; i<48; i++) 
	            printf("%c", 196); 
	        printf("%c", 217); 
	         
	        printf("\n\n\t  Digite a sua op%c%co: ", 135, 198); 
	        scanf("%d", &op); 
	        fflush(stdin); 
	         
	        /*se for digitado -99 significa que a maquina vai 
	        ser desligada, por isso não será necessário correr 
	        o bloco de instruções do switch, ficando assim o 
	        programa mais rápido a ser executado e finalizado*/ 
	        if (op!=-99) { 
	            //verificar qual o produto e o respetivo custo 
	            switch(op) { 
	                case 1 :     printf("\n\tCaf%c longo", 130); 
	                            custo=70; 
	                            break;
 
	                case 2 :     printf("\n\tCaf%c curto", 130); 
	                            custo=70; 
	                            break;     
	                         
	                case 3 :     printf("\n\tCaf%c pingado", 130); 
	                            custo=80; 
	                            break;        
 
	                case 4 :     printf("\n\tCappucino"); 
	                            custo=95; 
	                            break;     
	                         
	                case 5 :     printf("\n\tChocolate"); 
	                            custo=85; 
	                            break;    
 
	                case 6 :     printf("\n\tGal%co", 132); 
	                            custo=95; 
	                            break;     
	                         
	                case 7 :     printf("\n\tCh%c de lim%co", 160, 132); 
	                            custo=60; 
	                            break;     
	                         
	                default:     printf("\n\tOp%c%co inv%clida.", 135, 132, 160);     
	                            custo=0; 
	                             getch(); 
	                                                                                                                                     
	            } 
	             
	            /*se for digitada uma opçao invalida, então a var custo terá o valor zero, 
	            o que significa que não se vai ser feito o pedido de inserção de moedas*/ 
	            if (custo>0) { 
	                //controlar inserção de moedas  
	                //colocar a variável creditos a zero 
	                creditos=0; 
	                do { 
	                    printf("\n\tCreditos= %d. ", creditos); 
	                    printf("Em falta = %d.", creditos<custo? custo-creditos: 0); 
	                    printf("\n\tInsira moeda: "); 
	                    scanf("%d", &moeda); 
	                    fflush(stdin); 
	                    //verificar se as moedas são as aceites pela maquina 
	                    if (moeda==5 || moeda==10 || moeda==20 || moeda==50 || moeda==100 || moeda==200)  
	                        creditos += moeda; 
	                     
	                } while (creditos < custo); 
	                //verificar se existe troco a dar 
	                if (creditos > custo)  
	                    printf("\n\tO seu troco= %d.", creditos-custo);
 
	                printf("\n\tRetire a sua bebida. Obrigado.\n\n"); 
	                system("pause"); 
	                     
	            } 
	        }     
	     
	    } while (op!=-99); 
	     
	    puts("\t\t\t---bye---"); 
	     
	    return 0; 
	}