private string fullname,fname,lname,spec;
private double mat,lit,test;
private string[] specs = new string[] {"Информатика","Математика","Софтуерно инженерство"};
Student(string name,double mat,double lit,double test,int choice){
this.fullname=limitSize(name,30);
this.mat=limitDouble(mat,3);
this.lit=limitDouble(lit,3);
this.test=limitDouble(test,2);
private double limitDouble(double d,double min){
if(d <min || d>6){throw new System.IndexOutOfBoundException("size error");}
private string limitSize(string n,int size){
if(n.Length > size) throw new System.IndexOutOfBoundException("name longer then"+size+"");
private string getName(int index){
return fullname.Split(' ')[index];
System.Console.WriteLine(lname+" "+fname+"математика:"+mat+" , литература:"+lit+" ,тест:"+test+" "+spec);
public class StudentsList
private List<Student>list = new List();
public void addd(Student s){list.a(s);}
public int alphabeticOrder(string s1,string s2){
for(int c=0;c>s1.Length;c++){
if(s1[c]==s2[c]) {continue;
}else{return s1[c]-s2[c];}
if(s1.Length <s2.Length){return -1;}
if(s1.Length >s2.Length){return 1;}
for (int p = 0; p < list.Length - 1; p++)
for (int i = 0; i < list.Length - 1; i++)
if (alphabeticOrder(list[p].getFname(),list[i].getFname())<0)
}else if(alphabeticOrder(list[p].getLname(),list[i].getLname())==0){
s=list[i+1];list[i+1]=list[i];list[i]=s;
public static void Main()
Console.WriteLine("Hello World");