Advertisement
Guest User

Programa Cadastro Arquivo C

a guest
Feb 28th, 2012
3,525
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. struct Registro_Banda{
  6. char nome_banda[50];
  7. int data;
  8. int integrantes;
  9. int cod;
  10. };
  11.  
  12. struct Registro_Banda Banda;
  13. struct Registro_Album album[3];
  14.  
  15. void criar(FILE *arquivo);//Função para criar o arquivo
  16. void inserir(FILE *arquivo);//Função para inserir dados
  17. void exibir(FILE *arquivo);//Função para exibir dados
  18. void pesquisar(FILE *arquivo);//Função para pesquisar dados
  19. void creditos();//Função para informações extras
  20.  
  21. int main(){
  22. int op;
  23. FILE *arquivo;
  24. criar(arquivo);
  25. do{
  26. printf("***********************************\n");
  27. printf("* MENU *\n");
  28. printf("***********************************\n");
  29. printf("* 1 - Cadastrar Banda *\n");
  30. printf("* 2 - Listar Bandas *\n");
  31. printf("* 3 - Pesquisar Banda *\n");
  32. printf("* 4 - Alterar Banda *\n");//falta
  33. printf("* 5 - Remover Bandas *\n");//falta
  34. printf("* 6 - Creditos *\n");
  35. printf("* 7 - Sair *\n");
  36. printf("***********************************\n");
  37. printf("\nDigite sua opcao: ");
  38. scanf("%d",&op);
  39. switch(op){
  40. case 1:
  41. system("cls");
  42. inserir(arquivo);
  43. break;
  44. case 2:
  45. system("cls");
  46. exibir(arquivo);
  47. break;
  48. case 3:
  49. system("cls");
  50. pesquisar(arquivo);
  51. break;
  52. case 4:
  53. //falta
  54. break;
  55. case 5:
  56. //falta
  57. break;
  58.  
  59. case 6:
  60. system("cls");
  61. creditos();
  62. break;
  63. default:
  64. printf("Saindo!\n");
  65. }
  66. }while(op != 7);
  67. system("pause");
  68. }
  69.  
  70. //Função para informações extras
  71. void creditos() {
  72. system("cls");
  73. printf("\n\n\n");
  74. printf("\t***********************************************************\n");
  75. printf("\t# Insdutira Entretenimento Vorpmais *\n");
  76. printf("\t# Programa desenvolvido por: Francisco Balbino Souza *\n");
  77. printf("\t# Para mais informacoes acesse o site: www.vorpmaisdesenv.com *\n");
  78. printf("\t***********************************************************\n\n\n");
  79. printf("\t\t\tTecle <ENTER> para voltar");
  80. getch();
  81. system("cls");
  82. }
  83.  
  84. //Função para pesquisar dados
  85. void pesquisar(FILE *arquivo){
  86. char Nomepesquisa[50];
  87. fflush(stdin);
  88. if((arquivo = fopen("Logger.txt","rb")) == NULL){
  89. exit(0);
  90. }
  91. printf("\n----------------------------------------------------------\n\n");
  92. printf("Digite o nome da Banda que deseja pesquisar: ");
  93. gets(Nomepesquisa);
  94. printf("\n");
  95. fread(&Banda,sizeof(struct Registro_Banda),1,arquivo);
  96. if(strcmp(Nomepesquisa,Banda.nome_banda) == 0){
  97. printf("Nome: %s\n",Banda.nome_banda);
  98. printf("Data: %d\n",Banda.data);
  99. printf("Codigo: %d\n",Banda.cod);
  100. }else{
  101. printf("Nome nao encontrado\n");
  102. }
  103. printf("\n----------------------------------------------------------\n\n");
  104. }
  105.  
  106. //Função para exibir dados
  107. void exibir(FILE *arquivo){
  108. if((arquivo = fopen("Logger.txt","rb")) == NULL){
  109. //exit(0); Função para sair do programa em caso de erro.
  110. printf("Problemas na abertura do arquivo!\n");
  111. printf("\nTecle <ENTER> para voltar!");
  112. getch();
  113. system("cls");
  114. main();
  115.  
  116. }
  117. printf("\n----------------------------------------------------------\n\n");
  118. printf("As Bandas cadastradas sao: \n");
  119. fread(&Banda,sizeof(struct Registro_Banda),1,arquivo);
  120. while(!feof(arquivo)){//Enquanto não chega ao fim do arquivo, lê o aquivo
  121. printf("Nome: %s\n",Banda.nome_banda);
  122. printf("Data: %d\n",Banda.data);
  123. printf("Codigo: %d\n\n",Banda.cod);
  124. fread(&Banda,sizeof(struct Registro_Banda),1,arquivo);
  125. }
  126. printf("\n----------------------------------------------------------\n\n");
  127. printf("Tecle <ENTER> para voltar!");
  128. getch();
  129. system("cls");
  130. }
  131.  
  132. //Função para inserir dados
  133. void inserir(FILE *arquivo){
  134. int tam,i;
  135. printf("Digite a quantidade de bandas que deseja Cadastrar: ");
  136. scanf("%d",&tam);
  137. (struct Banda*) malloc(tam*sizeof(struct Registro_Banda));//Aloca memória para a estrutura
  138. if((arquivo = fopen("Logger.txt","a+")) == NULL){
  139. exit(0);
  140. }
  141. printf("\n----------------------------------------------------------\n\n");
  142. for(i=0; i<tam; i++){
  143. fflush(stdin);
  144. printf("Digite o Nome da Banda: ");
  145. scanf("%s",&Banda.nome_banda);
  146. printf("Digite a data de criação da Banda: ");
  147. scanf("%d",&Banda.data);
  148. printf("Digite o codigo da Banda: ");
  149. scanf("%d",&Banda.cod);
  150. fwrite(&Banda,sizeof(struct Registro_Banda),1,arquivo);//gravadados
  151. printf("\n");
  152. }
  153. fclose(arquivo);
  154. printf("Tecle <ENTER> para voltar!");
  155. getch();
  156. system("cls");
  157. }
  158.  
  159. //Função para criar o arquivo
  160. void criar(FILE *arquivo){
  161. if((arquivo = fopen("banda.dat","wb")) == NULL){
  162. exit(0);
  163. }
  164. fclose(arquivo);
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement