/* Proyecto de NetBeans 7.1 */ #include #include #include #include <cstdlib> <stdio.h> <stdlib.h> <windows.h> #define MAX_EST 2 using namespace std; // columna = x / fila = y void gotoxy(int columna,int fila) { printf("%c[%d;%df",0x1B, fila, columna); } // Linux //void clrscr() { // system("clear"); //} // Windows void clrscr() { system("cmd /c cls"); } // Windows /*void clrscr() { HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = {0, 0}; DWORD count; CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(hStdOut, &csbi); FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count); SetConsoleCursorPosition(hStdOut, coord); }*/ typedef struct _est { int cedula; char apellido[15]; char nombre[15]; int nota; } registro; /* * */ int main(int argc, char** argv) { registro estudiantes[MAX_EST]; /* Carga de estudiantes */ for (int k=0; k < MAX_EST; k=k+1 ) { printf("Introducir datos estudiante #%2i:\n", k+1); printf("Cedula : "); scanf("%8i" , &estudiantes[k].cedula); printf("Apellido: "); scanf("%15S", &estudiantes[k].apellido); printf("Nombre : "); //scanf("%10[^\n]", &estudiantes[k].nombre); scanf("%15S", &estudiantes[k].nombre); printf("Nota : "); scanf("%2i" , &estudiantes[k].nota); printf("\n"); } clrscr(); int fila = 3; gotoxy(01,fila); printf("Listado de Estudiantes\n"); fila++; for (int k=0; k < MAX_EST; k++) { fila = fila + k*1; gotoxy(01,fila); printf("%7i", estudiantes[k].cedula); gotoxy(15,fila); printf("%S" , estudiantes[k].apellido); gotoxy(35,fila); printf("%S" , estudiantes[k].nombre); gotoxy(65,fila); printf("%2i", estudiantes[k].nota); } // Calculo promedio de notas int suma = 0; for (int k=0; k < MAX_EST; k++) { suma = suma + estudiantes[k].nota; } float promedio = (suma/(MAX_EST + 0.0)); fila++; gotoxy(20,fila); printf("Promedio"); gotoxy(65,fila); printf("%4.2f", promedio); return 0; }