Advertisement
Guest User

parcial 2 1.4

a guest
May 23rd, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct rgProduto{
  5. char nome[50];
  6. char codigoBarra[15];
  7. char data_Validade[10];
  8. char lote[30];
  9. char data_Fabricacao[10];
  10. int id;
  11. float preco_Custo;
  12. float preco_Venda;
  13. float peso;
  14. float volume;
  15. };
  16.  
  17. struct rgCliente{
  18. char nome[35];
  19. char sexo[23];
  20. char rg[30];
  21. char cpf[20];
  22. char datanasci[20];
  23. char endereco[40];
  24. int numerocasa;
  25. char complemento[40];
  26. char bairro[35];
  27. char cep[10];
  28. char telefone[35];
  29. char celular[35];
  30. char email[35];
  31. };
  32.  
  33. struct rgProduto *pontProduto;
  34. struct rgCliente *pontCliente;
  35. struct rgCliente *pontExcluir;
  36. int x=0,p=0,c=0,opcao=0,id=0;
  37.  
  38. void cadastroProduto(){
  39.  
  40. pontProduto = (struct rgProduto*) realloc(pontProduto,sizeof(struct rgProduto));
  41.  
  42. printf("\n**************Cadastro de Produto**************\n");
  43. printf("\nInforme o nome do produto:");
  44. fflush(stdin);
  45. gets(pontProduto[p].nome);
  46.  
  47. printf("\nInforme o codigo de barra do produto:");
  48. fflush(stdin);
  49. gets(pontProduto[p].codigoBarra);
  50.  
  51. printf("\nInforme a data de validade do produto:");
  52. fflush(stdin);
  53. gets(pontProduto[p].data_Validade);
  54.  
  55. printf("\nInforme o lote do produto:");
  56. fflush(stdin);
  57. gets(pontProduto[p].lote);
  58.  
  59. printf("\nInforme a data de fabricacao do produto:");
  60. fflush(stdin);
  61. gets(pontProduto[p].data_Fabricacao);
  62.  
  63. printf("\nInforme o id do produto:");
  64. fflush(stdin);
  65. scanf("%d",&pontProduto[p].id);
  66.  
  67. printf("\nInforme o preco de custo do produto:");
  68. fflush(stdin);
  69. scanf("%f",&pontProduto[p].preco_Custo);
  70.  
  71. printf("\nInforme o preco de venda do produto:");
  72. fflush(stdin);
  73. scanf("%f",&pontProduto[p].preco_Venda);
  74.  
  75. printf("\nInforme o peso do produto:");
  76. fflush(stdin);
  77. scanf("%f",&pontProduto[p].peso);
  78.  
  79. printf("\nInforme o volume do produto:");
  80. fflush(stdin);
  81. scanf("%f",&pontProduto[p].volume);
  82. p=p+1;
  83. }
  84.  
  85. void cadastroCliente(){
  86.  
  87. pontCliente = (struct rgCliente*) realloc(pontCliente,sizeof(struct rgCliente));
  88.  
  89. printf("\n**************Cadastro do Cliente**************\n");
  90. printf("Digite nome completo:\n");
  91. fflush(stdin);
  92. gets(pontCliente[c].nome);
  93.  
  94. printf("Informe seu sexo:\n");
  95. fflush(stdin);
  96. gets(pontCliente[c].sexo);
  97.  
  98. printf("Informe RG:\n");
  99. fflush(stdin);
  100. gets(pontCliente[c].rg);
  101.  
  102. printf("Informe CPF:\n");
  103. fflush(stdin);
  104. gets(pontCliente[c].cpf);
  105.  
  106. printf("Informe Data de nascimento::\n");
  107. fflush(stdin);
  108. gets(pontCliente[c].datanasci);
  109.  
  110. printf("Informe Endereco:\n");
  111. fflush(stdin);
  112. gets(pontCliente[c].endereco);
  113.  
  114. printf("Informe Numero:\n");
  115. fflush(stdin);
  116. scanf("%d",&pontCliente[c].numerocasa);
  117.  
  118. printf("Informe Complemento:\n");
  119. fflush(stdin);
  120. gets(pontCliente[c].complemento);
  121.  
  122. printf("Informe Bairro:\n");
  123. fflush(stdin);
  124. gets(pontCliente[c].bairro);free(pontExcluir);
  125.  
  126. printf("Informe CEP:\n");
  127. fflush(stdin);
  128. gets(pontCliente[c].cep);
  129.  
  130. printf("Informe Telefone:\n");
  131. fflush(stdin);
  132. gets(pontCliente[c].telefone);
  133.  
  134. printf("Informe Celular:\n");
  135. fflush(stdin);
  136. gets(pontCliente[c].celular);
  137.  
  138. printf("Informe E-mail:\n");
  139. fflush(stdin);
  140. gets(pontCliente[c].email);
  141. c=c+1;
  142. }
  143.  
  144. void imprimiCliente(){
  145.  
  146. int i=0;
  147.  
  148. for(i=0;i<c;i++){
  149. if(pontCliente[i].numerocasa!=0){
  150. printf("oi\n");
  151. printf("\n\nCLIENTE %d\n",i);
  152. printf("Nome: %s\n", pontCliente[i].nome);
  153. printf("Sexo: %s\n", pontCliente[i].sexo);
  154. printf("RG: %s\n", pontCliente[i].rg);
  155. printf("CPF: %s\n", pontCliente[i].cpf);
  156. printf("Data de nascimento: %s\n", pontCliente[i].datanasci);
  157. printf("Endereco: %s\n", pontCliente[i].endereco);
  158. printf("Numero da casa: %d\n", pontCliente[i].numerocasa);
  159. printf("Complemento: %s\n", pontCliente[i].complemento);
  160. printf("Bairro: %s\n", pontCliente[i].bairro);
  161. printf("CEP: %s\n", pontCliente[i].cep);
  162. printf("Telefone: %s\n", pontCliente[i].telefone);
  163. printf("Celular: %s\n", pontCliente[i].celular);
  164. printf("Email: %s\n", pontCliente[i].email);
  165. }
  166.  
  167. }
  168. }
  169.  
  170. void imprimiProduto(){
  171.  
  172. int i=0;
  173.  
  174. for (i=0 ; i<p; i++){
  175. printf("\nPRODUTO %d \n",i);
  176. printf("\n\tNome..............:%s\n",pontProduto[i].nome);
  177. printf("\tCodigo de Barra...:%s\n",pontProduto[i].codigoBarra);
  178. printf("\tData de Validade..:%s\n",pontProduto[i].data_Validade);
  179. printf("\tLote..............:%s\n",pontProduto[i].lote);
  180. printf("\tData de Fabricacao:%s\n",pontProduto[i].data_Fabricacao);
  181. printf("\tID................:%d\n",pontProduto[i].id);
  182. printf("\tPreco de Custo....:%.2f\n",pontProduto[i].preco_Custo);
  183. printf("\tPreco de venda....:%.2f\n",pontProduto[i].preco_Venda);
  184. printf("\tPeso..............:%.2f\n",pontProduto[i].peso);
  185. printf("\tVolume de venda...:%.2f\n\n",pontProduto[i].volume);
  186. //printf("\n------------------------------------------------\n\n\n");
  187. printf("\n************************************************\n");
  188.  
  189. }
  190. }
  191. void excluir() {
  192. printf("Informe o ID do Cliente para ser exluido:");
  193. fflush(stdin);
  194. scanf("%d",&id);
  195. int i=0;
  196.  
  197. *pontCliente[id].nome=NULL;
  198. *pontCliente[id].sexo = NULL;
  199. *pontCliente[id].rg = NULL;
  200. *pontCliente[id].cpf = NULL;
  201. *pontCliente[id].datanasci = NULL;
  202. *pontCliente[id].endereco = NULL;
  203. pontCliente[id].numerocasa = NULL;
  204. *pontCliente[id].complemento = NULL;
  205. *pontCliente[id].bairro = NULL;
  206. *pontCliente[id].cep = NULL;
  207. *pontCliente[id].telefone = NULL;
  208. *pontCliente[id].celular = NULL;
  209. *pontCliente[id].email = NULL;
  210. pontExcluir = (struct rgCliente*) malloc(sizeof(struct rgCliente));
  211. int cont=0;
  212. for(i=0;i<c;i++){
  213. if(pontCliente[i].numerocasa!=0 && pontCliente[i].numerocasa!= NULL){
  214.  
  215. *pontExcluir[i].nome= pontCliente[i].nome;
  216. *pontExcluir[i].sexo=pontCliente[i].sexo;
  217. *pontExcluir[i].rg=pontCliente[i].rg;
  218. *pontExcluir[i].cpf=pontCliente[i].cpf;
  219. *pontExcluir[i].datanasci=pontCliente[i].datanasci;
  220. *pontExcluir[i].endereco=pontCliente[i].endereco;
  221. pontExcluir[i].numerocasa=pontCliente[i].numerocasa;
  222. *pontExcluir[i].complemento=pontCliente[i].complemento;
  223. *pontExcluir[i].bairro=pontCliente[i].bairro;
  224. *pontExcluir[i].cep=pontCliente[i].cep;
  225. *pontExcluir[i].telefone=pontCliente[i].telefone;
  226. *pontExcluir[i].celular=pontCliente[i].celular;
  227. *pontExcluir[i].email=pontCliente[i].email;
  228.  
  229. cont=cont+1;
  230. }
  231. }
  232. free(pontCliente);
  233. pontCliente = (struct rgCliente*) malloc(sizeof(struct rgCliente));
  234.  
  235. for(i=0;i<c;i++){
  236. *pontCliente[i].nome=pontExcluir[i].nome;
  237. *pontCliente[i].sexo=pontExcluir[i].sexo;
  238. *pontCliente[i].rg=pontExcluir[i].rg;
  239. *pontCliente[i].cpf=pontExcluir[i].cpf;
  240. *pontCliente[i].datanasci=pontExcluir[i].datanasci;
  241. *pontCliente[i].endereco=pontExcluir[i].endereco;
  242. pontCliente[i].numerocasa=pontExcluir[i].numerocasa;
  243. *pontCliente[i].complemento=pontExcluir[i].complemento;
  244. *pontCliente[i].bairro=pontExcluir[i].bairro;
  245. *pontCliente[i].cep=pontExcluir[i].cep;
  246. *pontCliente[i].telefone=pontExcluir[i].telefone;
  247. *pontCliente[i].celular=pontExcluir[i].celular;
  248. *pontCliente[i].email=pontExcluir[i].email;
  249. }
  250.  
  251. free(pontExcluir);
  252.  
  253.  
  254. }
  255. void menu(){
  256. do{
  257.  
  258. printf("*******************************\n");
  259. printf("|\t1 - Cadastrar Cliente |\n");
  260. printf("|\t2 - Cadastrar Produto |\n");
  261. printf("|\t3 - Imprimir Clientes|\n");
  262. printf("|\t4 - Imprimir Produtos|\n");
  263. printf("|\t5 - Excluir |\n");
  264. printf("|\t6 - Sair |\n");
  265. printf("*******************************\n");
  266.  
  267.  
  268. printf("Informe uma opcao:");
  269. scanf("%d", &opcao);
  270.  
  271. switch(opcao){
  272. case 1:
  273. cadastroCliente();
  274. break;
  275. case 2:
  276. cadastroProduto();
  277. break;
  278. case 3:
  279. imprimiCliente();
  280. break;
  281. case 4:
  282. imprimiProduto();
  283. break;
  284. case 5:
  285. excluir();
  286. break;
  287. case 6:
  288. sair();
  289. break;
  290. default :
  291. printf("Opcao invalida!");
  292. break;
  293.  
  294. }
  295. }while(opcao != 6);
  296. }
  297.  
  298. void sair(){
  299.  
  300. exit(0);
  301.  
  302. }
  303.  
  304.  
  305. void main(){
  306. menu();
  307. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement