Advertisement
saidmrn

Untitled

Oct 31st, 2014
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.65 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <conio.h>
  5. #include <time.h>
  6. #include "iniparser.h"
  7. #include "iniparser.c"
  8. #include "dictionary.c"
  9. #include <string.h>
  10. #include <unistd.h>
  11.  
  12.  
  13.  
  14. int main(int argc, char *argv[])
  15. {
  16. time_t hora;
  17. dictionary * ini ;
  18. char linha[100];
  19. char linha1[100];
  20. char linha2[100];
  21. char linha3[100];
  22. char linha4[100];
  23. char linha5[100];
  24. char linha6[100];
  25. char linha7[100];
  26. char linha8[100];
  27. char linha9[100];
  28. char linha10[100];
  29. char linha11[100];
  30. char linha12[100];
  31. char * ini_name ;
  32. char * nomeprodutosalvo; // pega o nome do produto salvo.
  33. float infopreco,quantpreco;
  34. char nomeprod[200],localprod[300],localfunc[300],localfuncnovo[200],info[500],infopre[100],infoquant[100],infocod[100],senha[30];
  35. char nomefunc[100];
  36. char * nomefuncionario; // nome pra pegar e alterar
  37. int opcao,tecla,teclasair,teclagerenciar,nprod,nfunc,i,quantprod,quantprodvendida,MAX_PROD = 2000,teclafuncionarios,codigofunc,codigofuncantigo,nvendas;
  38. time_t currentTime;
  39. struct tm *timeinfo;
  40. float preco;
  41. system("mode con:cols=150 lines=30"); // definir tamanho da tela
  42. MENU:
  43. system ("cls");
  44. system("title Gerenciar Estoque/funcionarios");
  45. system ("color f9");
  46. while (!kbhit()){
  47.  
  48. system ("cls");
  49. printf("1-Gerenciar Estoque\n");
  50. printf("2-Gerenciar Funcionarios\n");
  51. /* Pega a hora atual do sistema. */
  52. currentTime= time(NULL);
  53. /* Converte-o em uma estrutura tm. */
  54. timeinfo= localtime(&currentTime);
  55. printf("\n\n\n\n\n\n\n\n\n\n Hora Atual : %02d:%02d:%02d do dia : %02d/%02d/%02d \n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec,timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900);
  56. Sleep(500);
  57. }
  58. tecla = getch();
  59. switch(tecla){
  60. case 49:
  61. while (!kbhit()){
  62. Sleep(500);
  63. system ("cls");
  64. printf("1-Cadastrar Produto\n");
  65. printf("2-Consultar Produto\n");
  66. printf("3-Ver Estoque\n");
  67. printf("4-Registrar Venda\n");
  68. printf("5-Excluir produto\n");
  69. printf("6-Editar produto\n");
  70. /* Pega a hora atual do sistema. */
  71. currentTime= time(NULL);
  72. /* Converte-o em uma estrutura tm. */
  73. timeinfo= localtime(&currentTime);
  74. printf("\n\n\n\n\n\n\n\n\n\n Hora Atual : %02d:%02d:%02d no dia : %02d/%02d/%02d \n", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec,timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900);
  75. }
  76. teclagerenciar = getch();
  77. switch(teclagerenciar){
  78. case 49:
  79. system ("cls");
  80. printf("Coloque a senha para registrar produtos: ");
  81. scanf("%s",senha);
  82. if (strcmp (senha, "teste") == 0) // compara senha
  83. {
  84. // registrar produto
  85. printf("1-Coloque o nome do produto: ");
  86. scanf("%s",&nomeprod);
  87. REPETIRCODIGO:
  88. printf("Coloque o codigo do produto %s:",nomeprod);
  89. scanf("%d",&nprod);
  90. sprintf(localprod,"produtos\\%d.ini",nprod);
  91. if(ini = fopen( localprod, "r") != 0){
  92. printf("Ja existe um produto com esse Codigo!\n");
  93. goto REPETIRCODIGO;
  94. }
  95. printf("Coloque o preco do produto %s:",nomeprod);
  96. scanf("%f",&infopreco);
  97. printf("Coloque a quantidade do produto %s:",nomeprod);
  98. scanf("%d",&quantprod);
  99. system ("cls");
  100. system("color 4E");
  101. printf("Voce registrou o produto: %s \ncodigo : %d\nQuantidade : %d\nPreco : %.2f",nomeprod,nprod,quantprod,infopreco);
  102. Beep(1000,500);
  103. if (argc<2) {
  104. ini_name = localprod;
  105. } else {
  106. ini_name = argv[1] ;
  107. }
  108. ini = fopen(localprod, "w");
  109. fprintf(ini,
  110. "#\n"
  111. "# Informacoes do produto\n"
  112. "#\n"
  113. "\n"
  114. "[info]\n"
  115. "\n"
  116. "nome = %s ;\n"
  117. "codigo = %d ;\n"
  118. "preco = %f ;\n"
  119. "quantidade = %d ;\n"
  120. "produto cadastrado = %02d:%02d:%02d no dia : %02d/%02d/%02d;\n"
  121.  
  122. "Quantidade_vendida = 0\n",nomeprod,nprod,infopreco,quantprod,timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec,timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900);
  123. fclose(ini);
  124. /* Pega a hora atual do sistema. */
  125. currentTime= time(NULL);
  126. /* Converte-o em uma estrutura tm. */
  127. timeinfo= localtime(&currentTime);
  128. Sleep(2000);
  129. system ("cls");
  130. goto MENU;
  131. }
  132. break;
  133. // consultar produto
  134. teclagerenciar = 0;
  135. int teclaconsulta;
  136. case 50:
  137. system ("cls");
  138. printf("1-Consultar por Codigo \n");
  139. printf("2-Consultar por nome \n");
  140. teclaconsulta = getch();
  141. switch(teclaconsulta){
  142. case 49: // numero 1
  143. system ("cls");
  144. system("color 8F");
  145. consultarprod:
  146. printf("___________________________________________\n");
  147. printf("Coloque o codigo do produto a ser consultado: \n");
  148. printf("___________________________________________\n");
  149. scanf("%d",&nprod);
  150. sprintf(localprod,"produtos\\%d.ini",nprod);
  151. ini = fopen(localprod, "r");
  152. fscanf(ini,"%s",info);
  153. while(fgets(info,200,ini) != NULL){
  154. printf("%s",info);
  155. }
  156. Sleep(15000);
  157. break;
  158. case 50: //numero 2
  159. system ("cls");
  160. system("color 8F");
  161.  
  162. printf("___________________________________________\n");
  163. printf("Coloque o nome do produto a ser consultado: \n");
  164. printf("___________________________________________\n");
  165. scanf("%s",&info);
  166. char * s ;
  167. for(i=0;i<= MAX_PROD;i++){
  168. sprintf(localprod,"produtos\\%d.ini",i);
  169. if(ini = fopen( localprod, "r") != 0){ // VER SE ARQUIVO EXISTE
  170. ini = fopen(localprod, "r");
  171. ini = iniparser_load(localprod);
  172. s = iniparser_getstring(ini, "info:nome", NULL );
  173.  
  174. if (strncmp (info,s,5) == 0){ // compara as strings,se tiver 5 letras iguais
  175.  
  176. nprod = iniparser_getint(ini, "info:codigo", NULL );
  177. quantprod = iniparser_getint(ini, "info:quantidade", NULL );
  178. printf("Nome = %s Codigo = %d Quantidade = %d\n",s,nprod,quantprod);
  179. }
  180. }
  181. }
  182. Sleep(15000);
  183. break; // PARA O SWITCH INTERNO
  184. }
  185. goto MENU;
  186. break; // PARA O SWITCH EXTERNO
  187.  
  188. case 51:
  189. // ver produtos do estoque
  190. system ("cls");
  191. printf("Produtos no estoque :\n");
  192. i=0; //ZERA A VARIAVEL I PARA COMEÇAR A CONTAR
  193. for(nprod =0; nprod<=500;nprod++){
  194.  
  195. sprintf(localprod,"produtos\\%d.ini",nprod);
  196. if(ini = fopen(localprod, "r") != 0){ // se o arquivo existir,somar o I e mostrar o nome.
  197. ini = iniparser_load(localprod);
  198. nomeprodutosalvo = iniparser_getstring(ini, "info:nome", NULL );
  199. nprod = iniparser_getint(ini, "info:codigo", NULL );
  200. quantprod = iniparser_getint(ini, "info:quantidade", NULL );
  201. printf("Nome = %s Codigo = %d Quantidade = %d\n",nomeprodutosalvo,nprod,quantprod);
  202. i++;
  203. }
  204.  
  205. if(nprod == 500){
  206. printf("numero total de produtos : %d",i);
  207. }
  208. }
  209. Sleep(50000);
  210. break;
  211. case 52: // registrar venda
  212. REGISTRARVENDA:
  213. system ("cls");
  214. printf("Digite o codigo do Produto para registrar venda :");
  215. scanf("%d",&nprod);
  216. printf("Digite o codigo do funcionario para registrar venda :");
  217. scanf("%d",&codigofunc);
  218. sprintf(localprod,"produtos\\%d.ini",nprod);
  219. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  220.  
  221. // tirar o produto do estoque !
  222. ini = iniparser_load(localprod);
  223. quantprod = iniparser_getint(ini,"info:quantidade",-1);
  224. quantprodvendida = iniparser_getint(ini,"info:Quantidade_vendida",NULL);
  225. infopreco = iniparser_getint(ini,"info:preco",NULL);
  226. nomeprodutosalvo = iniparser_getstring(ini,"info:nome",NULL);
  227. if(quantprod == 0){
  228. system ("cls");
  229. Beep(3000,1000);
  230. printf("Esse produto nao existe no estoque!\n");
  231. Sleep(1500);
  232. goto REGISTRARVENDA;
  233. }
  234.  
  235. // checar se o produto e o funcionario existem
  236. if(ini = fopen( localfunc, "r") == 0){
  237. system ("cls");
  238. printf("nao existe um funcionario com esse codigo !\n");
  239. Beep(3000,1000);
  240. Sleep(1500);
  241. goto REGISTRARVENDA;
  242. }
  243. if(ini = fopen( localprod, "r") == 0){
  244. system ("cls");
  245. printf("nao existe um produto com esse codigo !\n");
  246. Beep(3000,1000);
  247. Sleep(1500);
  248. goto REGISTRARVENDA;
  249. }
  250. ini = fopen(localprod,"r");
  251. fgets(linha, 100, ini); // #
  252. fgets(linha1, 100, ini); // #
  253. fgets(linha2, 100, ini); // #
  254. fgets(linha3, 100, ini); //
  255. fgets(linha4, 100, ini); //[info]
  256. fgets(linha5, 100, ini); //
  257. fgets(linha6, 100, ini);//nome
  258. fgets(linha7, 100, ini);//codigo
  259. fgets(linha8, 100, ini);//preco
  260. fgets(linha9, 100, ini);//quantidade do estoque
  261. fgets(linha10, 100, ini);//produto cadastrado
  262. fgets(linha11, 100, ini); // produto cadastrado
  263. fclose(ini);
  264. ini = fopen(localprod,"w");
  265. sprintf(linha9,"quantidade = %d ;",quantprod-1); // edita a linha de quantidade estoque
  266. sprintf(linha11,"Quantidade_vendida = %d",quantprodvendida+1); // edita a linha quantidade de produto vendido
  267. fprintf(ini,"%s%s%s%s%s%s%s%s%s%s\n%s%s\n",linha,linha1,linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10,linha11);
  268. fclose(ini); // \n no final pra poder indicar fim do arquivo
  269. ini = fopen("produtos\\relatorio.ini","a");
  270. /* Pega a hora atual do sistema. */
  271. currentTime= time(NULL);
  272. /* Converte-o em uma estrutura tm. */
  273. timeinfo= localtime(&currentTime);
  274. fprintf(ini,"o produto %s foi vendido Hora: %02d:%02d:%02d no dia : %02d/%02d/%02d \n",nomeprodutosalvo, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec,timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900);
  275. fclose(ini);
  276. // dar a venda pro funcionario
  277. ini = fopen(localfunc,"r");
  278. fgets(linha, 100, ini); // #
  279. fgets(linha1, 100, ini); // #
  280. fgets(linha2, 100, ini); // #
  281. fgets(linha3, 100, ini); //
  282. fgets(linha4, 100, ini); //[info]
  283. fgets(linha5, 100, ini); //
  284. fgets(linha6, 100, ini);//nome
  285. fgets(linha7, 100, ini);//codigo
  286. fgets(linha8, 100, ini);//preco
  287. fgets(linha9, 100, ini);//quantidade
  288. fgets(linha10, 100, ini); // quantidade preço total
  289. fgets(linha11, 100, ini);//produto cadastrado
  290. fclose(ini);
  291. ini = iniparser_load(localfunc);
  292. nvendas = iniparser_getint(ini,"info:quantidade_de_produtos_vendidos",NULL);
  293. quantpreco = iniparser_getint(ini,"info:preço_total_das_vendas",NULL);
  294. int precototalvendas = infopreco + quantpreco;
  295. ini = fopen(localfunc,"w");
  296. sprintf(linha8,"quantidade_de_produtos_vendidos = %d ;\n",nvendas+1); // poi a quantidade de vendas pro vendedor
  297. sprintf(linha9,"preço_total_das_vendas = %d ;\n",precototalvendas); // o preco vendido por ele
  298. fprintf(ini,"%s%s%s%s%s%s%s%s%s%s%s",linha,linha1,linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10,linha11);
  299. fclose(ini);
  300. printf("venda registrada");
  301. Beep(3000,500);
  302. Sleep(1000);
  303. goto REGISTRARVENDA;
  304. break;
  305. case 53:
  306. system ("cls");
  307. printf("Digite o codigo do Produto para ser excluido: ");
  308. scanf("%d",&nprod);
  309. sprintf(localprod,"produtos\\%d.ini",nprod);
  310. if(remove(localprod) == 0){
  311. printf("Produto com codigo %d foi removido com sucesso!\n",nprod);
  312. Beep(3000,500);
  313. Sleep(2000);
  314. system ("cls");
  315. goto MENU;
  316.  
  317. }else{
  318. system ("cls");
  319. printf("Produto com codigo %d nao existe !.\n",nprod);
  320. Beep(3000,1000);
  321. Sleep(1000);
  322. system ("cls");
  323. goto MENU;
  324. }
  325. break;
  326. case 54:
  327. system ("cls");
  328. printf("1-Alterar Nome do produto\n");
  329. printf("2-Alterar Codigo do produto\n");
  330. printf("3-Alterar quantidade de produtos vendidos do produto\n");
  331. printf("4-Alterar Preco total das vendas do produto\n");
  332.  
  333. int controlareditarprod = getch();
  334. switch(controlareditarprod)
  335. {
  336. case 49:
  337. printf("1");
  338. Sleep(5000); // pra nao sair bugado
  339. break;
  340. }
  341. Sleep(5000); // pra nao sair bugado
  342. break; // para o menu anterior
  343. } // quebra o switch do 1 menu
  344.  
  345. case 50: // NUMERO 2
  346. system ("cls");
  347. printf("1-Cadastrar Funcionario\n");
  348. printf("2-Alterar Dados de Funcionario\n");
  349. printf("3-consultar Funcionario\n");
  350. printf("4-Excluir Funcionario\n");
  351. printf("5-Ver Funcionarios registrados\n");
  352. teclafuncionarios = getch();
  353. int teclacadastrar;
  354. switch(teclafuncionarios){
  355. // switch pra controle dos funcionarios
  356. case 49: // NUMERO 1
  357. //teclafuncionarios = getch();
  358. REPETIRFUNC:
  359. system ("cls");
  360. printf("Digite o nome do funcionario:\n");
  361. scanf("%s",&nomefunc);
  362. printf("Digite o novo codigo do funcionario:\n");
  363. scanf("%d",&codigofunc);
  364. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  365. if(ini = fopen( localfunc, "r") != 0){
  366. printf("Ja existe um funcionario com esse codigo !\n");
  367. goto REPETIRFUNC;
  368. }
  369. system ("cls");
  370. system("color 4E");
  371. printf("Funcionario Cadastrado :%s\nCodigo = %d",nomefunc,codigofunc);
  372. Beep(1000,500);
  373. if (argc<2) {
  374. ini_name = localprod;
  375. } else {
  376. ini_name = argv[1] ;
  377. }
  378.  
  379. ini = fopen(localfunc, "w");
  380.  
  381. fprintf(ini,
  382. "#\n"
  383. "# Informacoes do Funcionario\n"
  384. "#\n"
  385. "\n"
  386. "[info]\n"
  387. "\n"
  388. "nome = %s ;\n"
  389. "codigo = %d ;\n"
  390. "quantidade_de_produtos_vendidos = 0 ;\n"
  391. "preço_total_das_vendas = 0;\n"
  392. "Funcionario Cadastrado = %02d:%02d:%02d no dia : %02d/%02d/%02d "
  393. "\n",nomefunc,codigofunc,timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec,timeinfo->tm_mday,timeinfo->tm_mon+1,timeinfo->tm_year+1900);
  394. fclose(ini);
  395. Sleep(3000);
  396. goto MENU;
  397. break;
  398. case 50: // numero 2
  399. system ("cls");
  400. printf("1-Alterar Nome de Funcionario\n");
  401. printf("2-Alterar Codigo de Funcionario\n");
  402. printf("3-Alterar quantidade de produtos vendidos de um Funcionario\n");
  403. printf("4-Alterar Preco total das vendas de um Funcionario\n");
  404. int teclacontrole = getch();
  405. switch(teclacontrole){
  406. case 49: //alterar o nome do funcionario
  407. system ("cls");
  408. printf("____________________Alterar Nome de Funcionario____________\n");
  409. printf("1-Digite o codigo do Funcionario\n");
  410. // perguntar
  411. scanf("%d",&codigofunc);
  412. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  413. ini = iniparser_load(localfunc);
  414. nomefuncionario = iniparser_getstring(ini,"info:nome",-1);
  415. printf("Escreva o novo nome para o funcionario [%s]\n",nomefuncionario);
  416. scanf("%s",&nomefunc);
  417. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  418. ini = fopen(localfunc,"r");
  419. fgets(linha, 100, ini); // #
  420. fgets(linha1, 100, ini); // #
  421. fgets(linha2, 100, ini); // #
  422. fgets(linha3, 100, ini); //
  423. fgets(linha4, 100, ini); //[info]
  424. fgets(linha5, 100, ini); //
  425. fgets(linha6, 100, ini);//nome
  426. fgets(linha7, 100, ini);//codigo
  427. fgets(linha8, 100, ini);//preco
  428. fgets(linha9, 100, ini);//quantidade
  429. fgets(linha10, 100, ini);//produto cadastrado
  430. fgets(linha11, 100, ini);
  431. fclose(ini);
  432. ini = fopen(localfunc,"w");
  433. sprintf(linha6,"nome = %s ;\n",nomefunc); // linha pra alterar o codigo
  434. fprintf(ini,"%s%s%s%s%s%s%s%s%s%s%s",linha,linha1,linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10,linha11);
  435. fclose(ini);
  436.  
  437. break;
  438. case 50: // alterar codigo do funcionario
  439. system ("cls");
  440. printf("Digite o codigo atual do Funcionario\n");
  441. scanf("%d",&codigofuncantigo);
  442. printf("Digite o codigo novo para Funcionario\n");
  443. scanf("%d",&codigofunc);
  444. sprintf(localfunc,"funcionarios\\%d.ini",codigofuncantigo);
  445. sprintf(localfuncnovo,"funcionarios\\%d.ini",codigofunc);
  446. ini = fopen(localfunc,"r");
  447. fgets(linha, 100, ini); // #
  448. fgets(linha1, 100, ini); // #
  449. fgets(linha2, 100, ini); // #
  450. fgets(linha3, 100, ini); //
  451. fgets(linha4, 100, ini); //[info]
  452. fgets(linha5, 100, ini); //
  453. fgets(linha6, 100, ini);//nome
  454. fgets(linha7, 100, ini);//codigo
  455. fgets(linha8, 100, ini);//preco
  456. fgets(linha9, 100, ini);//quantidade
  457. fgets(linha10, 100, ini);//produto cadastrado
  458. fgets(linha11, 100, ini);
  459. fclose(ini);
  460. ini = fopen(localfunc,"w");
  461. sprintf(linha7,"codigo = %d;\n",codigofunc); // linha pra alterar o codigo
  462. fprintf(ini,"%s%s%s%s%s%s%s%s%s%s%s",linha,linha1,linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10,linha11);
  463. fclose(ini);
  464. rename(localfunc,localfuncnovo);
  465. printf("O codigo foi Alterado de %d para %d",codigofuncantigo,codigofunc);
  466. Sleep(2000);
  467. break;
  468. case 51: // alterar quantidade de produtos vendidos por um funcionario
  469. system ("cls");
  470. printf("Digite o codigo do Funcionario para alterar a quantidade de produtos vendidos\n");
  471. scanf("%d",&codigofunc);
  472. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  473. ini = iniparser_load(localfunc);
  474. nvendas = iniparser_getint(ini,"info:quantidade_de_produtos_vendidos",-1);
  475. printf("o funcionario tem %d vendas,digite o novo valor para alterar: ",nvendas);
  476. scanf("%d",&nvendas);
  477. printf("Quantidade de produtos vendidos pelo funcionario foi alterado para : %d!",nvendas);
  478.  
  479. ini = fopen(localfunc,"r");
  480. fgets(linha, 100, ini); // #
  481. fgets(linha1, 100, ini); // #
  482. fgets(linha2, 100, ini); // #
  483. fgets(linha3, 100, ini); //
  484. fgets(linha4, 100, ini); //[info]
  485. fgets(linha5, 100, ini); //
  486. fgets(linha6, 100, ini);//nome
  487. fgets(linha7, 100, ini);//codigo
  488. fgets(linha8, 100, ini);//preco
  489. fgets(linha9, 100, ini);//quantidade
  490. fgets(linha10, 100, ini);//produto cadastrado
  491. fgets(linha11, 100, ini);
  492. fclose(ini);
  493. ini = fopen(localfunc,"w");
  494. sprintf(linha8,"quantidade_de_produtos_vendidos = %d ;\n",nvendas); // linha pra alterar a quantidade de vendas
  495. fprintf(ini,"%s%s%s%s%s%s%s%s%s%s%s",linha,linha1,linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10,linha11);
  496. fclose(ini);
  497. Sleep(2000); // espera um pouco para sair
  498. break;
  499. case 52: // alterar o preco total das vendas de um funcionario
  500. system ("cls");
  501. printf("Digite o codigo do Funcionario para alterar o preco total das vendas\n");
  502. scanf("%d",&codigofunc);
  503. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  504. ini = iniparser_load(localfunc);
  505. quantpreco = iniparser_getint(ini,"info:preço_total_das_vendas",-1);
  506. printf("o funcionario tem %f reais de vendas,digite o novo preco para alterar: ",quantpreco);
  507. scanf("%f",&quantpreco);
  508. printf("Quantidade de produtos vendidos pelo funcionario foi alterado para : %f REAIS!",quantpreco);
  509.  
  510. ini = fopen(localfunc,"r");
  511. fgets(linha, 100, ini); // #
  512. fgets(linha1, 100, ini); // #
  513. fgets(linha2, 100, ini); // #
  514. fgets(linha3, 100, ini); //
  515. fgets(linha4, 100, ini); //[info]
  516. fgets(linha5, 100, ini); //
  517. fgets(linha6, 100, ini);//nome
  518. fgets(linha7, 100, ini);//codigo
  519. fgets(linha8, 100, ini);//preco
  520. fgets(linha9, 100, ini);//quantidade
  521. fgets(linha10, 100, ini);//produto cadastrado
  522. fgets(linha11, 100, ini);
  523. fclose(ini);
  524. ini = fopen(localfunc,"w");
  525. sprintf(linha9,"preço_total_das_vendas = %f;\n",quantpreco); // linha pra alterar a quantidade de total de reais
  526. fprintf(ini,"%s%s%s%s%s%s%s%s%s%s%s",linha,linha1,linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10,linha11);
  527. fclose(ini);
  528. Sleep(2000); // espera um pouco para sair
  529. break;
  530. } // quebra o switch pra alterar info do funcionario
  531. case 51: // continua o switch anterior,caso aperte 3,consultar funcionario
  532. system ("cls");
  533. printf("Coloque o codigo para consultar o funcionario: ");
  534. scanf("%d",&codigofunc);
  535. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  536. ini = fopen(localfunc, "r");
  537. fscanf(ini,"%s",info);
  538. while(fgets(info,200,ini) != NULL){
  539. printf("%s",info);
  540. }
  541. break;
  542. case 52: // continua o switch anterior,caso aperte 4,Excluir funcionario
  543. system ("cls");
  544. printf("Digite o codigo do funcionario para excluir: ");
  545. scanf("%d",&codigofunc);
  546. sprintf(localfunc,"funcionarios\\%d.ini",codigofunc);
  547. if(remove(localfunc) == 0){
  548. printf("funcionario com codigo %d foi removido com sucesso!\n",codigofunc);
  549. Beep(3000,500);
  550. Sleep(2000);
  551. system ("cls");
  552. goto MENU;
  553.  
  554. }else{
  555. system ("cls");
  556. printf("funcionario com codigo %d nao existe !.\n",codigofunc);
  557. Beep(3000,1000);
  558. Sleep(1000);
  559. system ("cls");
  560.  
  561. }
  562. break;
  563. case 53: // continua o switch anterior,caso aperte 5,mostrar todos os funcionarios
  564. system ("cls");
  565. i=0; // zera o i pra contagem
  566. for(nfunc =0; nfunc<=2000;nfunc++){
  567. sprintf(localfunc,"funcionarios\\%d.ini",nfunc);
  568. if(ini = fopen(localfunc, "r") != 0){ // se o arquivo existir,somar o I e mostrar o nome.
  569. ini = iniparser_load(localfunc);
  570. nomefuncionario = iniparser_getstring(ini, "info:nome", NULL );
  571. nprod = iniparser_getint(ini, "info:codigo", NULL );
  572. quantprod = iniparser_getint(ini, "info:quantidade_de_produtos_vendidos", NULL );
  573. quantpreco = iniparser_getint(ini,"info:preço_total_das_vendas",NULL);
  574. printf("Nome = %s Codigo = %d Quantidade de produtos vendidos = %d Preco total = %f\n",nomefuncionario,nprod,quantprod,quantpreco);
  575. i++;
  576. }
  577.  
  578. if(nfunc == 2000){
  579. printf("numero total de funcionarios : %d",i);
  580. }
  581.  
  582.  
  583. } break;
  584. }
  585.  
  586. // quebra o switch geral
  587. //break;
  588. }
  589. getch();
  590. goto MENU;
  591. return 0;
  592. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement