Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<locale.h>
- #include<windows.h>
- int productCode[5]={-1, -1, -1, -1, -1}, quant[5], quantS[5]={0, 0, 0, 0, 0}, invalidCode=0;
- float price[5];
- char productName[5][9];
- //MENU FUCTION
- int Menu(){
- setlocale(LC_ALL, "Portuguese");
- int option;
- system("cls");
- Sleep(200);
- printf("0 - Sair\n");
- printf("1 - Cadastrar\n");
- printf("2 - Vendas\n");
- printf("3 - Relatório\n");
- printf("Escolha uma opção: ");
- scanf("%d", &option);
- if(option<0 || option>3){
- while(option<0 || option>3){
- system("cls");
- Sleep(200);
- printf("0 - Sair\n");
- printf("1 - Cadastrar\n");
- printf("2 - Vendas\n");
- printf("3 - Relatório\n");
- printf("Opção Inválida. Digite '0', '1', '2' ou '3'.\n");
- printf("Escolha uma opção: ");
- scanf("%d", &option);
- }
- }
- return(option);
- }
- //REGISTER FUCTION
- int Register(){
- int option;
- for(int x=0; x<5; x++){
- system("cls");
- Sleep(200);
- printf("+----------------------+\n");
- printf("| CADASTRO DE PRODUTOS |\n");
- printf("+----------------------+\n\n");
- printf("Digite o nome do %dº produto: ", x+1);
- fflush(stdin);
- gets(productName[x]);
- printf("Digite o preço do %dº produto: ", x+1);
- scanf("%f", &price[x]);
- printf("Digite a quantidade em estoque: ");
- scanf("%d", &quant[x]);
- printf("Digite o código do %dº produto: ", x+1);
- scanf("%d", &productCode[x]);
- for(int y=x-1; y>=0; y--){
- if(productCode[x]==productCode[y]){
- invalidCode=1;
- }
- }
- if(invalidCode==1){
- do{
- invalidCode=0;
- printf("O código %d já está em uso.\n", productCode[x]);
- printf("Digite outro código para o %dº produto: ", x+1);
- scanf("%d", &productCode[x]);
- for(int y=x-1; y>=0; y--){
- if(productCode[x]==productCode[y]){
- invalidCode=1;
- }
- }
- }while(invalidCode==1);
- }
- }
- system("cls");
- Sleep(200);
- printf("Deseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
- scanf("%d", &option);
- if(option<0 || option>1){
- while(option<0 || option>1){
- system("cls");
- Sleep(200);
- printf("Opção Inválida. Digite somente '0' ou '1'.\n");
- printf("Deseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
- scanf("%d", &option);
- }
- }
- return(option);
- }
- //SALES FUNCTION
- int Sales(){
- int code, aux=0, pos, quantP, answer;
- do{
- aux=0;
- system("cls");
- Sleep(200);
- printf("+-----+--------+-----+-------+\n");
- printf("| COD | NOME | QTD | PREÇO |\n");
- printf("+-----+--------+-----+-------+\n");
- for(int x=0; x<5; x++){
- if(productCode[x]!=-1){
- printf(" %d\t%-9s%d %.2f\n", productCode[x], productName[x], quant[x], price[x]);
- }
- }
- printf("+-----+--------+-----+-------+\n\n");
- printf("Digite o código do produto que irá vender: ");
- scanf("%d", &code);
- for(int x=0; x<5; x++){
- if(code==productCode[x]){
- aux=1;
- pos=x;
- }
- }
- if(aux==0){
- while(aux==0){
- system("cls");
- Sleep(200);
- printf("+-----+--------+-----+-------+\n");
- printf("| COD | NOME | QTD | PREÇO |\n");
- printf("+-----+--------+-----+-------+\n");
- for(int x=0; x<5; x++){
- if(productCode[x]!=-1){
- printf(" %d\t%-9s%d %.2f\n", productCode[x], productName[x], quant[x], price[x]);
- }
- }
- printf("+-----+--------+-----+-------+\n\n");
- printf("Código inválido.\nDigite outro código: ");
- scanf("%d", &code);
- for(int x=0; x<5; x++){
- if(code==productCode[x]){
- aux=1;
- pos=x;
- }
- }
- }
- }
- if(aux==1){
- system("cls");
- Sleep(200);
- printf("+-----+--------+-----+-------+\n");
- printf("| COD | NOME | QTD | PREÇO |\n");
- printf("+-----+--------+-----+-------+\n");
- printf(" %d\t%-9s%d %.2f\n", productCode[pos], productName[pos], quant[pos], price[pos]);
- printf("+-----+--------+-----+-------+\n\n");
- printf("Digite a quantidade que deseja vender: ");
- scanf("%d", &quantP);
- if(quantP>quant[pos] || quantP<0){
- while(quantP>quant[pos] || quantP<0){
- system("cls");
- Sleep(200);
- printf("+-----+--------+-----+-------+\n");
- printf("| COD | NOME | QTD | PREÇO |\n");
- printf("+-----+--------+-----+-------+\n");
- printf(" %d\t%-9s%d %.2f\n", productCode[pos], productName[pos], quant[pos], price[pos]);
- printf("+-----+--------+-----+-------+\n\n");
- printf("Quantidade inválida.\nDigite uma quantidade válida: ");
- scanf("%d", &quantP);
- }
- }
- if(quantP<=quant[pos]){
- quantS[pos]+=quantP;
- quant[pos]-=quantP;
- printf("Valor total: R$%.2f\n", price[pos]*quantP);
- printf("Deseja vender mais algum produto? [0] NÃO - [1] SIM ");
- scanf("%d", &answer);
- if(answer<0 || answer>1){
- while(answer<0 || answer>1){
- system("cls");
- Sleep(200);
- printf("Opção Inválida. Digite somente '0' ou '1'.\n");
- printf("Deseja vender mais algum produto? [0] NÃO - [1] SIM ");
- scanf("%d", &answer);
- }
- }
- }
- }
- }while(answer!=0);
- return(2);
- }
- //REPORT FUNCTION
- int Report(){
- int option;
- system("cls");
- Sleep(200);
- printf("+-----+--------+-----+-------+---------+-------+\n");
- printf("| COD | NOME | QTD | PREÇO | VENDIDO | VALOR |\n");
- printf("+-----+--------+-----+-------+---------+-------+\n");
- for(int x=0; x<5; x++){
- if(productCode[x]!=-1){
- printf(" %d\t%-9s%d %.2f %d %.2f\n", productCode[x], productName[x], quant[x], price[x], quantS[x], quantS[x]*price[x]);
- }
- }
- printf("\nDeseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
- scanf("%d", &option);
- if(option<0 || option>1){
- while(option<0 || option>1){
- system("cls");
- Sleep(200);
- printf("Opção Inválida. Digite somente '0' ou '1'.\n");
- printf("Deseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
- scanf("%d", &option);
- }
- }
- return(option);
- }
- //MAIN FUNCTION
- main(){
- int op;
- do{
- op=Menu();
- if(op==1){
- op=Register();
- }
- else if(op==2){
- op=Sales();
- }
- else if(op==3){
- op=Report();
- }
- }while(op!=0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement