分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/**
* 作者 张俊强
* 版本 1.0
* 时间 2016/10/15
* 功能 成绩管理系统
*/
namespace StudentManagerSystem
{
class Student {
private String stuNum;//学号
private String stuName;//姓名
private Double chineseGrade=0;//语文成绩
private Double englishGrade=0;//英语成绩
private Double mathGrade=0;//数学成绩
private String comment;//评价
public String getStuNum()
{
return this.stuNum;
}
public String getStuName()
{
return this.stuName;
}
public Double getChineseGrade()
{
return this.chineseGrade;
}
public Double getEnglishGrade()
{
return this.englishGrade;
}
public Double getMathGrade()
{
return this.mathGrade;
}
public String getComment()
{
return this.comment;
}
public void setStuNum(String stuNum){
this.stuNum=stuNum;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public void setChineseGrade(Double chineseGrade){
this.chineseGrade=chineseGrade;
}
public void setEnglishGrade(Double englishGrade){
this.englishGrade=englishGrade;
}
public void setMathGrade(Double mathGrade){
this.mathGrade=mathGrade;
}
public String getAveageGrade(){
return ((this.chineseGrade + this.mathGrade + this.englishGrade) / 3.0).ToString("0.00");
}
public void setComment(String comment){
this.comment = comment;
}
public Student(String stuNum, String stuName)
{
this.stuNum = stuNum;
this.stuName = stuName;
}
public Student() { }
}
class Teacher {
private String teaNum;
private String teaName;
}
class Program
{
public static int countStu = 4;
public static Student[] stu = new Student[400];
static void Main(string[] args){
/**
* 初始化四个学生
*/
initStudent();
while (true)
{
/**
* 记录登录名以及密码
*/
String loginName;
String loginPassword;
Console.WriteLine("请输入登录名:");
while (true)
{
try
{
loginName = Console.ReadLine();
if (loginName == "std" || loginName == "admin")
break;
else
Console.WriteLine("输入错误,请重新输入!");
}
catch (Exception e)
{
Console.WriteLine("输入错误,请重新输入!");
}
}
Console.WriteLine("请输入密码:");
while (true)
{
try
{
loginPassword = Console.ReadLine();
if (loginPassword == "std" || loginPassword == "admin")
break;
else
Console.WriteLine("输入错误,请重新输入!");
}
catch (Exception e)
{
Console.WriteLine("输入错误,请重新输入!");
}
}
switch (loginName)
{
case "admin":
Console.Clear();
Console.WriteLine("欢迎您老师!");
while (true)
{
int teaChoice = teaMenu();
//1.查看所有学生信息,2.添加学生,3.删除学生,4.评价学生,5.重新登录!
switch (teaChoice)
{
case 1:
showAllStudent();
break;
case 2:
addStudent();
break;
case 3:
deleteStudent();
break;
case 4:
addStudentComment();
break;
case 5:
inputStuGrade();
break;
case 6:
modifyStuGrade();
break;
case 7:
break;
default: break;
}
if (teaChoice >= 7) break;
}
break;
case "std":
Console.Clear();
Console.WriteLine("欢迎你同学!");
while (true)
{
int stuChoice = stuMenu();
//1.查询成绩,2.查询老师寄语,3.重新登录!
switch (stuChoice)
{
case 1:
getStudentMessage(stuChoice);
break;
case 2:
getStudentMessage(stuChoice);
break;
case 3:
break;
default: break;
}
if (stuChoice >= 3) break;
}
break;
default: break;
}
}
}
public static void initStudent(){
stu[0] = new Student("1001", "张三");
stu[1] = new Student("1002", "李四");
stu[2] = new Student("1003", "王五");
stu[3] = new Student("1004", "赵六");
}
public static int teaMenu() {
Console.WriteLine("请输入您要的操作:1.查看所有学生信息,2.添加学生,3.删除学生,4.评价学生,5.录入成绩,6.修改成绩,7.重新登录!");
int choice=0;
while (true)
{
try
{
choice = int.Parse(Console.ReadLine());
break;
}
catch (Exception e)
{
Console.WriteLine("请输入1~7之间的数字!");
}
}
return choice;
}
/**
* 学生菜单
*/
public static int stuMenu()
{
Console.WriteLine("请输入您要的操作:1.查询成绩,2.查询老师寄语,3.重新登录!");
int choice = 0;
while (true)
{
try
{
choice = int.Parse(Console.ReadLine());
break;
}
catch (Exception e)
{
Console.WriteLine("请输入1~3之间的数字!");
}
}
return choice;
}
/**
* 所有学生信息
*/
public static void showAllStudent() {
for(int i=0;i<countStu;i++){
for(int j=i+1;j<countStu;j++){
if(Double.Parse(stu[i].getAveageGrade())<Double.Parse(stu[j].getAveageGrade())){
Student tempStu=stu[i];
stu[i]=stu[j];
stu[j]=tempStu;
}
}
}
Console.WriteLine("排名\t学号\t姓名\t语文\t数学\t英语\t平均成绩\t评价");
for (int i = 0; i < countStu; i++) {
Console.WriteLine(i+"\t"+
stu[i].getStuNum()+"\t"+
stu[i].getStuName() + "\t" +
stu[i].getChineseGrade() + "\t" +
stu[i].getMathGrade() + "\t" +
stu[i].getEnglishGrade() + "\t" +
stu[i].getAveageGrade() + "\t" +
stu[i].getComment());
}
}
/**
* 添加学生
*/
public static void addStudent()
{
if (countStu < 400)
{
String newStuNum;
String newStuName;
Console.WriteLine("请输入新同学的学号:");
newStuNum = Console.ReadLine();
Console.WriteLine("请输入新同学的姓名:");
newStuName = Console.ReadLine();
stu[countStu++] = new Student(newStuNum, newStuName);
}
else {
Console.WriteLine("该班级人数超过限制,不可再添加学生!");
}
}
/**
* 添加学生评价
*/
public static void addStudentComment(){
while (true)
{
Console.WriteLine("请输入带评价学生的学号:(退出请输入EXIT)");
String commentStuNum;
int signStuPosition = -1;
commentStuNum = Console.ReadLine();
if (commentStuNum == "EXIT") {
return;
}
for (int i = 0; i < countStu; i++)
{
if (stu[i].getStuNum() == commentStuNum)
{
signStuPosition = i;
break;
}
}
if (signStuPosition == -1)
{
Console.WriteLine("未找到该学生!");
}
else
{
Console.WriteLine("请输入您的评价!");
String comment;
comment = Console.ReadLine();
stu[signStuPosition].setComment(comment);
}
}
}
/**
* 录入学生成绩
*/
public static void inputStuGrade() {
while (true)
{
Console.WriteLine("请输入待录成绩学生的学号:(退出请输入EXIT)");
String commentStuNum;
int signStuPosition = -1;
commentStuNum = Console.ReadLine();
if (commentStuNum == "EXIT")
{
return;
}
for (int i = 0; i < countStu; i++)
{
if (stu[i].getStuNum() == commentStuNum)
{
signStuPosition = i;
break;
}
}
if (signStuPosition == -1)
{
Console.WriteLine("未找到该学生!");
}
else {
Console.Write("请输入语文成绩:");
stu[signStuPosition].setChineseGrade(Double.Parse(Console.ReadLine()));
Console.Write("请输入数学成绩:");
stu[signStuPosition].setMathGrade(Double.Parse(Console.ReadLine()));
Console.Write("请输入英语成绩:");
stu[signStuPosition].setEnglishGrade(Double.Parse(Console.ReadLine()));
}
}
}
/**
* 修改成绩
*/
public static void modifyStuGrade()
{
while (true)
{
Console.WriteLine("请输入待修改成绩学生的学号:(退出请输入EXIT)");
String commentStuNum;
int signStuPosition = -1;
commentStuNum = Console.ReadLine();
if (commentStuNum == "EXIT")
{
return;
}
for (int i = 0; i < countStu; i++)
{
if (stu[i].getStuNum() == commentStuNum)
{
signStuPosition = i;
break;
}
}
if (signStuPosition == -1)
{
Console.WriteLine("未找到该学生!");
}
else
{
Console.WriteLine("1.修改语文成绩,2.修改数学成绩,3.修改英语成绩!(退出请输入EXIT)");
switch (Console.ReadLine()) {
case "1": Console.Write("请输入语文成绩:");
stu[signStuPosition].setChineseGrade(Double.Parse(Console.ReadLine())); break;
case "2": Console.Write("请输入数学成绩:");
stu[signStuPosition].setMathGrade(Double.Parse(Console.ReadLine())); break;
case "3": Console.Write("请输入英语成绩:");
stu[signStuPosition].setEnglishGrade(Double.Parse(Console.ReadLine())); break;
case "EXIT": break ;
default: Console.WriteLine("输入有误!"); continue;
}
}
}
}
/**
* 删除学生
*/
public static void deleteStudent()
{
while (true)
{
if (countStu == -1)
{
Console.WriteLine("现在学生数为0");
return;
}
else
{
Console.WriteLine("请输入待删除成绩学生的学号:(退出请输入EXIT)");
String commentStuNum;
int signStuPosition = -1;
commentStuNum = Console.ReadLine();
if (commentStuNum == "EXIT")
{
return;
}
for (int i = 0; i < countStu; i++)
{
if (stu[i].getStuNum() == commentStuNum)
{
for (int k = i; k < countStu; k++)
{
if (k != countStu - 1)
{
stu[k] = stu[k + 1];
}
}
signStuPosition = i;
countStu--;
break;
}
}
}
}
}
/**
* 查询指定学生成绩
*/
public static void getStudentMessage(int flag)
{
while (true)
{
if (countStu == -1)
{
Console.WriteLine("现在学生数为0");
return;
}
else
{
Console.WriteLine("请输入待查询学生的学号:(退出请输入EXIT)");
String commentStuNum;
int signStuPosition = -1;
commentStuNum = Console.ReadLine();
if (commentStuNum == "EXIT")
{
return;
}
for (int i = 0; i < countStu; i++)
{
if (commentStuNum == stu[i].getStuNum()) {
signStuPosition = i;
break;
}
}
if (flag == 1)
{
Console.WriteLine("学号\t姓名\t语文\t数学\t英语\t平均成绩");
Console.WriteLine(
stu[signStuPosition].getStuNum() + "\t" +
stu[signStuPosition].getStuName() + "\t" +
stu[signStuPosition].getChineseGrade() + "\t" +
stu[signStuPosition].getMathGrade() + "\t" +
stu[signStuPosition].getEnglishGrade() + "\t" +
stu[signStuPosition].getAveageGrade());
}
else {
Console.WriteLine("学号\t姓名\t评价");
Console.WriteLine(
stu[signStuPosition].getStuNum() + "\t" +
stu[signStuPosition].getStuName() + "\t" +
stu[signStuPosition].getComment() );
}
}
}
}
}
}