Advertisement
argentinapb

Untitled

Jun 24th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct data{
  5. int dia;
  6. int mes;
  7. int ano;
  8. };
  9.  
  10. typedef struct data data;
  11.  
  12. struct endereco{
  13. char rua[100];
  14. char cidade[30];
  15. char estado[30];
  16. int numero;
  17. };
  18.  
  19. typedef struct endereco endereco;
  20.  
  21. struct cliente{
  22. int cpf;
  23. int telefone;
  24. char nome[100];
  25. struct endereco;
  26. struct data;
  27. struct cliente *ant;
  28. struct cliente *prox;
  29. };
  30.  
  31. typedef struct cliente cliente;
  32.  
  33. struct produto{
  34. int codigo;
  35. char descricao;
  36. int quant_est;
  37. double preco_und;
  38. struct produto *ante;
  39. struct produto *proxi;
  40. };
  41.  
  42. typedef struct produto produto;
  43.  
  44. struct venda {
  45. int qtd_compra;
  46. struct cliente;
  47. struct produto;
  48. struct venda *antes;
  49. struct venda *proxim;
  50. };
  51.  
  52. typedef struct venda venda;
  53.  
  54. cliente *inicializar_cliente(int x){
  55. cliente *novo =(cliente*) malloc(sizeof(cliente));
  56. novo->cpf = x;
  57.  
  58. printf("digite o nome do cliente: ");
  59. gets(novo->nome);
  60.  
  61. printf("digite o telefone do cliente: ");
  62. scanf("%d", &novo->telefone);
  63.  
  64. printf("digite a data de aniversario do cliente dd/mm/aaaa: ");
  65. scanf("%d/%d/%d", &novo->data->dia, &novo->data->mes, &novo->data->ano);
  66.  
  67. printf("digitar o estado do cliente: ");
  68. gets(novo->endereco->estado);
  69.  
  70. printf("digitar a cidade do cliente: ");
  71. gets(novo->endereco->cidade);
  72.  
  73. printf("digitar a rua do cliente: ");
  74. gets(novo->endereco->rua);
  75.  
  76. printf("digitar o numero do cliente: ");
  77. gets(novo->endereco->numero);
  78.  
  79.  
  80. novo->prox = NULL;
  81. novo->ant = NULL;
  82. return novo;
  83. }
  84.  
  85. produto *inicializar_produto(int x){
  86. produto *novo =(produto*) malloc(sizeof(produto));
  87. novo->codigo = x;
  88.  
  89. printf("digite a descricao do produto: ");
  90. gets(novo->descricao);
  91.  
  92. printf("digite a quantidade de estoque: ");
  93. scanf("%d", &novo->quant_est);
  94.  
  95. printf("digite o preco da unidade: ");
  96. scanf("%lf", novo->preco_und);
  97.  
  98. novo->proxi = NULL;
  99. novo->ante = NULL;
  100. return novo;
  101. }
  102.  
  103. void inclusao_cliente(cliente *lista, int cpf){
  104. int z = 0;
  105. if(lista->prox == NULL){
  106. cliente *novo = inicializar(cpf);
  107. lista->prox = novo;
  108. novo->ant = lista;
  109. }
  110. else {
  111. cliente *aux = lista;
  112.  
  113. while(aux->prox != NULL){
  114. if(aux->cpf == cpf){
  115. z = 1;
  116. }
  117. aux = aux->prox;
  118.  
  119. }
  120. if(z == 0){
  121. cliente *novo = inicializar_cliente(x);
  122. aux->prox = novo;
  123. novo->ant = aux;
  124. }
  125. }
  126.  
  127. }
  128.  
  129.  
  130.  
  131. void alteracao_cliente(cliente *lista, int cpf){
  132. int z = 0;
  133. cliente *aux= lista;
  134. while(aux->prox != NULL){
  135. if(aux->cpf == cpf){
  136. inicializar_cliente(cpf);
  137. z = 1
  138. }
  139. aux = aux->prox;
  140.  
  141. }
  142. if(z == 0)
  143. printf("cliente nao encontrado\n");
  144.  
  145.  
  146. }
  147.  
  148. void consulta_cliente(cliente *lista, int cpf){
  149. int z = 0;
  150. cliente *aux= lista;
  151. while(aux->prox != NULL){
  152. if(aux->cpf == cpf){
  153. printf("cpf: %d\n", aux->cpf);
  154. printf("nome: %s\n", aux->nome);
  155. printf("telefone: %d\n", aux->telefone);
  156. printf("estado: %s\n", aux->endereco->estado);
  157. printf("cidade: %s\n", aux->endereco->cidade);
  158. printf("rua: %s\n", aux->endereco->rua);
  159. printf("numero: %d\n", aux->endereco->numero);
  160. z = 1
  161. }
  162. aux = aux->prox;
  163.  
  164. }
  165. if(z == 0)
  166. printf("cliente nao encontrado\n");
  167.  
  168. }
  169.  
  170.  
  171. void deletar_cliente(cliente *lista, int cpf){
  172.  
  173. }
  174.  
  175. void inclusao_produto(produto *lista, int codigo){
  176. int z = 0;
  177. if(lista->proxi == NULL){
  178. produto *novo = inicializar_produto(codigo);
  179. lista->proxi = novo;
  180. novo->ante = lista;
  181. }
  182. else {
  183. produto *aux = lista;
  184.  
  185. while(aux->proxi != NULL){
  186. if(aux->cpf == cpf){
  187. z = 1;
  188. }
  189. aux = aux->prox;
  190. }
  191. if(z == 0){
  192. produto *novo = inicializar_produto(codigo);
  193. aux->proxi = novo;
  194. novo->ante = aux;
  195. }
  196. }
  197.  
  198. }
  199.  
  200. void alteracao_produto(produto *lista, int codigo){
  201. int z = 0;
  202. produto *aux= lista;
  203. while(aux->proxi != NULL){
  204. if(aux->codigo == codigo){
  205. inicializar_produto(codigo);
  206. z = 1
  207. }
  208. aux = aux->proxi;
  209.  
  210. }
  211. if(z == 0)
  212. printf("cliente nao encontrado\n");
  213.  
  214.  
  215. }
  216.  
  217. void consulta_produto(produto *lista, int codigo){
  218. int z = 0;
  219. produto *aux= lista;
  220. while(aux->proxi != NULL){
  221. if(aux->cpf == cpf){
  222. printf("codigo: %d\n", aux->codigo);
  223. printf("descricao: %s\n", aux->descricao);
  224. printf("quantidade em estoque: %d\n", aux->quant_est);
  225. printf("preco unitario: %lf\n", aux->preco_und);
  226.  
  227. z = 1
  228. }
  229. aux = aux->proxi;
  230.  
  231. }
  232. if(z == 0)
  233. printf("cliente nao encontrado\n");
  234. }
  235.  
  236. void deletar_produto(produto *lista, int codigo){
  237.  
  238. }
  239.  
  240. void inclusao_venda(venda *lista, int codigo, int cpf){
  241. venda* venda;
  242. venda = (venda*) malloc(sizeof(venda));
  243. venda->cliente->cpf = NULL;
  244. venda->produto->codigo = NULL;
  245.  
  246. if(*lista == NULL){
  247. venda->ant = NULL;
  248. venda->prox = NULL;
  249. }
  250. else{}
  251.  
  252. }
  253.  
  254. void alteracao_venda(venda *lista, int codigo, int cpf){
  255.  
  256. }
  257.  
  258. void consulta_venda(venda *lista, int codigo, int cpf){
  259.  
  260. }
  261.  
  262. void deletar_venda(venda *lista, int codigo, int cpf){
  263.  
  264. }
  265.  
  266. int main (){
  267. int x, y, cp, cod;
  268. do{
  269. printf("1.Cliente\n2.Produto\n3.Vendas");
  270. scanf("%d",&x);
  271.  
  272. switch(x){
  273. case 1:
  274.  
  275. printf("1.Adicionar\n2.Alterar\n3.Consultar\n4.Deletar\n");
  276. scanf("%d", &y);
  277. switch(y){
  278. case 1:
  279. printf("digite o cpf do cliente: ");
  280. scanf("%d", &cp);
  281. inclusao_cliente(&cliente, cp);
  282. break;
  283. case 2:
  284. printf("digite o cpf do cliente: ");
  285. scanf("%d", &cp);
  286. alteracao_cliente(&cliente, cp);
  287. break;
  288. case 3:
  289. printf("digite o cpf do cliente: ");
  290. scanf("%d", &cp);
  291. consulta_cliente(&cliente, cp);
  292. break;
  293. case 4:
  294. printf("digite o cpf do cliente: ");
  295. scanf("%d", &cp);
  296. deletar_cliente(&cliente, cp);
  297. break;
  298. default:
  299. printf("valor invalido, tente novamente\n");
  300.  
  301.  
  302. }
  303. case 2:
  304.  
  305. printf("1.Adicionar\n2.Alterar\n3.Consultar\n4.Deletar\n");
  306. scanf("%d", &y);
  307. switch(y){
  308. case 1:
  309. printf("digite o codigo do produto: ");
  310. scanf("%d", &cod);
  311. inclusao_cliente(&produto, cod);
  312. break;
  313. case 2:
  314. printf("digite o codigo do produto: ");
  315. scanf("%d", &cod);
  316. alteracao_produto(&produto, cod);
  317. break;
  318. case 3:
  319. printf("digite o codigo do produto: ");
  320. scanf("%d", &cod);
  321. consulta_produto(&produto, cod);
  322. break;
  323. case 4:
  324. printf("digite o codigo do produto: ");
  325. scanf("%d", &cod);
  326. deletar_produto(&produto, cod);
  327. break;
  328. default:
  329. printf("valor invalido, tente novamente\n");
  330.  
  331. case 3:
  332.  
  333. printf("1.Adicionar\n2.Alterar\n3.Consultar\n4.Deletar\n");
  334. scanf("%d", &y);
  335. switch(y){
  336. case 1:
  337. printf("digite o codigo do produto e o cpf do cliente: ");
  338. scanf("%d %d", &cod, &cp);
  339. inclusao_venda(&venda, cod, cp);
  340. break;
  341. case 2:
  342. printf("digite o codigo do produto e o cpf do cliente: ");
  343. scanf("%d %d", &cod, &cp);
  344. alteracao_venda(&venda, cod, cp);
  345. break;
  346. case 3:
  347. printf("digite o codigo do produto e o cpf do cliente: ");
  348. scanf("%d", &cod, &cp);
  349. consulta_venda(&venda, cod, cp);
  350. break;
  351. case 4:
  352. printf("digite o codigo do produto e o cpf do cliente: ");
  353. scanf("%d %d", &cod, &cp);
  354. deletar_produto(&produto, cod, cp);
  355. break;
  356. default:
  357. printf("valor invalido, tente novamente\n");
  358.  
  359. }
  360. default:
  361. printf("valor invalid, tente novamente\n");
  362.  
  363.  
  364.  
  365. }
  366. }
  367. }while (x!= 0);
  368. return 0;
  369. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement