读书人

c#控制台程序 求指导

发布时间: 2013-04-09 16:45:09 作者: rapoo

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();
}

}

读书人网 >C#

热点推荐