Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <conio.h>
  5.  
  6. typedef struct{
  7.  
  8. char calle[40];
  9. int numero;
  10. char colonia[40];
  11. int CP;
  12. char ciudad[40];
  13. }direc;
  14.  
  15. typedef struct{
  16. int sistemas;
  17. int quimica;
  18. int algebra;
  19. int mecanica;
  20. int calculo;
  21. }calf;
  22.  
  23.  
  24. typedef struct{
  25.  
  26. int nua;
  27. char nombre[70];
  28. char carrera[70];
  29. direc domicilio;
  30. calf kardex;
  31. }Alumno;
  32.  
  33. /* Arreglo que almacena alumnos */
  34. Alumno palumno[40];
  35.  
  36.  
  37. /* Contiene el numero de alumnos actual */
  38. int total = 0;
  39. int i,j;
  40.  
  41.  
  42. char menu(void)
  43. {
  44. char c;
  45. system("cls");
  46. printf("BIENVENIDO\n\n\n");
  47. printf("*******MENU*******\n\n");
  48. printf("Que desea realizar?\n\n");
  49. printf("1.- Ingresar los datos de un alumno\n\n");
  50. printf("2.- Buscar los datos de un alumno\n\n");
  51. printf("3.- Eliminar los datos de un alumno\n\n");
  52. printf("4.- Mostrar listado de alumnos\n\n");
  53. printf("5.- Salir\n\n\n");
  54. printf("Opcion: ");
  55. scanf("%s", &c);
  56. return(c);
  57. }
  58.  
  59.  
  60. void registrar()
  61. {
  62. system("cls");
  63. printf("*******REGISTRO DE ALUMNO*******\n\n\n");
  64. printf("***DATOS GENERALES***\n\n", i+1);
  65. printf("PONER TODO EL NOMBRE EN MAYUSCULAS\n\nIngrese el nombre del alumno: \n", i+1);
  66. getchar();
  67. gets(palumno[total].nombre);
  68. printf("\nIngrese el NUA:\n");
  69. scanf("%i",&(palumno[total].nua));
  70. printf("\nIngrese la carrera:\n");
  71. getchar();
  72. gets(palumno[total].carrera);
  73.  
  74. printf("\n\n***DOMICILIO***\n");
  75. printf("\nIngrese la calle: \n");
  76. gets(palumno[total].domicilio.calle);
  77. printf("\nIngrese el numero de domicilio\n");
  78. scanf("%i",&(palumno[total].domicilio.numero));
  79. printf("\nIngrese la colonia: \n");
  80. getchar();
  81. gets(palumno[total].domicilio.colonia);
  82. printf("\nIngrese el Codigo Postal: \n");
  83. scanf("%i",&(palumno[total].domicilio.CP));
  84. printf("\nIngrese la ciudad en donde esta ubicado: \n");
  85. getchar();
  86. gets(palumno[total].domicilio.ciudad);
  87.  
  88. printf("\n\n***CALIFICACIONES***\n");
  89. fflush(stdin);
  90. printf("\nIngrese la calificacion de Fundamentos de los Sistemas de Informacion: \n");
  91. scanf("%d", &(palumno[total].kardex.sistemas));
  92. printf("\nIngrese la calificacion de Mecanica: \n");
  93. scanf("%d", &(palumno[total].kardex.mecanica));
  94. printf("\nIngrese la calificacion de Calculo Diferencial: \n");
  95. scanf("%d", &(palumno[total].kardex.calculo));
  96. printf("\nIngrese la calificacion de Algebra Lineal: \n");
  97. scanf("%d", &(palumno[total].kardex.algebra));
  98. printf("\nIngrese la calificacion de Quimica Universitaria: \n");
  99. scanf("%d", &(palumno[total].kardex.quimica));
  100.  
  101. total++;
  102.  
  103. system("cls");
  104. printf("Registro completo\n");
  105. }
  106.  
  107. void buscar1()
  108. {
  109. char name[70];
  110.  
  111. FILE *pf;
  112. pf = fopen("KARDEX.txt", "w");
  113. if (pf == NULL){
  114. printf("El fichero no se puede abrir");
  115. exit(1); }
  116.  
  117. system("cls");
  118. printf("Ingrese nombre a buscar: \n\n ");
  119. printf("NOTA: PONER EL NOMBRE EN MAYUSCULAS \n\n ");
  120. getchar();
  121. gets(name);
  122.  
  123. for(i=0; i<total; i++){
  124. if(!strcmp(palumno[i].nombre, name))
  125. {
  126. system("cls");
  127. //DATOS ESCOLARES
  128. printf("*******DATOS DEL ALUMNO*******\n\n\n");
  129. printf("***DATOS GENERALES***\n");
  130. printf("Nombre: %s\n", palumno[i].nombre);
  131. printf("NUA: %d\n", palumno[i].nua);
  132. printf("Carrera: %s\n", palumno[i].carrera);
  133. //DOMICILIO
  134. printf("\n***DOMICILIO***\n");
  135. printf("Calle: %s\n", palumno[i].domicilio.calle);
  136. printf("Numero de residencia: %d\n", palumno[i].domicilio.numero);
  137. printf("Colonia: %s\n", palumno[i].domicilio.colonia);
  138. printf("Codigo Postal: %d\n", palumno[i].domicilio.CP);
  139. printf("Ciudad: %s\n", palumno[i].domicilio.ciudad);
  140. //kARDEX
  141. printf("\n***KARDEX***\n");
  142. printf("Fundamentos de los Sistemas de Informacion: %d\n", palumno[i].kardex.sistemas);
  143. printf("Mecanica: %d\n", palumno[i].kardex.mecanica);
  144. printf("Calculo Diferencial: %d\n", palumno[i].kardex.calculo);
  145. printf("Algebra Lineal: %d\n", palumno[i].kardex.algebra);
  146. printf("Quimica Universitaria: %d\n", palumno[i].kardex.quimica);
  147. printf("\n\n\nNOTA: Su kardex fue impreso en KARDEX.txt");
  148.  
  149. //*************************IMPRESION TXT***************************
  150.  
  151. fprintf(pf,"*******DATOS DEL ALUMNO*******\n\n\n");
  152. fprintf(pf,"***DATOS GENERALES***\n");
  153. fprintf(pf, "Nombre: %s\n", palumno[i].nombre);
  154. fprintf(pf, "NUA: %d\n", palumno[i].nua);
  155. fprintf(pf, "Carrera: %s\n", palumno[i].carrera);
  156. fprintf(pf, "\n\n***DOMICILIO***\n");
  157. fprintf(pf, "Calle: %s\n", palumno[i].domicilio.calle);
  158. fprintf(pf, "Numero de Residencia: %d\n", palumno[i].domicilio.numero);
  159. fprintf(pf, "Codigo Postal: %d\n", palumno[i].domicilio.CP);
  160. fprintf(pf, "Ciudad: %s\n", palumno[i].domicilio.ciudad);
  161.  
  162. fprintf(pf, "\n\n***KARDEX***\n");
  163. fprintf(pf, "Fundamentos de los Sistemas de Informacion: %d\n", palumno[i].kardex.sistemas);
  164. fprintf(pf, "Mecanica: %d\n", palumno[i].kardex.mecanica);
  165. fprintf(pf, "Calculo Diferencial: %d\n", palumno[i].kardex.calculo);
  166. fprintf(pf, "Algebra Lineal: %d\n", palumno[i].kardex.algebra);
  167. fprintf(pf, "Quimica Universitaria: %d\n", palumno[i].kardex.quimica);
  168.  
  169. fclose(pf);
  170. }
  171.  
  172. else{
  173. printf("Alumno no encontrado\n");
  174. }
  175. }
  176.  
  177. }
  178.  
  179. void buscar2()
  180. {
  181. int nau, i=0;
  182.  
  183. FILE *pf;
  184. pf = fopen("KARDEX.txt", "w");
  185. if (pf == NULL){
  186. printf("El fichero no se puede abrir");
  187. exit(1); }
  188.  
  189. system("cls");
  190. printf("Ingrese el NUA a buscar: \n\n ");
  191. getchar();
  192. scanf("%d", &nau);
  193.  
  194. for(i=0; i<total; i++){
  195. if(palumno[i].nua==nau)
  196. {
  197. system("cls");
  198. //DATOS ESCOLARES
  199. printf("*******DATOS DEL ALUMNO*******\n\n\n");
  200. printf("***DATOS GENERALES***\n");
  201. printf("Nombre: %s\n", palumno[i].nombre);
  202. printf("NUA: %d\n", palumno[i].nua);
  203. printf("Carrera: %s\n", palumno[i].carrera);
  204. //DOMICILIO
  205. printf("\n***DOMICILIO***\n");
  206. printf("Calle: %s\n", palumno[i].domicilio.calle);
  207. printf("Numero de residencia: %d\n", palumno[i].domicilio.numero);
  208. printf("Colonia: %s\n", palumno[i].domicilio.colonia);
  209. printf("Codigo Postal: %d\n", palumno[i].domicilio.CP);
  210. printf("Ciudad: %s\n", palumno[i].domicilio.ciudad);
  211. //kARDEX
  212. printf("\n***KARDEX***\n");
  213. printf("Fundamentos de los Sistemas de Informacion: %d\n", palumno[i].kardex.sistemas);
  214. printf("Mecanica: %d\n", palumno[i].kardex.mecanica);
  215. printf("Calculo Diferencial: %d\n", palumno[i].kardex.calculo);
  216. printf("Algebra Lineal: %d\n", palumno[i].kardex.algebra);
  217. printf("Quimica Universitaria: %d\n", palumno[i].kardex.quimica);
  218.  
  219. printf("\n\n\nNOTA: Su kardex fue impreso en KARDEX.txt\n");
  220.  
  221. //*************************IMPRESION TXT***************************
  222.  
  223. fprintf(pf,"*******DATOS DEL ALUMNO*******\n\n\n");
  224. fprintf(pf,"***DATOS GENERALES***\n\n");
  225. fprintf(pf, "Nombre: %s\n", palumno[i].nombre);
  226. fprintf(pf, "NUA: %d\n", palumno[i].nua);
  227. fprintf(pf, "Carrera: %s\n", palumno[i].carrera);
  228. fprintf(pf, "\n\n***DOMICILIO***\n");
  229. fprintf(pf, "Calle: %s\n", palumno[i].domicilio.calle);
  230. fprintf(pf, "Numero de Residencia: %d\n", palumno[i].domicilio.numero);
  231. fprintf(pf, "Codigo Postal: %d\n", palumno[i].domicilio.CP);
  232. fprintf(pf, "Ciudad: %s\n", palumno[i].domicilio.ciudad);
  233.  
  234. fprintf(pf, "\n\n***KARDEX***\n");
  235. fprintf(pf, "Fundamentos de los Sistemas de Informacion: %d\n", palumno[i].kardex.sistemas);
  236. fprintf(pf, "Mecanica: %d\n", palumno[i].kardex.mecanica);
  237. fprintf(pf, "Calculo Diferencial: %d\n", palumno[i].kardex.calculo);
  238. fprintf(pf, "Algebra Lineal: %d\n", palumno[i].kardex.algebra);
  239. fprintf(pf, "Quimica Universitaria: %d\n", palumno[i].kardex.quimica);
  240.  
  241. fclose(pf);
  242. }
  243. else{
  244. printf("Alumno no encontrado\n");
  245. }
  246. }
  247.  
  248. }
  249.  
  250. void eliminar1()
  251. {
  252. char name[70];
  253. int i=0, k=0;
  254.  
  255. system("cls");
  256. printf("Ingrese el nombre del alumno a eliminar(mayusculas)):\n\n ");
  257. getchar();
  258. gets(name);
  259.  
  260. for(i=0; i<total; i++)
  261. if(!strcmp(palumno[i].nombre, name))
  262. {
  263. for(k=i+1;k<total;k++)
  264. {
  265. //DATOS GENERALES
  266. strcpy(palumno[k-1].nombre, palumno[k].nombre);
  267. palumno[k-1].nua= palumno[k].nua;
  268. strcpy(palumno[k-1].carrera, palumno[k].carrera);
  269. //DOMICILIO
  270. strcpy(palumno[k-1].domicilio.calle, palumno[k].domicilio.calle);
  271. palumno[k-1].domicilio.numero= palumno[k].domicilio.numero;
  272. strcpy(palumno[k-1].domicilio.colonia, palumno[k].domicilio.colonia);
  273. palumno[k-1].domicilio.CP= palumno[k].domicilio.CP;
  274. strcpy(palumno[k-1].domicilio.ciudad, palumno[k].domicilio.ciudad);
  275. //KARDEX
  276. palumno[k-1].kardex.sistemas= palumno[k].kardex.sistemas;
  277. palumno[k-1].kardex.mecanica= palumno[k].kardex.mecanica;
  278. palumno[k-1].kardex.calculo= palumno[k].kardex.calculo;
  279. palumno[k-1].kardex.algebra= palumno[k].kardex.algebra;
  280. palumno[k-1].kardex.quimica= palumno[k].kardex.quimica;
  281.  
  282. }
  283. system("cls");
  284. printf("Eliminacion completada\n");
  285. total--;
  286. break;
  287. }
  288.  
  289. else{
  290. printf("\nAlumno no encontrado\n");
  291. }
  292. }
  293.  
  294. void eliminar2()
  295. {
  296. int nau, i=0, k=0;
  297. system("cls");
  298. printf("Ingrese el NUA del alumno a eliminar:\n\n ");
  299. getchar();
  300. scanf("%d", &nau);
  301.  
  302. for(i=0; i<total; i++)
  303. if(palumno[i].nua==nau)
  304. {
  305. for(k=i+1;k<total;k++)
  306. {
  307. //DATOS GENERALES
  308. strcpy(palumno[k-1].nombre, palumno[k].nombre);
  309. palumno[k-1].nua= palumno[k].nua;
  310. strcpy(palumno[k-1].carrera, palumno[k].carrera);
  311. //DOMICILIO
  312. strcpy(palumno[k-1].domicilio.calle, palumno[k].domicilio.calle);
  313. palumno[k-1].domicilio.numero= palumno[k].domicilio.numero;
  314. strcpy(palumno[k-1].domicilio.colonia, palumno[k].domicilio.colonia);
  315. palumno[k-1].domicilio.CP= palumno[k].domicilio.CP;
  316. strcpy(palumno[k-1].domicilio.ciudad, palumno[k].domicilio.ciudad);
  317. //KARDEX
  318. palumno[k-1].kardex.sistemas= palumno[k].kardex.sistemas;
  319. palumno[k-1].kardex.mecanica= palumno[k].kardex.mecanica;
  320. palumno[k-1].kardex.calculo= palumno[k].kardex.calculo;
  321. palumno[k-1].kardex.algebra= palumno[k].kardex.algebra;
  322. palumno[k-1].kardex.quimica= palumno[k].kardex.quimica;
  323.  
  324. }
  325. system("cls");
  326. printf("Eliminacion completada\n");
  327. total--;
  328. break;
  329. }
  330.  
  331. else{
  332. printf("\nAlumno no encontrado\n");
  333. }
  334. }
  335.  
  336.  
  337. void ver()
  338. {
  339. FILE *pf;
  340. pf = fopen("LISTA.txt", "w");
  341. if (pf == NULL){
  342. printf("El fichero no se puede abrir");
  343. exit(1); }
  344.  
  345. system("cls");
  346. printf("NOTA: La lista de alumnos fue impreso en LISTA.txt\n\n ");
  347. printf("\t\t\t*******LISTA DE ALUMNOS*******\n");
  348. fprintf(pf, "\t\t\t*******LISTA DE ALUMNOS*******\n");
  349. for(i=0; i<total; i++)
  350. {
  351.  
  352. printf("\n\n\n*************************REGISTRO [%d]*************************", i);
  353. printf("\n\n***DATOS GENERALES***\n");
  354. printf("%s\n", palumno[i].nombre);
  355. printf("%d\n", palumno[i].nua);
  356. printf("%s\n", palumno[i].carrera);
  357. printf("\n\n***DOMICILIO***\n");
  358. printf("%s\n", palumno[i].domicilio.calle);
  359. printf("%d\n", palumno[i].domicilio.numero);
  360. printf("%d\n", palumno[i].domicilio.colonia);
  361. printf("%d\n", palumno[i].domicilio.CP);
  362. printf("%s\n", palumno[i].domicilio.ciudad);
  363.  
  364. printf("\n\nKARDEX\n");
  365. printf("Fundamentos de los Sistemas de Informacion %d\n", palumno[i].kardex.sistemas);
  366. printf("Mecanica %d\n", palumno[i].kardex.mecanica);
  367. printf("Calculo Diferencial %d\n", palumno[i].kardex.calculo);
  368. printf("Algebra Lineal %d\n", palumno[i].kardex.algebra);
  369. printf("Quimica %d\n", palumno[i].kardex.quimica);
  370.  
  371.  
  372. //IMPRESION EN TXT
  373. fprintf(pf, "\n\n\n*************************REGISTRO [%d]*************************", i);
  374. fprintf(pf, "\n\n***DATOS GENERALES***\n");
  375. fprintf(pf, "Nombre: %s\n", palumno[i].nombre);
  376. fprintf(pf, "NUA: %d\n", palumno[i].nua);
  377. fprintf(pf, "Carrera: %s\n", palumno[i].carrera);
  378. fprintf(pf, "\n\n***DOMICILIO***\n");
  379. fprintf(pf, "%s\n", palumno[i].domicilio.calle);
  380. fprintf(pf, "%d\n", palumno[i].domicilio.numero);
  381. fprintf(pf, "%d\n", palumno[i].domicilio.colonia);
  382. fprintf(pf, "%d\n", palumno[i].domicilio.CP);
  383. fprintf(pf, "%s\n", palumno[i].domicilio.ciudad);
  384.  
  385. fprintf(pf, "\n\nKARDEX\n");
  386. fprintf(pf, "Fundamentos de los Sistemas de Informacion %d\n", palumno[i].kardex.sistemas);
  387. fprintf(pf, "Mecanica %d\n", palumno[i].kardex.mecanica);
  388. fprintf(pf, "Calculo Diferencial %d\n", palumno[i].kardex.calculo);
  389. fprintf(pf, "Algebra Lineal %d\n", palumno[i].kardex.algebra);
  390. fprintf(pf, "Quimica %d\n", palumno[i].kardex.quimica);
  391. }
  392. fclose(pf);
  393. }
  394.  
  395. //************************************************************FUNCION PRINCIPAL***********************************************************
  396. int main()
  397. {
  398. char op;
  399. int b=0, e=0, y=0;
  400.  
  401. do{
  402. switch(op=menu())
  403. {
  404. //REGISTRO DE DATO
  405. case '1':
  406. registrar();
  407. break;
  408.  
  409. case '2':
  410. system("cls");
  411. printf("*******BUSQUEDA DE ALUMNO*******");
  412. printf("Como desea buscarlo?\n\n");
  413. printf("1.- Por nombre\n");
  414. printf("2.- Por NUA\n");
  415. printf("\nOpcion: ");
  416. scanf("%d", &b);
  417.  
  418. if(b==1){
  419. system("cls");
  420. buscar1();
  421. }
  422. if(b==2){
  423. system("cls");
  424. buscar2();
  425. }
  426.  
  427. break;
  428.  
  429. case '3':
  430.  
  431. system("cls");
  432. printf("*******ELIMINACION DE ALUMNO*******");
  433. printf("Como desea buscarlo?\n\n");
  434. printf("1.- Por nombre\n");
  435. printf("2.- Por NUA\n");
  436. printf("\nOpcion: ");
  437. scanf("%d", &e);
  438.  
  439. if(e==1){
  440. system("cls");
  441. eliminar1();
  442. }
  443.  
  444. if(e==2){
  445. system("cls");
  446. eliminar2();
  447. }
  448. break;
  449.  
  450. case '4':
  451. ver();
  452. break;
  453.  
  454. case '5':
  455. break;
  456.  
  457. default:
  458. printf("Opcion no valida\n");
  459. break;
  460. }
  461. if(op=='5'){
  462. break;
  463. }
  464.  
  465. printf("\n\n\nDesea salir?\n");
  466. printf("1.- Si\n");
  467. printf("2.- No\n");
  468. scanf("%d", &y);
  469. }while(y!=1);
  470.  
  471. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement