C#高手请进

2025-06-29 06:00:37
推荐回答(3个)
回答1:

朋友我刚才写好了。。
代码写的不好,不过已经基本实现了你要的功能。
你可以将下面的代码复制进C# 就可以执行了。。
我是用控制台写出来的。。 给分吧。。 呵呵
代码如下。。

using System;
using System.Collections.Generic;

namespace program
{
interface student
{
string name
{
set;
get;
}
int no
{
set;
get;
}
string kemu
{
set;
get;
}
int chengji
{
set;
get;
}
}
class a : student
{
private string Name;
private int No;
private string Kemu;
private int Chengji;

#region student 成员

public string name
{
get
{
return Name;
}
set
{
Name = value;
}
}

public int no
{
get
{
return No;
}
set
{
No = value;
}
}

public string kemu
{
get
{
return Kemu;
}
set
{
Kemu = value;
}
}

public int chengji
{
get
{
return Chengji;
}
set
{
Chengji = value;
}
}

#endregion
}

class wangjun
{
public List objects =new List();
public void show()
{
Console.WriteLine("请输入信息:A为输入输入语法为\"姓名-学号-科目-成绩\"、如果终止输入请输入\"esc\"(小写)");
}
public void shuru()
{
while (true)
{
show();
string s = Console.ReadLine();
if (s=="esc")
{
break;
}
string[] s1 = s.Split('-');
if (s1.Length != 4)
{
Console.WriteLine("输入有错误请重新输入");
}
else
{
a newa = new a();
newa.name = s1[0];
newa.no = Convert.ToInt32(s1[1]);
newa.kemu = s1[2];
newa.chengji = Convert.ToInt32(s1[3]);
objects.Add(newa);
}
for (int i = 0; i < 5; i++)
{
Console.WriteLine("");
}
}
}
public void gerenavg()
{
while (true)
{
Console.WriteLine("请输入学生名字:(输入\"esc\"为退出)");
string s = Console.ReadLine();
if (s=="esc")
{
break;
}

int n = 0, m = 0;
for (int i = 0; i < objects.Count; i++)
{
if (objects[i].name == s)
{
n++;
m = objects[i].chengji + m;
}
}
for (int i = 0; i < 5; i++)
{
Console.WriteLine("");
}
Console.WriteLine("平均成绩:{0}", m / n);
}
}
public void kemuavg()
{
int n = 0, m = 0;
for (int i = 0; i < objects.Count; i++)
{
n++;
m=objects[i].chengji + m;
}
Console.WriteLine("科目平均成绩是:{0}",m/n);
}
public void bujige()
{
int n = 0;
for (int i = 0; i < objects.Count; i++)
{
if (objects[i].chengji<60)
{
n++;
}
}
if (n == 0)
{
Console.WriteLine("没有不及格的学生!");
}
else
{
Console.WriteLine("不及格的学生有{0}个",n);
}
}
static void Main(string[] args)
{
wangjun wj = new wangjun();
while (true)
{
Console.WriteLine("a:为输入,b:为查看个人平均成绩,c:为科目平均成绩,d:为不及格人数,e:为退出");
string s = Console.ReadLine();
if (s=="a")
{
wj.shuru();
}
if (s=="b")
{
wj.gerenavg();
}
if (s=="c")
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine("");
}
wj.kemuavg();
}
if (s=="d")
{
wj.bujige();
for (int i = 0; i < 5; i++)
{
Console.WriteLine("");
}
}
if (s=="e")
{
break;
}
for (int i = 0; i < 5; i++)
{
Console.WriteLine("");
}
}
Console.WriteLine("欢迎使用本系统!再见");
Console.ReadLine();

}
}
}

回答2:

科目是一定的不?如果一定应该可以做,满好弄的,可以帮你写写,不过分?写好给你~~~

回答3:

像这样的
自己单练吧