package uebung6;
public class Uebung6 {
public enum Studiengang {WINF , INF, MINF, MT, GET};
public static void Pruefungen () {
int Menge = 0;
System.out.print("\nPruefungen: ");
for (int i = 0; i < 32; ++i)
{
Menge = Menge << 1;
Menge = Menge + (int)(Math.round(Math.random()));
}
for (int i = 0; i < 32; ++i)
{
if (Menge % 2 == 1)
System.out.print((32-i)+" ");
Menge = Menge >>> 1;
}
System.out.print("sind bestanden.");
}
public static void main(String[] args) {
// 50 Studs,0=MatrNr: , 1=Gebjahr: ,2=GebMon: ,3=Gebtag: , 4=Fachbereich: ,5=Alter:
int [][]stud = new int [50][6];
int i=1, max=0, min=0;
float sum=0;
// Studentenvor- und Nachname zufällig generieren.
char[][] vornamen = new char[10][7];
for(int h=0;h<vornamen.length;h++)
{
for(int k=0;k<vorname[h].length;k++)
{
int buchstabe=64+Math.random()*26;
vornamen[h][k]=(char)buchstabe;
}
}
//Zufallswerte zuordnen, Schleife über 50 Studs
System.out.println("\nIndex"+ "\tMatr"+ "\tJahr Monat"+ "\tTag FB"+ "\tAlter"+"\tStudiengang");
for (int index=0;index <50;++index) {
stud[index][0] = (int) (10000+9583*Math.random()); //5-stellige Zahlen
stud[index][1] = (int) (1980+10*Math.random()); // geb. ab 1980
stud[index][2] = (int) (1+100*Math.random()%12); //Werte 1...12
stud[index][3] = (int) (1+100*Math.random()%30); // Werte 1..30
if ((int) (10*Math.random()) <=5) stud[index][4] = 1;
else stud[index][4] = 2;
stud[index][5] = (int) ((2011*365+11*30+07)-(stud[index][1]*365+stud[index][2]*30+stud[index][3]))/365; // Alter mit Array berechen
// Studiengang zufällig zuordnen.
int t =(int) (1+Math.random()*4);
Studiengang a = Studiengang.WINF;
switch(t){
case 0 : a = Studiengang.WINF;System.out.println("\n\n\t\t\t\t\t\t\t" +a);
break;
case 1 : a = Studiengang.INF;System.out.println("\n\n\t\t\t\t\t\t\t" +a);
break;
case 2 : a = Studiengang.MINF;System.out.println("\n\n\t\t\t\t\t\t\t" +a);
break;
case 3 : a = Studiengang.MT;System.out.println("\n\n\t\t\t\t\t\t\t" +a);
break;
case 4 : a = Studiengang.GET;System.out.println("\n\n\t\t\t\t\t\t\t" +a);
}
System.out.println(index
+": \t"+stud[index][0]
+"\t"+stud[index][1]
+"\t"+stud[index][2]
+"\t"+stud[index][3]
+"\t"+stud[index][4]
+"\t"+stud[index][5]
);
Pruefungen();
int n=stud[index][5]; // Jüngster, Ältester und Durchschnittsalter berechnen.
sum=sum+n;
if (i==1) {
max=n;
min=n;
}
if (n>max) max=n;
if (n<min) min=n;
++i;
}
System.out.println("\n\nAeltester: "+max +"\tJuengster: "+min +"\tDurchschnittsalter: "+sum/50);
}
}