#include #include #include #include #define IKKOP 10 //100 #define TAKOP 2 //20 //Prototipoak void TaulaHasieratu (float *erak, int lerro, int zutabe); void TaulaPantailaratu (float *erak, int lerro, int zutabe); void main () { //ALDAGAI ERAZAGUPENA int auk, i, j, taldea, ikaslea; int Gai, EzGai, EzAurkeztu; float NotakT [IKKOP][4], nota; //0 zutabea: laborategi-nota //1 zutabea: lan-nota //2 zutabea: azterketa-nota //3 zutabea: nota finala clrscr(); TaulaHasieratu (&NotakT[0][0], IKKOP, 4); do{ //do1 TaulaPantailaratu (&NotakT[0][0], IKKOP, 4); do{ //do2 puts ("\n\n\n\t1.- AZTERKETA NOTAK"); puts ("\t2.- LABORATEGI-TALDE BATEN NOTAK"); puts ("\t3.- LANEN NOTAK"); puts ("\t4.- IKASLE BATEN NOTA FINALA"); puts ("\t5.- LABORATEGI-TALDE BATEN NOTA GUZTIAK"); puts ("\t6.- AZTERKETA ESTATISTIKAK"); puts ("\t7.- PROGRAMATIK IRTEN"); puts ("\t\tAukeratu bat:"); scanf ("%i", &auk); }while (auk <1 || auk > 7); //do2 bukaera clrscr(); switch (auk) {case 1: //AZTERKETA NOTAK GORDE { for (i = 0; i < IKKOP; i++) { do{ printf ("%d ikasleak ze azterketa nota du? ", i+1); scanf ("%f", &NotakT[i][2]); }while ((NotakT[i][2] < 0 || NotakT[i][2] > 10) && NotakT[i][2] != -1); } break;} case 2: //LABORATEGI-TALDE BATEN NOTAK GORDE { do{ puts ("Emaidazu talde zenbakia:"); scanf ("%i", &taldea); }while (taldea < 1 || taldea >5); for (i = (taldea -1) * TAKOP; i <= (taldea-1)* TAKOP + TAKOP-1; i++) { do{ printf ("%d ikasleak ze laborategi nota du? ", i+1); scanf ("%f", &NotakT[i][0]); }while ((NotakT[i][0] < 0 || NotakT[i][0] > 10) && NotakT[i][0] != -1); } break; } case 3: //LAN-NOTAK GORDE { do{ do{ puts ("Ikasle eta lan-nota adierazi"); scanf ("%d %f", &ikaslea, ¬a); }while ((ikaslea < 0 || ikaslea > IKKOP) || ((nota<0||nota>10) && nota!=-1)); if (ikaslea !=0) { NotakT[ikaslea-1][1] = nota;} } while (ikaslea != 0); break; } case 4: // Ikasle baten Nota Finala kalkulatu { clrscr(); printf("\n\tIkasle baten zenbakia zehaztu (1 - 100): "); scanf("%d",&ikaslea); while (ikaslea<1 || ikaslea>100) /* datua baieztatu */ { printf("\t\tOker. Saiatu berriro: "); scanf("%d",&ikaslea); } if (NotakT[ikaslea-1][2] == -1) //Azterketa-nota { NotakT[ikaslea-1][3] = 0; } else { NotakT[ikaslea-1][3] = 0.7 * NotakT[ikaslea-1][2]; } if (NotakT[ikaslea-1][1] == -1) //Lana { NotakT[ikaslea-1][3] += 0; } else { NotakT[ikaslea-1][3] += 0.2 * NotakT[ikaslea-1][1]; } if (NotakT[ikaslea-1][0] == -1) //Laborategi-nota { NotakT[ikaslea-1][3] += 0; } else { NotakT[ikaslea-1][3] += 0.1 * NotakT[ikaslea-1][0]; } printf ("\n\t%d ikaslearen nota finala %f da.\n", ikaslea, NotakT[ikaslea-1][3]); break; } case 5: //TALDE BATEN NOTA GUZTIAK { do{ puts ("Emaidazu talde zenbakia:"); scanf ("%i", &taldea); }while (taldea < 1 || taldea >5); puts ("\t\tLabo Lana Azterketa Finala"); for (i = (taldea -1) * TAKOP; i <= (taldea-1)* TAKOP + TAKOP-1; i++) { printf("%d ikaslea:",i+1); for (j=0; j<4; j++) { printf("%10.2f",NotakT[i][j]); } puts(""); } break; } case 6: /* Azterketaren estatistikak */ { clrscr(); printf("\n\tAzterketaren notak aztertuz ... \n"); for (EzAurkeztu=0, EzGai=0, Gai=0, i=0; i