| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖, 1 人收藏
标题:请高手解释一下这个c#控制台程序是什么意思?
只看楼主 加入收藏
我爱你丁长青
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2013-4-4
结帖率:0
收藏(1)
已结贴  问题点数:10 回复次数:3 
请高手解释一下这个c#控制台程序是什么意思?
//在头部这四个东西是什么??、能解释一下吗?
using System;
using System.Collections.Generic;
using System.Text;
namespace hanxu
{
    class Program
    {
        static void Main(string[] args)
        {  
            int t = 0; int k = 1;
            Console.Write("请输入全班同学的人数:");//类似c语言中的printf函数
            t = Convert.ToInt32(Console.ReadLine());//不知道是不是SCANF函数
            score[] stu = new score[t];
            Console.WriteLine("请输入全班同学的信息:");
            for (int i = 0; i < t; i++)  //这个倒是可以看懂是循环语句
            {
                Console.WriteLine("请输入第{0}个学生信息:", k++);
                stu[i] = new score();//这是什么?
                stu[i].init(); //???
                stu[i].AVG();  //???不懂是什么意思?
            }
            Console.WriteLine("按学号排序学生信息:");
            Console.WriteLine("    姓名  学号  C++  英语 数学 平均成绩");
            for (int j = 0; j < t; j++)
            {
                stu[j].display(); //????不懂?
            }
            Console.WriteLine("排序后的学生信息:");
            paixu(t, stu);
            Console.Read();
        }
        public static void paixu(int t, score[] stu) //好像是函数不知道
        {
            score stud = new score(); //这个就更不懂了
            if (stu.Length <= 0) //判断语句在小于什么???
                return;  //返回值空
            for (int i = 0; i < t; i++)
            {
                for (int j = 0; j < t - i - 1; j++)
                {
                    if (stu[j].Avg > stu[j + 1].Avg)
                    { stud = stu[j + 1]; stu[j + 1] = stu[j]; stu[j] = stud; }
                }
            }
            Console.WriteLine("   姓名  学号  C++  英语  数学 平均成绩");
            foreach (score x in stu)
                x.display();
        }
    }
    class score //这都是什么意思????
    {
        private string name;
        private int ID;
        private double c;
        private double english;
        private double math;
        double avg;
        public score()
        { this.avg = 0; }
        public string Name
        { get { return name; } set { name = value; } }
        public int id
        { get { return ID; } set { ID = value; } }
        public double C
        { get { return c; } set { c = value; } }
        public double English
        { get { return english; } set { english = value; } }
        public double Math
        { get { return math; } set { math = value; } }
        public double Avg
        { get { return avg; } set { avg = value; } }
        public void init()
        {    //好像也是输出语句但不怎么清楚希望高手指点
            Console.Write("学号:");
            this.ID = Convert.ToInt32(Console.ReadLine());
            Console.Write("姓名:");
            this.name = Convert.ToString(Console.ReadLine());
            Console.Out.Write("c++:");
            this.c = Convert.ToDouble(Console.ReadLine());
            Console.Write("英语:");
            this.english = Convert.ToDouble(Console.ReadLine());
            Console.Write("数学:");
            this.math = Convert.ToDouble(Console.ReadLine());
        }   //这里是什么意思??????
        public void AVG()   //这是???
        {
            this.avg = (this.math + this.english + this.c) / 3;
        }
        public void display()
        {
            Console.WriteLine("{0,5}{1,5}{2,6}{3,6}{4,6}{5,6}", name, ID, c, english, math, avg);
        }
    }
}
搜索更多相关主题的帖子: 控制台 c语言 信息 
2013-07-21 15:10
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:5 
//在头部这四个东西是什么??、能解释一下吗?
using System;
using System.Collections.Generic;
using System.Text;
这是C#的函数库引用,类似C的引用头文件

t = Convert.ToInt32(Console.ReadLine());//不知道是不是SCANF函数
Console.ReadLine()是读取一行数据,返回字符串型
Convert.ToInt32(string) 将字符串转换为int型

score[] stu = new score[t];从程序可以看出,score是个类,这里就是创建一个scure类型的数组,长度为t
stu[i] = new score();//这是什么?这句是放在for循环里面的,就是初始化score数组,给数组的每一项赋一个新的score类
stu[i].init(); //???  stu[i]既然指向一个score类,那这就是调用score类的init()方法
stu[i].AVG();  //???不懂是什么意思?同上调用score类的AVG()方法

stu[j].display(); //????不懂?同上调用score类的display()方法

score stud = new score(); //这个就更不懂了 定义一个score类的变量或叫做引用,指向一个新new的score类

if (stu.Length <= 0) //判断语句在小于什么??? stu既然是一个数组,这里判断数组的长度小于等于0

public static void paixu(int t, score[] stu) //好像是函数不知道  这就是函数,C#中称做方法,static关键字表示静态

class score //这都是什么意思???? class是定义类的关键字,就是自定义一个类,类名为score

public void init()
{    //好像也是输出语句但不怎么清楚希望高手指点
    Console.Write("学号:");
    this.ID = Convert.ToInt32(Console.ReadLine());
    Console.Write("姓名:");
    this.name = Convert.ToString(Console.ReadLine());
    Console.Out.Write("c++:");
    this.c = Convert.ToDouble(Console.ReadLine());
    Console.Write("英语:");
    this.english = Convert.ToDouble(Console.ReadLine());
    Console.Write("数学:");
    this.math = Convert.ToDouble(Console.ReadLine());
}   //这里是什么意思??????
这是在score类中定义的init()方法,或称做函数
这方法名init可以知道,这是在初始化这个类中的变量
Console.Write("学号:"); 输出"学号:"字样
this.ID = Convert.ToInt32(Console.ReadLine()); 接着使用Console.ReadLine()让用户输入学号,然后将输入的值赋给变量ID
其他变量同理

public void AVG()   //这是???
{
    this.avg = (this.math + this.english + this.c) / 3;
}
同样这是定义AVG()函数,函数内就是将三科的分数除以3,得到平均分,赋给avg变量
2013-07-21 18:32
我爱你丁长青
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2013-4-4
收藏
得分:0 
回复 2楼 yhlvht
谢谢要不是你给我这番解释我还真不知道如何是好。希望加您QQ........
2013-07-21 22:09
岁月如刀
Rank: 6Rank: 6
来 自:冰冻星球
等 级:侠之大者
威 望:7
帖 子:165
专家分:477
注 册:2013-7-21
收藏
得分:5 
2楼真是热心的人儿啊。

Now. Game over.
2013-07-21 22:42
快速回复:请高手解释一下这个c#控制台程序是什么意思?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049886 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved