首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#控制台程序 求指导

2013-04-09 
c#控制台程序 求指点编写了一个类 从键盘接受的数据 没有达到预期处理 预期效果 用户键盘输入学生有关信息

c#控制台程序 求指点
编写了一个类 从键盘接受的数据 没有达到预期处理 预期效果 用户键盘输入学生有关信息 程序输出 并计算输出学生出生年份 出生年份的实现 我想的是 当前时间的年份减去年龄 
this.born = (int)DateTime.Now.Year -age;
不知道这句自己写对没有
还有接收数据语句有问题 但是我自己不知道怎么改 求高手指点 
程序namespace test2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("输入学生学号 学生姓名 学生年龄"); 
            int sno = Console.Read();
           // Console.Write("输入学生年龄");
            int age = Console.Read();
            //Console.Write("输入学生姓名");
            string name = Console.ReadLine();
            //Console.WriteLine("\n");
            
            
            student a = new student();
            a.Printf(sno, name, age);
            Console.ReadLine();
            

        }
        

    }
    public class student 
    {
        int sno;
        string sname;
        int age;
        int born;
        public void Printf(int sno, string name, int age) 
        {
            this.sno = sno;
            this.age = age;
            this.sname = name;
            this.born = (int)DateTime.Now.Year -age;
            Console.WriteLine("学号:{0}姓名:{1}年龄{2}出生年份{3}", sno, sname, age, born);
            Console.Read();
        }
       
    }
}



c#??控制台
[解决办法]
this.born = DateTime.Now.Year -age;
去掉(int)
可能你输入的格式有错.
按你的输入方式应该是空格分开
如:
1 admin 1 

[解决办法]

class Program
    {
        static void Main(string[] args)


        {
            Console.WriteLine("输入学生学号 学生姓名 学生年龄");
            //int sno = Console.Read();
            // Console.Write("输入学生年龄");
           // int age = Console.Read();
            //Console.Write("输入学生姓名");
            string name = Console.ReadLine();
            string[] stu = name.Split(new string[] { " " },StringSplitOptions.RemoveEmptyEntries);
            //Console.WriteLine("\n");


            student a = new student();
            a.Printf(Convert.ToInt32(stu[0]), stu[1], Convert.ToInt32(stu[2]));
            Console.ReadLine();

        }
    }
    public class student
    {
        int sno;
        string sname;
        int age;
        int born;
        public void Printf(int sno, string name, int age)
        {
            this.sno = sno;
            this.age = age;
            this.sname = name;
            this.born = (int)DateTime.Now.Year - age;
            Console.WriteLine("学号:{0}姓名:{1}年龄{2}出生年份{3}", sno, sname, age, born);
            Console.Read();
        }

    }

热点排行