Guest User

Untitled

a guest
Apr 25th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. typedef struct {
  5. char nome[30];
  6. char ramo[30];
  7. int estande, catego, colabo;
  8.  
  9.  
  10. } tipocadastro;
  11. /* funcoes */
  12. void Menu (tipocadastro *cadastro);
  13.  
  14.  
  15. /*OPÇAO N1 */
  16. void cadastro_usuario(tipocadastro *cadastro){
  17. char flag;
  18. FILE *fp;
  19. flag='s';
  20. while (flag == 's'){
  21.  
  22. fp = fopen ("cadastro.bin", "r+b");
  23. if(fp == NULL) {
  24. fp = fopen ("cadastro.bin", "wb");
  25. }
  26. printf("\nInforme o nome: ");
  27. scanf("%s", cadastro->nome);
  28. getchar ();
  29. printf("\nInforme o ramo: ");
  30. scanf("%s", cadastro->ramo);
  31. getchar ();
  32. printf("\nInforme o estande: ");
  33. scanf("%d", &cadastro->estande);
  34. getchar ();
  35. printf("\nInforme a categoria: ");
  36. scanf("%d", &cadastro->catego);
  37. getchar ();
  38. printf("\nInforme o numero de colaboradores: ");
  39. scanf("%d", &cadastro->colabo);
  40.  
  41. printf("%s\n%s\n%d\n%d\n%d\n",cadastro->nome,cadastro->ramo,cadastro->estande,cadastro->catego,cadastro->colabo);
  42. printf("Arquivo alocado em %p\n",fp);
  43. fwrite (&cadastro, sizeof(tipocadastro),1,fp);
  44. printf("Dados gravados\n");
  45. printf("\n\ndeseja criar um novo cadastro?(s/n): ");
  46. getchar ();
  47. scanf("%c", &flag);
  48.  
  49.  
  50. }
  51. fclose(fp);
  52. printf("\nvoltando pro menu :D");
  53.  
  54.  
  55.  
  56. }
  57. /*OPÇAO N2 */
  58. void cadastro_existente (tipocadastro *cadastro){
  59. char flag;
  60. FILE *fp;
  61. flag='s';
  62.  
  63.  
  64. fp = fopen ("cadastro.bin", "rb");
  65. if(!fp) {
  66. printf("\no cadastro atual não possui dados");
  67. fp = fopen ("cadastro.bin", "wb");
  68. }
  69. else {
  70. fp=fopen("cadastro.bin", "ab");
  71. printf("arquivo existe\n");
  72. }
  73. while (flag=='s') {
  74. printf("\nInforme o nome: ");
  75. scanf("%s", cadastro->nome);
  76. getchar ();
  77. printf("\nInforme o ramo: ");
  78. scanf("%s", cadastro->ramo);
  79. getchar ();
  80. printf("\nInforme o estande: ");
  81. scanf("%d", &(cadastro->estande));
  82. getchar ();
  83. printf("\nInforme a categoria: ");
  84. scanf("%d", &(cadastro->catego));
  85. getchar ();
  86. printf("\nInforme o numero de colaboradores: ");
  87. scanf("%d", &(cadastro->colabo));
  88.  
  89. printf("%s\n%s\n%d\n%d\n%d\n",cadastro->nome,cadastro->ramo,cadastro->estande,cadastro->catego,cadastro->colabo);
  90. printf("Arquivo alocado em %p\n",fp);
  91. fwrite (cadastro, sizeof(tipocadastro),1,fp);
  92. printf("\n\ndeseja criar um novo cadastro?(s/n): ");
  93. getchar();
  94. scanf("%c", &flag);
  95.  
  96. }
  97. fclose(fp);
  98. printf("Dados gravados\n");
  99.  
  100. }
  101. /*OPÇAO 03 */
  102. void consultar_cadastro_nestande (tipocadastro *cadastro){
  103. int num_estande;
  104. FILE *fp;
  105.  
  106. fp = fopen ("cadastro.bin", "r+b");
  107. if(fp == NULL) {
  108. printf("\nNao existem cadastros a serem consultados\ncrie um cadastro");
  109. /* fp = fopen ("cadastro.bin", "wb"); */
  110. Menu(cadastro);
  111. }
  112.  
  113. printf("\nentre com o numero do estande");
  114. scanf("%d", &num_estande);
  115. getchar ();
  116. while (fread(cadastro, sizeof(tipocadastro),1,fp) != 0) {
  117.  
  118. if (&num_estande == &cadastro->estande ) {
  119. printf("\n\nNome: %s", cadastro->nome);
  120. }
  121.  
  122. }
  123. }
  124. /*OPÇÃO 04 */
  125. void consultar_cadastro_categoria (tipocadastro *cadastro) {
  126.  
  127. }
  128. /*OPÇÃO 05 */
  129. void Arquivo_texto (){
  130.  
  131.  
  132. }
  133. /*MENU PRINCIPAL */
  134.  
  135. void Menu (tipocadastro *cadastro)
  136. {
  137. int option, running=0;
  138. while (running == 0) {
  139. printf("1.CRIAR E INICIAR CADASTRO NOVO\n2.INCLUIR DADOS NO CADASTRO EXISTENTE\n3.CONSULTAR O CADASTRO NUMERO DO ESTANDE\n4.CONSULTAR O CADASTRO POR CATEGORIA\n5.GERAR RELATORIO EM ARQUIVO .TXT\n6.SAIR\n\nescolha uma opcao: ");
  140. scanf("%d", &option);
  141. switch(option){
  142. case 1: cadastro_usuario(cadastro);
  143. break;
  144. case 2: cadastro_existente(cadastro);
  145.  
  146. break;
  147. case 3:consultar_cadastro_nestande(cadastro);
  148. break;
  149. case 4:consultar_cadastro_categoria(cadastro);
  150. break;
  151. case 5:Arquivo_texto ();
  152. break;
  153. case 6: running++;
  154. break;
  155. default:break;
  156.  
  157.  
  158. }
  159.  
  160. /*getchar ();*/
  161. }
  162.  
  163. }
  164. /*____________________________________________________________main________________________________________________________________________*/
  165. int main () {
  166. tipocadastro cadastro;
  167. int option;
  168. FILE *fp;
  169. char nomearquivo_cadastro[50] = "cadastro.bin";
  170.  
  171.  
  172. Menu(&cadastro);
  173.  
  174. printf("retornando\n");
  175.  
  176.  
  177. getchar ();
  178. getchar ();
  179.  
  180. return (0);
  181. }
Add Comment
Please, Sign In to add comment