Advertisement
Guest User

cadastro bandas

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