VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#实现简单成绩管理系统的完整步骤(2)

Output方法调用了GetGradeSection()和 GetAve() 两个方法,先生成并定义字符串数组,然后把两个方法返回的数据与原有的信息拼接到数组中,再写入即可。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public double GetGradeSection(int m ,int low, int high)//分数段
 {
  int count = 0;
  string file = File.ReadAllText("Score.txt", UTF8Encoding.Default);
  //把txt文件中按行存储的信息利用regex.Split按行存入string数组中
  string[] records = Regex.Split(file, "\r\n");
  //开始更新视图
  this.listView1.BeginUpdate();
  //清空原有视图
  this.listView1.Items.Clear();
  // records.Length为数组的元素个数
  for (int index = 0; index < records.Length; index++)
  { //分割每行记录的各个字段
   if (records[index].Length != 0)
   {
    string[] components = Regex.Split(records[index], " ");
 
    if (m == 1)//数学
    {
     if (Convert.ToDouble(components[2]) >= low && Convert.ToDouble(components[2]) <= high)
     {
      count++;
     }
    }
    if (m == 2)//英语
    {
     if (Convert.ToDouble(components[3]) >= low && Convert.ToDouble(components[3]) <= high)
     {
      count++;
     }
    }
    if (m == 3)//政治
    {
     if (Convert.ToDouble(components[4]) >= low && Convert.ToDouble(components[4]) <= high)
     {
      count++;
     }
    }
   }
   else break;
  }
   return count;
 }

先循环,然后进行判断,如果在分数段内就把count值加一,最后返回到Output()方法中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public double GetAve(int m)//平均分
 {
  double ave = 0;
  string file = File.ReadAllText("Score.txt", UTF8Encoding.Default);
  //把txt文件中按行存储的信息利用regex.Split按行存入string数组中
  string[] records = Regex.Split(file, "\r\n");
   int length = records.Length;
  //开始更新视图
  this.listView1.BeginUpdate();
  //清空原有视图
  this.listView1.Items.Clear();
  // records.Length为数组的元素个数
  for (int index = 0; index < records.Length; index++)
  {
   if (records[index].Length != 0)
   {
    //分割每行记录的各个字段
 
    string[] components = Regex.Split(records[index], " ");
 
    if (m == 1)
    {
     ave += double.Parse(components[2]);
    }
    if (m == 2)
    {
     ave += double.Parse(components[3]);
    }
    if (m == 3)
    {
     ave += double.Parse(components[4]);
    }
   }
   else break;
  }
  return ave/length;
 }

把各科对应的所有的分数加在一起,然后除以总人数,即为平均分,返回到Output()方法中

拼接好的字符串数组写入List.txt文本中,在Form7中读取,在Listview中显示即可

九、清除

清除就是清空所有的文本数据,然后就把空字符写入覆盖即可

?
1
2
3
4
5
6
private void ClearAll_Click(object sender, EventArgs e)
 {
  System.IO.File.WriteAllText("Score.txt", string.Empty);
  System.IO.File.WriteAllText("List.txt", string.Empty);
  this.load_data();
 }

总结

由于之前没接触过C#,所以也不知道怎么搞,总结下来就是这一周的收获并不是很大,毕竟整天忙得不可开交,吃饭、睡觉、敲代码,最后一总结发现并没有学到什么真切的知识,毕竟一点都没学,上来就用,这种方式真的难以理解,在此我想说的是,只要敢钻研,肯钻研,再难的问题也有解决的办法,最后补充一句,忙点真的挺好的,每天都很充实,加油,奋斗在路

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。


相关教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号