Advertisement
Guest User

Untitled

a guest
Nov 24th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <conio.h>
  5. #include<locale.h>
  6.  
  7. typedef struct Registro_aluno {
  8. char nome_aluno[50];
  9. int data;
  10. char sex[20];
  11. int deletado;
  12. int rf;
  13. char curso[20];
  14.  
  15. };
  16.  
  17. struct Registro_aluno aluno;
  18.  
  19. void criar(FILE *arquivo);
  20. void inserir(FILE *arquivo);
  21. void exibir(FILE *arquivo);
  22. void pesquisar(FILE *arquivo);
  23.  
  24. ////////////////////////////////////CADASTRO ALUNOS////////////////////////////////////
  25. void inserir(FILE *arquivo){
  26.  
  27. arquivo = fopen("Escola.txt","a");
  28.  
  29. int i,tam;
  30. printf("Quantos alunos deseja matricular ? ");
  31. scanf("%d",&tam);
  32. (struct aluno*) malloc(tam*sizeof(struct Registro_aluno));//Aloca memória para a estrutura
  33. if((arquivo = fopen("Escola.txt","a+")) == NULL) {
  34. exit(0);
  35. }
  36. printf("\n----------------------------------------------------------\n\n");
  37. for(i=0; i<tam; i++) {
  38.  
  39.  
  40. printf("Nome do aluno: ");
  41. fflush(stdin);
  42. scanf("%s",aluno.nome_aluno);
  43. printf("Data de nascimento: ");
  44. scanf("%d",aluno.data);
  45. printf("Sexo: ");
  46. fflush(stdin);
  47. scanf("%s",aluno.sex);
  48. printf("Renda familiar: ");
  49. scanf("%d",aluno.rf);
  50. printf("Curso: ");
  51. fflush(stdin);
  52. scanf("%s",aluno.curso);
  53.  
  54. fwrite(&aluno,sizeof(struct Registro_aluno),1,arquivo);
  55. printf("\n");
  56. }
  57.  
  58. fclose(arquivo);
  59. printf("Tecle <ENTER> para voltar!");
  60. getch();
  61. system("cls");
  62. }
  63. /////////////////////////////////Fim CADASTRO ALUNOS//////////////////////////////
  64.  
  65. ////////////ALunos matriculados///////////////////////
  66. void exibir(FILE *arquivo){
  67.  
  68. arquivo = fopen("Escola.txt","r");
  69.  
  70. if (arquivo == NULL){
  71.  
  72. printf("Problemas ao abrir o Arquivo\n");
  73.  
  74. }
  75. printf("\n----------------------------------------------------------\n\n");
  76. printf("\t\t\tLista de Alunos: \n");
  77. printf("\n");
  78. fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
  79. while(!feof(arquivo)){//Enquanto não chega ao fim do arquivo, lê o aquivo
  80.  
  81. printf("Nome do aluno: %s\n",aluno.nome_aluno);
  82. printf("Data de nascimento: %d\n",aluno.data);
  83. printf("Sexo: %s\n",aluno.sex);
  84. printf("Renda Familiar: %d\n",aluno.rf);
  85. printf("Curso: %s\n",aluno.curso);
  86. printf("-------------------------------------\n");
  87. fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
  88. }
  89. printf("\n----------------------------------------------------------\n\n");
  90. printf("Tecle <ENTER> para voltar!");
  91. getch();
  92. system("cls");
  93. }
  94. ////////////Fim ALunos matriculados///////////////////////
  95.  
  96. ////////////////// Pesquisar alunos ////////////////////////////////
  97. void pesquisar(FILE *arquivo){
  98. arquivo = fopen("Escola.txt","r");
  99. char Nomepesquisa[50];
  100. int achou = 1;
  101. fflush(stdin);
  102.  
  103. printf("\n----------------------------------------------------------\n\n");
  104. printf("Digite o nome do aluno para buscar: ");
  105. gets(Nomepesquisa);
  106. printf("\n");
  107.  
  108. rewind(arquivo); //serve para retornar ao começo do arquivo.
  109. do
  110. {
  111. fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
  112. if(strcmp(Nomepesquisa,aluno.nome_aluno) == 0){
  113.  
  114. printf("Nome: %s\n",aluno.nome_aluno);
  115. printf("Data: %d\n",aluno.data);
  116. printf("Sexo: %s\n",aluno.sex);
  117. printf("Renda familiar: %d\n",aluno.rf);
  118. printf("Curso: %s\n",aluno.curso);
  119.  
  120. achou=0;
  121. printf("\n----------------------------------------------------------\n\n");
  122. printf("\t\t\tTecle <ENTER> para voltar");
  123. getch();
  124. system("cls");
  125. break;
  126. }
  127. }while(!feof(arquivo));
  128. if(achou!=0){
  129. printf("Nome nao encontrado\n");
  130. printf("\n----------------------------------------------------------\n\n");
  131. }
  132. }
  133. //////////////////Fim Pesquisar alunos ////////////////////////////////
  134.  
  135. ///////////////////////// alterar dados////////////////////////
  136. void alterar(FILE *arquivo){
  137. arquivo = fopen("Escola.txt","r+b");
  138.  
  139. struct Registro_aluno aluno;
  140.  
  141. char nome[30];
  142. int posicao = 0;
  143. int cont=0;
  144. fseek(arquivo, posicao, SEEK_SET);
  145.  
  146. // rewind(arquivo);
  147. //fread(&aluno,sizeof(struct Registro_aluno),1,arquivo);
  148.  
  149.  
  150.  
  151. //arquivo = fopen("Escola.txt","r+b");
  152.  
  153. if (arquivo == NULL){
  154. printf("Problemas ao abrir o Arquivo\n");
  155.  
  156. }
  157. else{
  158. fflush(stdin);
  159. printf("Digite o nome que voce quer alterar: ");
  160. gets(nome);
  161.  
  162. while(&aluno,sizeof(struct Registro_aluno),1,arquivo);{
  163.  
  164. if(strcmp(nome,aluno.nome_aluno)==0){
  165.  
  166. printf("Nome: %s\n",aluno.nome_aluno);
  167. printf("Data: %d\n",aluno.data);
  168. printf("Sexo: %s\n",aluno.sex);
  169. printf("Renda familiar: %d\n",aluno.rf);
  170. printf("Curso: %s\n",aluno.curso);
  171. printf("------------------------------------\n\n");
  172. printf("Deseja alterar? S/N");
  173. getch();
  174.  
  175.  
  176.  
  177. }
  178. cont++;
  179. }
  180.  
  181. fflush(stdin);
  182. printf("Digite o Nome: ");
  183. gets(aluno.nome_aluno);
  184.  
  185.  
  186. printf("Digite a Idade: ");
  187. gets(aluno.data);
  188.  
  189. fflush(stdin);
  190. printf("Digite o Sexo: ");
  191. gets(aluno.sex);
  192.  
  193.  
  194. printf("Digite A Renda mensal: ");
  195. gets(aluno.rf);
  196.  
  197. fflush(stdin);
  198. printf("Digite o Curso: ");
  199. gets(aluno.curso);
  200.  
  201. printf("\n\n");
  202. //fseek(arquivo,sizeof(struct Registro_aluno)*cont,SEEK_SET);
  203. //fwrite(&aluno,sizeof(struct Registro_aluno),1,arquivo);
  204.  
  205.  
  206. }
  207. fclose(arquivo);
  208. printf("Cadastro alterado com sucesso!,pressione ENTER para voltar");
  209. getch();
  210.  
  211. }
  212. /////////////////////// Fim alterar ////////////////////////////////
  213.  
  214.  
  215.  
  216. void criar(FILE *arquivo){
  217. if((arquivo = fopen("Escola.dat","wb")) == NULL) {
  218. exit(0);
  219. }
  220. fclose(arquivo);
  221. }
  222.  
  223. int main(){
  224. int op;
  225. int codigo;
  226. FILE *arquivo;
  227. criar(arquivo);
  228. do {
  229. system("color 30");
  230.  
  231. printf("\t\t\t-----------------------------------\n");
  232. printf("\t\t\t| MENU |\n");
  233. printf("\t\t\t-----------------------------------\n");
  234. printf("\t\t\t| 1 - Cadastrar Alunos |\n");
  235. printf("\t\t\t| 2 - Alunos matriculados |\n");
  236. printf("\t\t\t| 3 - Pesquisar Aluno |\n");
  237. printf("\t\t\t| 4 - Alterar Aluno |\n");
  238. printf("\t\t\t| 5 - Remover Alunos |\n");
  239. printf("\t\t\t| 7 - Sair |\n");
  240. printf("\t\t\t-----------------------------------\n");
  241.  
  242.  
  243. printf("\t\t\tDigite sua opcao: ");
  244. scanf("%d",&op);
  245.  
  246. switch(op){
  247. case 1:
  248. system("cls");
  249. inserir(arquivo);
  250. break;
  251.  
  252. case 2:
  253. system("cls");
  254. exibir(arquivo);
  255. break;
  256.  
  257. case 3:
  258. system("cls");
  259. pesquisar(arquivo);
  260. break;
  261.  
  262. case 4:
  263. system("cls");
  264. alterar(arquivo);
  265. break;
  266.  
  267. case 5:
  268.  
  269. break;
  270.  
  271. }
  272.  
  273. } while(op != 7);
  274. system("pause");
  275. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement