| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1696 人关注过本帖
标题:[求助]一个好累人的类程序
只看楼主 加入收藏
olivezhang
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-9-14
收藏
得分:0 

void CStudent::Inputdata(int i)
{
cout << "\nPlease Input student " << i+1 << " name: ";
cin.get(stu[i].name, 15);
ClearBuffer();
//clear cin buffer

cout << "Please Input student " << i+1 << " grade: ";
cin >> stu[i].grade;
//对非法数字和字符进行限制,当然可以不是0.00或100.00
while (stu[i].grade < 0.00 || stu[i].grade > 100.00)
{
cout << "Invalid data!\n";
cin >> stu[i].grade;
ClearBuffer();
}

cout << "Please Input student " << i+1 << " year: ";
cin >> stu[i].biryear;
//对非法数字和字符进行限制
while (stu[i].biryear < 1900 || stu[i].biryear > 2006)
{
cout << "Invalid data!\n";
cin >> stu[i].biryear;
ClearBuffer();
}

cout << "Please Input student " << i+1 << " month(1-12): ";
cin >> stu[i].birmonth;
//对非法数字和字符进行限制
while (stu[i].birmonth < 1 || stu[i].birmonth > 12)
{
cout << "Invalid data!\n";
cin >> stu[i].birmonth;
ClearBuffer();
}

cout << "Please Input student " << i+1 << " day: ";
cin >> stu[i].birday;
//对非法数字和字符进行限制
switch (stu[i].birmonth)
{
case 2://二月
while (stu[i].birday < 1 || stu[i].birday > 28)
{
cout << "Invalid data!\n";
cin >> stu[i].birday;
ClearBuffer();
}
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: //大月31天
while (stu[i].birday < 1 || stu[i].birday > 31)
{
cout << "Invalid data!\n";
cin >> stu[i].birday;
ClearBuffer();
}
break;
case 4:
case 6:
case 9:
case 11: //小月30天
while (stu[i].birday < 1 || stu[i].birday > 30)
{
cout << "Invalid data!\n";
cin >> stu[i].birday;
ClearBuffer();
}
break;
default:
break;
}
ClearBuffer();
}


谷底深深行 ,峰顶漫漫步......@_@
2006-03-08 12:48
名人
Rank: 1
等 级:新手上路
威 望:1
帖 子:205
专家分:0
注 册:2006-3-3
收藏
得分:0 
呵呵,日期都加上判断了啊,不错啊,不过遗漏了润年和润年2月的判断。
我觉得楼主的程序学生的年龄最好用unsigned short 或者unsigned int。

未必钱多乐便多,财多累己招烦恼。 清贫乐道真自在,无牵无挂乐逍遥。
2006-03-08 12:58
ysgyh
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-4
收藏
得分:0 

我刚学类,不知道你unsigned short 或者unsigned int与我写的那有什么本质区别
请指教!!!

2006-03-08 13:04
名人
Rank: 1
等 级:新手上路
威 望:1
帖 子:205
专家分:0
注 册:2006-3-3
收藏
得分:0 
unsigned是无符号的,加上unsigned后年龄就不可能为负数

未必钱多乐便多,财多累己招烦恼。 清贫乐道真自在,无牵无挂乐逍遥。
2006-03-08 13:18
olivezhang
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-9-14
收藏
得分:0 
以下是引用名人在2006-3-8 12:58:00的发言:
呵呵,日期都加上判断了啊,不错啊,不过遗漏了润年和润年2月的判断。
我觉得楼主的程序学生的年龄最好用unsigned short 或者unsigned int。

呵呵,急忙中漏了,谢谢指出。


谷底深深行 ,峰顶漫漫步......@_@
2006-03-08 13:19
名人
Rank: 1
等 级:新手上路
威 望:1
帖 子:205
专家分:0
注 册:2006-3-3
收藏
得分:0 

但可以是0,可以做下判断限制一下


未必钱多乐便多,财多累己招烦恼。 清贫乐道真自在,无牵无挂乐逍遥。
2006-03-08 13:21
ysgyh
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-4
收藏
得分:0 
哦,谢谢了,谢谢各位朋友抽出时间给我回复,跟大家学到了很多东西。
以后再有问题望大家还能指教。
再次感谢大家了!!!
2006-03-08 13:25
ltliang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-11
收藏
得分:0 

这段程式在编译器上都有错误这处,跟本不可用~

2006-03-11 17:33
ysgyh
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-2-4
收藏
得分:0 

是啊,有错啊,我给名人发个邮件问一下吧,要是哪位朋友看出来哪错了,就请回个贴吧,先谢谢了

2006-03-12 11:42
shifeng2799
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2005-9-23
收藏
得分:0 
上面各个类中定义的结构体有什么作用,是不是用不着?不懂??

2006-03-12 22:07
快速回复:[求助]一个好累人的类程序
数据加载中...
 
   



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

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