-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.c
More file actions
151 lines (134 loc) · 5.07 KB
/
main.c
File metadata and controls
151 lines (134 loc) · 5.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include "cad_papelaria.h"
#include "cad_produtos.h"
int main(void){
Lista_prod lista_prod;
lista_prod.pinicio = NULL;
Lista lista;lista.inicio = NULL;
Produto *produto = NULL;
int opc, op2, op3;
do {
printf("***************[ SISTEMA OS EMPAPELADOS ]***************\n");
printf(" Nos informe oque deseja fazer\n");
printf(" (1)-Gerenciar Papelarias. \n (2)-Gerenciar Produtos. \n (3)-Listar Papelarias e seus produtos.\n (4)-Salva no Arquivo.\n (5)-Sair\n ");
obter_opcao_valida(&opc);
if(opc == 1){
printf("------------ OQUE DESEJA FAZER ------------\n");
printf(" (1)-Adiocionar uma nova Papelaria. \n (2)-pesquisar por papelaria. \n (3)-Listar Papelarias e produtos.\n (4)-Remover uma papelaria existente. \n");
obter_opcao_valida(&op2);
switch(op2){
case 1:{
papelaria dadopap;
cad_pap (&dadopap, &lista);
inserir_lista(&lista, dadopap);
}
break;
case 2:{
char nome[50];
printf("Informe o nome da papelaria\n");
scanf("%[^\n]",nome);
struct No * pi = pesquisar(lista,nome);
if (pi !=NULL){
printf("%s %s\n", pi->dado.nome, pi->dado.local);
}
else {
printf("Ops :-( | Papelaria nao foi encontrada \n");
}
}
break;
case 3:
lista = ler_arquivo();
mostrar(lista);
break;
case 4:
{
char sn[10];
char nome[50];
do
{
printf("-------------------- Remover Papelaria ----------------------------\n");
printf("|Atencao ao remover a papelaria todos os produtos sarao removidos |\n");
printf("| deseja comtinuar sim ou nao |\n");
printf("-------------------------------------------------------------------\n");
scanf(" %[^\n]", sn);
if (strcmp(sn, "sim") == 0 || strcmp(sn, "s") ==0)
{
printf("Informe o nome da papelaria que deseja remover: \n");
((getchar()) != '\n');
scanf("%[^\n]", nome);
deletar_pap(&lista, nome);
atualizar_arquivo(&lista);
}
else if (strcmp(sn, "nao") == 0 || strcmp(sn, "n") == 0)
{
printf("Operacao cancelada.\n");
}
else
{
printf("Por favor, insira um numero valido.\n");
}
} while (strcmp(sn, "sim") && strcmp(sn, "s") && strcmp(sn, "nao") && strcmp(sn, "n") != 0);
}
break;
}
}
else if(opc == 2){
printf("------------ OQUE DESEJA FAZER ------------\n");
printf("(1)-Buscar Produto. \n (2)-Adiocionar novo Produto. \n (3)-Remover um produto existente. \n (4)-Repor estoque. \n");
obter_opcao_valida(&op3);
switch(op3){
case 1:{
char nome_prod[50];
printf("informe o nome do Produto\n");
((getchar()) != '\n');
scanf("%[^\n]",nome_prod);
struct Nop* pro_it = pesq_prod(lista_prod, nome_prod);
if (pro_it !=NULL){
printf("Produto: %s | Preco: %.2f | Quantidade: %d | \n", pro_it->Dados.nome_prod, pro_it->Dados.preco,pro_it->Dados.qtd);
}
else {
printf("Produto nao encontrado\n");
}
}
break;
case 2:
produto = malloc(sizeof(Produto));
if(produto == NULL){
printf("erro ao alocar memoria \n");
exit(1);
}
ad_produto(&produto, &lista_prod, &lista);
insere_prod(&lista_prod, *produto);
break;
case 3:{
char nome_papelaria[50];
char nome_prod[50];
printf("----------------- Remover produto ----------------------\n");
printf("Informe a papelaria na qual deseja remover o produto: \n");
printf("--------------------------------------------------------\n");
scanf(" %[^\n]",nome_papelaria );
printf("----------------- Remover produto ----------------------\n");
printf("Informe o produto que deseja remover: \n");
printf("--------------------------------------------------------\n");
scanf(" %[^\n]",nome_prod);
remover_produto(&lista ,nome_papelaria, nome_prod);
}
break;
case 4:
break;
}
}
else if(opc == 3){
mostrar_prod(&lista);
}
else if(opc == 4){
salva_dados(&lista);
}
}while(opc != 5);
/*
Coisas a fazer para Terminar o Projeto
> Consertar a busca do produto
> Fazer a função de venda
> Salvar os dados do .txt sempre que sair do programa
*/
return 0;
}