| 
	
		|  Autor | Tema: Codigo Alta de Alumnos  (Leído 21,059 veces) |  
	| 
			| 
					
						| 43H4FH44H45H4CH49H56H45H 
								Wiki  Desconectado 
								Mensajes: 502
								
								   | 
 
Para calcular el promedio y la suma de las notas de alumnos lo haria asi   #include<stdio.h>#include<stdlib.h>
 #define Tot 2
 
 struct notas
 {
 int nota[2];
 };
 struct notas es[Tot];
 
 int main()
 {
 int total;
 for (total=1;total<4;total++){
 
 printf("\nIngrese nota1 del alumno Numero: %d\n", total);
 scanf("%d",&es[total].nota[total]);
 }
 
 for (total=1;total<4;total++){
 
 printf("\nLas Notas son: %d \n", es[total].nota[total]);
 
 }
 printf("\n La suma de las Notas es: %d \n", (es[1].nota[1]+es[2].nota[2]+es[3].nota[3]));
 printf("\n y su promedio: %d \n", (es[1].nota[1]+es[2].nota[2]+es[3].nota[3])/3);
 system("pause");
 return 0;
 }
 
El struct solo lo puse para que te ubiques, porque en mi ejemplo no es necesario, pero en el programa completo sip    El define y el int que puse a 2, referencia que solo aceptara tres notas osea la 0,1y2  
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
  -R IP  :0100 -A 100   2826:0100 MOV AH,09  2826:0102 MOV DX,109  2826:0105 INT 21  2826:0105 MOV AH,08 2826:0105 INT 21 2826:0107 INT 20  2826:0109 DB 'MI NICK ES CODELIVE.$'   2826:0127   -R BX  :0000 -R CX  :20 -N CODELIVE.COM  -W |  |  |  | 
			| 
					
						| DJINVACION2005 
								
								 Desconectado 
								Mensajes: 9
								
								
								
								
								
								   | 
 
   FELIZ NAVIDAD      Bueno despues de algunos dias fuera he regresado y aqui esta el codigo final, sin antes agradecer a los que ayudaron con esto. La intencion de subirlo no es mas que muestra de lo mucho que me ayudo este foro y para que otros que esten con un problema similiar pues aqui lo tienen resuelto. Nota: Tengo un bug a la hora de ir al Help(Ayuda) si ves en que falle favor decirmelo para corregirlo.  P.D. No hay nada mejor que compartir sin esperar nada a cambio. Libertad gracias al Código Libre.!!! #include <stdio.h>#include <string.h>
 #include <conio.h>
 
 typedef struct alumno{
 char carne[32];
 char nombre[20];
 char direccion[30];
 char correoe[20];
 int  nota1;
 int  nota2;
 int  nota3;
 int  nota4;
 int  tot;
 }Alumno;
 
 /* Arreglo que almacena alumnos */
 Alumno alumnos[40];
 /* Contiene el numero de alumnos actual */
 int total = 0;
 
 void cargar(), guardar(), insertar(Alumno info);
 void ingresar(), buscar(), modificar(), eliminar(), ordenar(), mostrar(), ayuda();
 char menu(void);
 
 main()
 {
 
 
 cargar();
 char op;
 
 for(;;)
 {
 switch(op=menu())
 {
 case '1':
 ingresar();
 getch();
 break;
 case '2':
 buscar();
 getch();
 break;
 case '3':
 modificar();
 getch();
 break;
 case '4':
 eliminar();
 getch();
 break;
 case '5':
 ordenar();
 getch();
 break;
 case '6':
 mostrar();
 getch();
 break;
 case '7':
 ayuda();
 getch();
 break;
 case '8':
 break;
 default :
 printf("Opcion no valida");
 getch();
 break;
 }
 
 if(op=='8') break;
 
 }
 
 printf("Presione (g) para guardar los cambios: ");
 
 if(getche()=='g')
 guardar();
 }
 
 
 void insertar(Alumno info)
 {
 strcpy(alumnos[total].carne, info.carne);
 strcpy(alumnos[total].nombre, info.nombre);
 strcpy(alumnos[total].direccion, info.direccion);
 strcpy(alumnos[total].correoe, info.correoe);
 alumnos[total].nota1 = info.nota1;
 alumnos[total].nota2 = info.nota2;
 alumnos[total].nota3 = info.nota3;
 alumnos[total].nota4 = info.nota4;
 alumnos[total].tot = info.tot;
 total++;
 }
 
 void cargar()
 {
 Alumno info;
 FILE *fp;
 
 fp=fopen("alumnos.txt","r");
 if(fp==NULL)
 {
 printf("No se puede abrir el archivo\n");
 return;
 }
 
 while(!feof(fp))
 {
 if(fread(&info, sizeof(Alumno), 1, fp)!=1) break;
 insertar(info);
 }
 
 fclose(fp);
 }
 
 void guardar()
 {
 Alumno info;
 FILE *fp;
 
 fp=fopen("alumnos.txt","w");
 if(fp==NULL)
 {
 printf("No se puede abrir el archivo\n");
 return;
 }
 
 for(int i=0; i<total; i++)
 fwrite(&alumnos[i], sizeof(Alumno), 1, fp);
 
 fclose(fp);
 }
 
 void ingresar()
 {
 Alumno info;
 
 printf("Ingrese carne: "); gets(info.carne);
 printf("Ingrese nombre: "); gets(info.nombre);
 printf("Ingrese direccion: "); gets(info.direccion);
 printf("Ingrese Correo:"); gets(info.correoe);
 printf("Ingrese Parcial No 1: "); scanf("%d", &(info.nota1));
 printf("Ingrese Parcial No 2: "); scanf("%d", &(info.nota2));
 printf("Ingrese Zona: "); scanf("%d", &(info.nota3));
 printf("Ingrese Exmen Final: "); scanf("%d", &(info.nota4));
 insertar(info);
 printf("Alumno ingresado exitosamente\n");
 }
 
 void buscar()
 {
 char carne[32];
 int i;
 
 printf("Ingrese carne a buscar: ");
 gets(carne);
 
 
 
 for(i=0; i<total; i++)
 if(!strcmp(alumnos[i].carne, carne))
 {
 printf("--- Datos del alumno ---\n");
 printf("Num.: %d\n", i+1);
 printf("Carné: %s\n", alumnos[i].carne);
 printf("Nombre: %s\n", alumnos[i].nombre);
 printf("Direccion: %s\n", alumnos[i].direccion);
 printf("Correo: %s\n", alumnos[i].correoe);
 printf("Nota1: %d", alumnos[i].nota1);
 printf("Nota2: %d", alumnos[i].nota2);
 printf("Nota3: %d", alumnos[i].nota3);
 printf("Nota4: %d", alumnos[i].nota4);
 printf("Promedio: %d", alumnos[i].nota1+alumnos[i].nota2+alumnos[i].nota3+alumnos[i].nota4);
 break;
 }
 
 if(i==total)
 printf("Alumno no encontrado");
 }
 
 void modificar()
 {
 char nombre[20];
 int i;
 
 printf("Ingrese nombre a modificar: ");
 gets(nombre);
 
 for(i=0; i<total; i++)
 if(!strcmp(alumnos[i].nombre, nombre))
 {
 printf("--- Datos actuales del alumno ---\n");
 printf("Num.: %d\n", i+1);
 printf("Carné: %s\n", alumnos[i].carne);
 printf("Nombre: %s\n", alumnos[i].nombre);
 printf("Direccion: %s\n", alumnos[i].direccion);
 printf("correo: %s\n", alumnos[i].correoe);
 printf("Nota1: %d\n\n", alumnos[i].nota1);
 printf("Nota2: %d\n\n", alumnos[i].nota2);
 printf("Nota3: %d\n\n", alumnos[i].nota3);
 printf("Nota4: %d\n\n", alumnos[i].nota4);
 printf("--- Nuevos datos del alumno ---\n");
 printf("Carné: %s\n", alumnos[i].carne);
 printf("Ingrese nombre: "); gets(alumnos[i].nombre);
 printf("Ingrese direccion: "); gets(alumnos[i].direccion);
 printf("Ingrese correo: "); gets(alumnos[i].correoe);
 printf("Ingrese nota1: "); scanf("%d", &(alumnos[i].nota1));
 printf("Ingrese nota2: "); scanf("%d", &(alumnos[i].nota2));
 printf("Ingrese nota3: "); scanf("%d", &(alumnos[i].nota3));
 printf("Ingrese nota4: "); scanf("%d", &(alumnos[i].nota4));
 
 printf("\n\nDatos actualizados exitosamente!");
 
 break;
 }
 
 if(i==total)
 printf("Alumno no encontrado");
 }
 
 void eliminar()
 {
 char nombre[20];
 int i;
 
 printf("Ingrese nombre a eliminar: ");
 gets(nombre);
 
 for(i=0; i<total; i++)
 if(!strcmp(alumnos[i].nombre, nombre))
 {
 /* Recorre registros posteriores */
 for(int j=i+1; j<total; j++)
 {
 strcpy(alumnos[j-1].carne, alumnos[j].carne);
 strcpy(alumnos[j-1].nombre, alumnos[j].nombre);
 strcpy(alumnos[j-1].direccion, alumnos[j].direccion);
 strcpy(alumnos[j-1].correoe, alumnos[j].correoe);
 alumnos[j-1].nota1 = alumnos[j].nota1;
 alumnos[j-1].nota2 = alumnos[j].nota2;
 alumnos[j-1].nota3 = alumnos[j].nota3;
 alumnos[j-1].nota4 = alumnos[j].nota4;
 }
 
 printf("Alumno eliminado");
 total--;
 break;
 }
 
 if(i==total)
 printf("Alumno no encontrado");
 }
 
 void ordenar()
 {
 int i, j;
 Alumno temp;
 
 for(i=0; i<total-1; i++)
 {
 for(j=i+1; j<total; j++)
 if(strcmp(alumnos[i].nombre, alumnos[j].nombre)>0)
 {
 /* Copia en variable temporal datos actuales */
 strcpy(temp.carne, alumnos[i].carne);
 strcpy(temp.nombre, alumnos[i].nombre);
 strcpy(temp.direccion, alumnos[i].direccion);
 strcpy(temp.correoe, alumnos[i].correoe);
 temp.nota1 = alumnos[i].nota1;
 temp.nota2 = alumnos[i].nota2;
 temp.nota3 = alumnos[i].nota3;
 temp.nota4 = alumnos[i].nota4;
 /* Intercambia informacion */
 strcpy(alumnos[i].carne, alumnos[j].carne);
 strcpy(alumnos[i].nombre, alumnos[j].nombre);
 strcpy(alumnos[i].direccion, alumnos[j].direccion);
 strcpy(temp.correoe, alumnos[i].correoe);
 temp.nota1 = alumnos[i].nota1;
 temp.nota2 = alumnos[i].nota2;
 temp.nota3 = alumnos[i].nota3;
 temp.nota4 = alumnos[i].nota4;
 
 strcpy(alumnos[i].carne, alumnos[j].carne);
 strcpy(alumnos[j].nombre, temp.nombre);
 strcpy(alumnos[j].direccion, temp.direccion);
 strcpy(temp.correoe, alumnos[i].correoe);
 temp.nota1 = alumnos[i].nota1;
 temp.nota2 = alumnos[i].nota2;
 temp.nota3 = alumnos[i].nota3;
 temp.nota4 = alumnos[i].nota4;
 }
 }
 printf("Se han ordenado los registros");
 }
 
 void mostrar()
 {
 
 for(int i=0; i<total; i++)
 {
 printf("Num: %d\n", i+1);
 printf("carne: %s\n", alumnos[i].carne);
 printf("nombre: %s\n", alumnos[i].nombre);
 printf("direccion: %s\n", alumnos[i].direccion);
 printf("correo electronico: %s\n", alumnos[i].correoe);
 printf("parcial No 1: %d\n", alumnos[i].nota1);
 printf("parcial No 2: %d\n", alumnos[i].nota2);
 printf("parcial No 3: %d\n", alumnos[i].nota3);
 printf("parcial No 4: %d\n", alumnos[i].nota4);
 printf("Promedio: %d", alumnos[i].nota1+alumnos[i].nota2+alumnos[i].nota3+alumnos[i].nota4);
 }
 }
 
 void ayuda()
 {
 textcolor(50);cprintf("\n                        ---Proyecto en C++ ---\n");
 printf("\n Este trabajo es un programa que tiene como fin, mostrar el listado de alumnos\n de la Carrera de Ingenieria en Sistemas de Informacion y Ciencias de la\n Computacion. En este programa se tienen que especificar los datos principales\n del alumno para ingresarlo o buscarlo en el mismo. Los datos son: nombres\n carne, correo electronico y las notas adquiridas en el semestre correspondiente\n\n");
 printf("1. Ingresar = Aqui podras ingresar los datos del alumno.\n");
 printf("2. Buscar = Por medio del carne en esta opcion podras hallar al alumno que\n   buscas.\n");
 printf("3. Modificar = En esta opcion se podran hacer cambios en los datos del alumno\n   ya ingresado.\n");
 printf("4. Eliminar = Esta opcion servira para quitar del listado de alumnos x y de la\n   base de datos.\n");
 printf("5. Ordenar = Los ordena en forma que fueron ingresados.\n");
 printf("6. Mostrar lista = Muestra el total de alumnos ingresados en base de datos en\n   una lista.\n");
 printf("7. Ayuda = Proporciona sopporte para dudas.\n");
 printf("8. Salida = Opcion para salir del programa, si desea guardar los cambios\n   presiona (g).\n");
 }
 
 char menu(void)
 {
 char c;
 textcolor(910);cprintf("(1)Ingresar, (2)Buscar, (3)Modificar, (4)Eliminar, (5)Ordenar, (6)Mostrar lista\n, (7)Ayuda, (8)Salir\n");
 
 printf("\nSeleccion: ");
 c=getche();
 printf("\n");
 return(c);
 }
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Solenbum 
								
								 Desconectado 
								Mensajes: 20
								
								   | 
 
muy bueno tu aporte si señor en toda la cara enhorabuena    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| 0rkud 
								
								 Desconectado 
								Mensajes: 1
								
								
								
								
								
								   | 
 
alguien puede ayudarme
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | El 14% de los nuevos alumnos universitarios procede de la FP Foro Libre
 | wolfbcn | 1 | 2,665 |  7 Junio 2011, 00:10 am por Last_
 |  
						|   |   | Descuido de alumnos de FP informatica Hacking
 | risto | 0 | 2,723 |  28 Marzo 2012, 12:57 pm por risto
 |  
						|   |   | N alumnos con clases Programación C/C++
 | acega | 4 | 3,487 |  8 Octubre 2013, 23:51 pm por acega
 |  
						|   |   | Mis alumnos y sus extraños métodos de estudio: el escándalo “De Memory”
							« 1 2 » Foro Libre
 | El_Andaluz | 15 | 6,943 |  20 Febrero 2015, 15:49 pm por _Enko
 |  
						|   |   | Los alumnos que suspendan la 'reválida' de la ESO solo podrán matricularse 
							« 1 2 3 » Foro Libre
 | El_Andaluz | 28 | 10,967 |  1 Agosto 2016, 18:11 pm por RevolucionVegana
 |    |