C#學生管理系統/學習

題目:spa

實現一個菜單,針對Student.txt與Class.txt文件進行操做code

描述:blog

I 輸入學生信息:輸入學生學號、姓名、性別、出生日期、班級名稱、聯繫電話,跟已經存在的學生信息一樣格式保存在文件中。若是學號重複,則提示「學號重複,沒法插入」
L 顯示全部學生:每一個學生的信息佔一行;每一個學生的信息項包括學號、姓名、性別、出生日期、班級名稱、聯繫電話,各項以Tab分隔
C 按班級查詢:輸入班級名稱,顯示學生詳細信息,包括學號、姓名、性別、聯繫電話,各項以Tab分隔。多人分行顯示。
N 按姓名查詢:輸入學生姓名,顯示學生詳細信息,包括學號、姓名、性別、出生日期、班級名稱、聯繫電話,各項以Tab分隔。多人分行顯示。
X 退出系統:程序退出cmd

總結:string

主要是對文件進行操做。沒什麼好說的。it

 1 using System;  2 using System.Collections;  3 using System.Collections.Generic;  4 using System.IO;  5 using System.Text;  6 
 7 namespace NET第二次做業  8 {  9     public class Student  10  {  11         public String num;  12         public String name;  13         public String sex;  14         public String date_of_birth;  15         public String classId;  16         public String className;  17         public String telephone;  18  }  19     public class myClass  20  {  21         public String id;  22         public String classname;  23  }  24     class MyFourTest  25  {  26         static List<Student> students = new List<Student>();  27         static List<myClass> myClasss = new List<myClass>();  28         public static void Init()  29  {  30 
 31             List<String> student_p = new List<string>();  32             StreamReader student = new StreamReader("C:\\Users\\a1191\\Desktop\\student.txt", Encoding.Default);  33            
 34             while (!student.EndOfStream)  35  {  36  student_p.Add(student.ReadLine());  37                // Console.WriteLine(student_p[i++]+"a");
 38  }  39             for(int j=0; j<student_p.Count; j++)  40  {  41                 string[] arr = student_p[j].Split(',');  42                 if(arr[0]!="")  43  {  44                     Student student1 = new Student();  45                     student1.num = arr[0];  46                     student1.name = arr[1];  47                     student1.sex = arr[2];  48                     student1.date_of_birth = arr[3];  49                     student1.classId = arr[4];  50                     student1.telephone = arr[5];  51  students.Add(student1);  52  }  53 
 54  }  55  student.Close();  56             
 57             StreamReader streamReader = new StreamReader("C:\\Users\\a1191\\Desktop\\class.txt", Encoding.Default);  58             while (!streamReader.EndOfStream)  59  {  60                 String class_ = streamReader.ReadLine();  61                 string[] arr = class_.Split(',');  62                 myClass t = new myClass();  63                 t.classname = arr[1];  64                 t.id = arr[0];  65  myClasss.Add(t);  66                 for(int i=0; i<students.Count; i++)  67  {  68                     if(students[i].classId.Equals(arr[0]))  69  {  70                             students[i].className = arr[1];  71                         //Console.WriteLine(arr[0]);
 72  }  73  }  74  }  75  streamReader.Close();  76  }  77 
 78         public static void saveInfo(Student t)  79  {  80             StreamWriter student = new StreamWriter("C:\\Users\\a1191\\Desktop\\student.txt", true);  81             //StreamWriter streamReader = new StreamWriter("C:\\Users\\a1191\\Desktop\\class.txt", true);
 82             String s = t.num + ',' + t.name + ',' + t.sex + ',' + t.date_of_birth + ',' + t.classId + ',' + t.telephone;  83  student.WriteLine(s);  84             //String c = t.classId + ',' + t.className + ",2005";  85             //streamReader.WriteLine(c);
 86  student.Close();  87             //streamReader.Close();
 88  }  89         public static void InputStudentInfo()  90  {  91             Student t = new Student();  92             Console.WriteLine("請輸入學號:");  93             t.num = Console.ReadLine();  94             for(int i=0; i<students.Count; i++)  95  {  96                 if(t.num.Equals(students[i].num))  97  {  98                     Console.WriteLine("學號重複,沒法插入");  99                     return; 100  } 101  } 102             Console.WriteLine("請輸入姓名:"); 103             t.name = Console.ReadLine(); 104             Console.WriteLine("請輸入性別:"); 105             t.sex = Console.ReadLine(); 106             Console.WriteLine("請輸入出生日期:"); 107             t.date_of_birth = Console.ReadLine(); 108             Console.WriteLine("請輸入班級名稱:"); 109             t.className = Console.ReadLine(); 110             Console.WriteLine("請輸入聯繫電話:"); 111             t.telephone = Console.ReadLine(); 112             for(int i=0; i<myClasss.Count; i++) 113  { 114                 if(t.className.Equals(myClasss[i].classname)) 115  { 116                     t.classId = myClasss[i].id; 117  } 118  } 119  students.Add(t); 120             //for(int i=0; i<students.Count; i++) 121             //{ 122             // Console.WriteLine(students[i].className); 123             //}
124 
125  saveInfo(t); 126  } 127         public static void ShowAllStudent() 128  { 129             Console.WriteLine("學號\t姓名\t性別\t出生日期\t班級名稱\t\t聯繫電話"); 130             for(int i=0; i<students.Count; i++) 131  { 132                 Console.WriteLine(students[i].num + "\t"+ students[i].name + "\t"+ students[i].sex + 
133                     "\t"+ students[i].date_of_birth + "\t"+ students[i].className + "\t" +students[i].telephone); 134  } 135  } 136         public static void GetStudentByClass() 137  { 138             Console.WriteLine("請輸入要查詢的班級名稱:"); 139             String name = Console.ReadLine(); 140             Console.WriteLine("學號\t姓名\t性別\t聯繫電話"); 141             for (int i = 0; i < students.Count; i++) 142  { 143                 if(students[i].className.Equals(name)) 144  { 145                     Console.WriteLine(students[i].num + "\t" + students[i].name + "\t" + students[i].sex +
146                         "\t"   + students[i].telephone); 147  } 148  } 149  } 150         public static void GetStudentByName() 151  { 152             Console.WriteLine("請輸入要查詢的學生姓名:"); 153             String name = Console.ReadLine(); 154             Console.WriteLine("學號\t姓名\t性別\t出生日期\t班級名稱\t\t聯繫電話"); 155             for (int i = 0; i < students.Count; i++) 156  { 157                 if (students[i].name.Equals(name)) 158  { 159                     Console.WriteLine(students[i].num + "\t" + students[i].name + "\t" + students[i].sex +
160                         "\t" + students[i].date_of_birth + "\t" + students[i].className + "\t" + students[i].telephone); 161  } 162  } 163  } 164 
165         public static void StudentTest() 166  { 167             
168  Init(); 169             while (true) 170  { 171  ConsoleKeyInfo cmd; 172                 Console.WriteLine("歡迎使用學生管理系統\n"); 173                 Console.WriteLine("I 輸入學生信息\n"); 174                 Console.WriteLine("L 顯示全部學生\n"); 175                 Console.WriteLine("C 按班級查詢\n"); 176                 Console.WriteLine("N 按姓名查詢\n"); 177                 Console.WriteLine("X 退出系統\n"); 178                 cmd = Console.ReadKey(); 179                 Console.WriteLine(""); 180                 switch (cmd.KeyChar) 181  { 182                     case 'I': 183  InputStudentInfo(); 184                         break; 185                     case 'L': 186  ShowAllStudent(); 187                         break; 188                     case 'C': 189  GetStudentByClass(); 190                         break; 191                     case 'N': 192  GetStudentByName(); 193                         break; 194                     case 'X': 195                         System.Environment.Exit(0); 196                         break; 197                     default: 198                         Console.WriteLine("\n請輸入指定字符(區分大小寫)\n"); 199                         break; 200  } 201  Console.ReadKey(); 202  Console.Clear(); 203  } 204 
205 
206  } 207 
208  } 209 }
相關文章
相關標籤/搜索