using System;
namespace student
{
#region 学生的信息存储
struct student
{
public int studnet_num;//存储学号
public string student_name;//存储姓名
public score student_score;//存储成绩
public int student_sum;//总成绩
public int Average_score;//平均成绩
};
struct score
{
public int math_score;//数学成绩
public int chinese_score;//语文成绩
public int english_score;//英语成绩
public dynamic Specialized_course;//专业课成绩
};
#endregion
#region 主界面部分
class Program
{
static void Main()
{
int studnet_number;//实际人数
bool exit;//退出条件
int number;//最开始时学生的人数
Console.WriteLine("Welcome to student library management Xi");
Console.WriteLine("Please count the number of students");
number = Convert.ToInt32(Console.ReadLine());
input input_student = new input();
student[] class_student = new student[100000];
studnet_number= input_student.input_add(class_student,0,number);//把现在的人数返回
do
{
Console.Clear();
Console.WriteLine("Before the data is stored, please enter your actions");
Console.Clear();
Console.WriteLine("Please enter the action you want to do");
Console.WriteLine("1\t\taddstudent");
Console.WriteLine("2\t\tdeletestudent");
Console.WriteLine("3\t\tupdatastudent");
Console.WriteLine("4\t\tselectstudent");
Console.WriteLine("Other arbitrary minus\t\tIt's illegal.");
int Operation = Convert.ToInt32(Console.ReadLine());//请输入操作方法
switch (Operation)
{
#region 增加学生信息
case 1:
{
Console.WriteLine("The number of items you want to insert");
int student_addstudent = Convert.ToInt32(Console.ReadLine());//要插入的项数
studnet_number = input_student.input_add(class_student, studnet_number, student_addstudent);//插入数据,并把现在的人数返回
print_student printf_student = new print_student();//输出
printf_student.Print_student(class_student, student_addstudent + number);//输出数据
}
break;//addstudent
#endregion
#region 删除学生信息
case 2:
{
Console.WriteLine("Number of items you want to delete");
int delete_student = Convert.ToInt32(Console.ReadLine());//要删除的项数
delect delect_student_number = new delect();
delect_student_number.delect_student(class_student, delete_student, studnet_number);//删除操作
studnet_number = studnet_number - 1;
print_student printf_student = new print_student();//输出
printf_student.Print_student(class_student, studnet_number);//输出数据
}
break;//deletestudent
#endregion
#region 修改学生信息
case 3:
{
Console.WriteLine("Modify the student's number of information");
int updatastudent_student = Convert.ToInt32(Console.ReadLine());//要更新的学生的学号
updatastudent up_data_student = new updatastudent();
up_data_student.updata_student(class_student, updatastudent_student, studnet_number);
print_student printf_student = new print_student();//输出
printf_student.Print_student(class_student, studnet_number);//输出数据
}
break;//updatestudent
#endregion
#region 检索学生信息
case 4:
{
Console.Clear();
Console.WriteLine("Clear screen complete");
selectstduent select_database = new selectstduent();
select_database.select_student(class_student, studnet_number);
}
break;//selectstudent
#endregion
#region 输出所有信息
case 5:
{
print_student printf_student = new print_student();//输出
printf_student.Print_student(class_student, studnet_number);//输出数据
}
break;//select * form tablename
#endregion
#region 其他键
default:
{
Console.WriteLine("The input data is not legal, please re-enter");
}break; ;//return 0;
#endregion
}
Console.WriteLine("Whether to exit(true and false)");
exit = Convert.ToBoolean(Console.ReadLine());
} while (exit==false);
}
}
#endregion
#region 功能界面部分
#region 输入数据,插入数据
class input
{
public static int string_len=0;//数据长度
public int input_add(student[] class_student ,int atring_len,int number)
{
number = number + string_len;
for (int i = string_len; i < number; i++)
{
Console.Write("student_num(int):");
class_student[i].studnet_num = Convert.ToInt32(Console.ReadLine());
Console.Write("student_name(string):");
class_student[i].student_name = Convert.ToString(Console.ReadLine());
Console.Write("student_score():");
class_student[i].student_score.math_score = Convert.ToInt32(Console.ReadLine());
class_student[i].student_score.chinese_score = Convert.ToInt32(Console.ReadLine());
class_student[i].student_score.Specialized_course = Convert.ToInt32(Console.ReadLine());
class_student[i].student_score.english_score = Convert.ToInt32(Console.ReadLine());
//输入结束后去统计其成绩总和和平均成绩
class_student[i].student_sum = class_student[i].student_score.chinese_score + class_student[i].student_score.english_score + class_student[i].student_score.math_score + class_student[i].student_score.Specialized_course;
class_student[i].Average_score = class_student[i].student_sum / 4;
string_len++;//统计数组的实际长度,及现在学生的总人数
}
return string_len ;
}
}
#endregion
#region 输出数据
class print_student
{
public void Print_student(student[]class_student,int number)
{
Console.WriteLine("student_num(int) student_name(string) student_score(math.score) student_score(chinese.score) student_score(english.score) student_score(Specialized_course.score) student_score(sun.score) student_score(avger.score)\n");
for (int i = 0; i < number; i++)
{
Console.WriteLine($"{ class_student[i].studnet_num}\t{class_student[i].student_name}\t{class_student[i].student_score.math_score}\t{class_student[i].student_score.chinese_score}\t{class_student[i].student_score.english_score}\t{class_student[i].student_score.Specialized_course}\t{class_student[i].student_sum}\t{class_student[i].Average_score}");
}
}
}
#endregion
#region 删除学生信息
class delect
{
public void delect_student(student[]class_student,int student_num,int string_len)
{
for (int i = 0; i < string_len; i++)
{
if(class_student[i].studnet_num==student_num)
for (int j = i; j < string_len-1; j++)
{
class_student[j] = class_student[j + 1];
}
}
}
}
#endregion
#region 修改学生信息
class updatastudent
{
public void updata_student(student[]class_student,int updata_student,int string_len)
{
for (int i = 0; i <string_len; i++)
{
if(class_student[i].studnet_num==updata_student)
{
Console.Write("student_num(int):");
class_student[i].studnet_num = Convert.ToInt32(Console.ReadLine());
Console.Write("student_name(string):");
class_student[i].student_name = Convert.ToString(Console.ReadLine());
Console.Write("student_score():");
class_student[i].student_score.math_score = Convert.ToInt32(Console.ReadLine());
class_student[i].student_score.chinese_score = Convert.ToInt32(Console.ReadLine());
class_student[i].student_score.Specialized_course = Convert.ToInt32(Console.ReadLine());
class_student[i].student_score.english_score = Convert.ToInt32(Console.ReadLine());
//输入结束后去统计其成绩总和和平均成绩
class_student[i].student_sum = class_student[i].student_score.chinese_score + class_student[i].student_score.english_score + class_student[i].student_score.math_score + class_student[i].student_score.Specialized_course;
class_student[i].Average_score = class_student[i].student_sum / 4;
}
}
}
}
#endregion
#region 检索学生信息
class selectstduent
{
public void select_student(student[]class_student,int student_number)
{
Console.WriteLine("Please enter the retrieval method");
Console.WriteLine("1\t\tstudent's num");
Console.WriteLine("2\t\tstudent's name");
Console.WriteLine("3\t\tTotal score ranking");//可以升序输出,也可以降序输出
Console.WriteLine("其他键\t\texit");
Console.WriteLine("Please enter your selection");
int selection = Convert.ToInt32(Console.ReadLine());
switch (selection)
{
#region 按学号检索
case 1: {
Console.WriteLine("Please enter the student's school number");
int select_student_num = Convert.ToInt32(Console.ReadLine());//检索的学生学号
select_num selectdatabase = new select_num();
selectdatabase.select_select(class_student, select_student_num, student_number);
} break;
#endregion
#region 按姓名检索
case 2:
{
Console.WriteLine("Enter the name of the student you want to retrieve");
string student_name_select = Convert.ToString(Console.ReadLine());
select_name select_name_se = new select_name();
select_name_se.select_select_name(class_student, student_name_select, student_number);
}
break;
#endregion
#region 按成绩检索
case 3:
{
Console.Clear();
Console.WriteLine("Clear screen complete");
Score_retrieval new_score_retrieval = new Score_retrieval();
new_score_retrieval.score_retrieval_score(class_student, student_number);
} break;
#endregion
#region exit
default: return;
#endregion
}
}
}
#endregion
#region 学号检索
class select_num
{
public void select_select(student[]class_student,int selsct_num_num,int string_len)
{
for (int i = 0; i < string_len; i++)
{
if(class_student[i].studnet_num==selsct_num_num)
{
Console.WriteLine($"{ class_student[i].studnet_num}\t{class_student[i].student_name}\t{class_student[i].student_score.math_score}\t{class_student[i].student_score.chinese_score}\t{class_student[i].student_score.english_score}\t{class_student[i].student_score.Specialized_course}\t{class_student[i].student_sum}\t{class_student[i].Average_score}");
}
}
}
}
#endregion
#region 姓名检索
class select_name
{
public void select_select_name(student[]class_student,string select_string_name,int string_len)
{
for (int i = 0; i < string_len; i++)
{
if(class_student[i].student_name==select_string_name)
{
Console.WriteLine($"{ class_student[i].studnet_num}\t{class_student[i].student_name}\t{class_student[i].student_score.math_score}\t{class_student[i].student_score.chinese_score}\t{class_student[i].student_score.english_score}\t{class_student[i].student_score.Specialized_course}\t{class_student[i].student_sum}\t{class_student[i].Average_score}");
}
}
}
}
#endregion
#region 成绩检索
class Score_retrieval
{
public void score_retrieval_score(student[] class_student, int string_len)
{
Console.WriteLine("1\t\tAscending output");
Console.WriteLine("2\t\tDescending output");
Console.WriteLine("Other arbitrary minus\t\texit");
Console.WriteLine("Please enter a value");
int num_select = Convert.ToInt32(Console.ReadLine());
switch (num_select)
{
case 1:
{
min_max(class_student, string_len); //成绩升序输出
print_student printf_student = new print_student();//输出
printf_student.Print_student(class_student, string_len);//输出数据
}
break;
case 2:
{
max_min(class_student, string_len); //成绩降序输出
print_student printf_student = new print_student();//输出
printf_student.Print_student(class_student, string_len);//输出数据
}
break;
default: break;
}
}
public void max_min(student[] class_student, int string_len)
{
student temp = new student();
//排序部分
for (int i = 0; i < string_len - 1; i++)
{
for (int j = i + 1; j < string_len; j++)
{
if (class_student[i].student_sum > class_student[i].student_sum)
{
temp = class_student[i];
temp = class_student[j];
class_student[j] = class_student[i];
}
}
}
}
public void min_max(student[] class_student, int string_len)
{
student temp = new student();
//排序部分
for (int i = 0; i < string_len - 1; i++)
{
for (int j = i + 1; j < string_len; j++)
{
if (class_student[i].student_sum < class_student[i].student_sum)
{
temp = class_student[i];
temp = class_student[j];
class_student[j] = class_student[i];
}
}
}
}
}
#endregion
#endregion
}
数据库管理系统(.cs文件)
猜你喜欢
转载自blog.csdn.net/qq_45205390/article/details/104095465
今日推荐
周排行