你好,软糖帮你写出来了。
程序代码
class Program {
public class 学生 {
public decimal 语文成绩;
public decimal 数学成绩;
public decimal 英语成绩;
}
static void Main(string[] args) {
Console.WriteLine("// 输入 x 退出本程序");
//请用户输入人数,循环直到正确输入
int 输入的人数 = -1;
while (输入的人数 < 0) {
Console.BackgroundColor = ConsoleColor.DarkYellow;
Console.Write("请输入班级人数: ");
Console.BackgroundColor = ConsoleColor.Black;
string 输入内容 = Console.ReadLine();
if (输入内容.Trim(' ').ToLower() == "x") { Environment.Exit(0); }
if (输入内容.Trim(' ').ToLower() == "") { continue; }
输入的人数 = 判断人数是否合法(输入内容);
}
int 班级人数 = 输入的人数;
//创建学生数组,并循环输入每个学生的各科成绩
学生[] 学生 = new 学生[班级人数];
for (int i = 0; i < 班级人数; i++) {
Console.BackgroundColor = ConsoleColor.DarkGreen;
Console.WriteLine("【开始输入 第 {0} 号学生的 各科成绩】", i + 1);
Console.BackgroundColor = ConsoleColor.Black;
学生[i] = new 学生();
学生[i].语文成绩 = 输入并获取成绩(i + 1, "语文");
学生[i].数学成绩 = 输入并获取成绩(i + 1, "数学");
学生[i].英语成绩 = 输入并获取成绩(i + 1, "英语");
}
//输入完毕提示
Console.BackgroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("班级 {0} 人的各科成绩录入完毕! ", 班级人数);
Console.BackgroundColor = ConsoleColor.Black;
//等待按任意键退出
Console.BackgroundColor = ConsoleColor.DarkCyan;
Console.Write("按任意键退出...");
Console.ReadKey();
}
static decimal 输入并获取成绩(int 学号, string 学科名称) {
bool 正确的输入 = false;
decimal 获取成绩 = 0;
while (!正确的输入) {
Console.Write("请输入第 {0} 号学生的{1}成绩:", 学号, 学科名称);
string 输入内容 = Console.ReadLine();
if (输入内容.Trim(' ').ToLower() == "x") { Environment.Exit(0); }
if (输入内容.Trim(' ').ToLower() == "") { continue; }
正确的输入 = 判断成绩是否合法(输入内容, out 获取成绩);
}
Console.WriteLine("录入 {0} 号{1}成绩 {2} 分。", 学号, 学科名称, 获取成绩);
return 获取成绩;
}
static int 判断人数是否合法(string 输入内容) {
int 返回值;
bool 是数字 = int.TryParse(输入内容, out 返回值);
if (是数字 == false) //转换数字失败就再次请求输入正确值。
{ Console.WriteLine("报告老师,这个小伢输个数字都输错!!!!"); return -1; } else if (返回值 <= 0) { Console.WriteLine("人数为零或负数!都是鬼吗!"); return -1; } else if (返回值 > 200) { Console.WriteLine("人数超过了200!?这是班级还是年级???"); return -1; }
return 返回值;
}
static bool 判断成绩是否合法(string 输入内容, out decimal 数值) {
bool 是数字 = decimal.TryParse(输入内容, out 数值);
if (是数字 == false) //转换数字失败就再次请求输入正确值。
{
Console.WriteLine("报告老师,这个小伢输个数字都输错!!!!");
return false;
}
else if (数值 < 0) {
Console.WriteLine("叫你好好学习!居然连负分数都出来了!");
return false;
}
else if (数值 > 150) {
Console.WriteLine("你这是神马奇葩试卷,分数超过了150!?");
return false;
}
return true;
}
}