游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1913|回复: 5

高手来帮我看看哪里有错误,急!

[复制链接]

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2006-12-12 22:53:00 | 显示全部楼层 |阅读模式
有下列要求:  
1。从键盘读入一个整数N  
2。随后,读入N个学生的信息,每个学生信息包括学号,姓名,出生日期  
3。再输入一个日期date  
4。取出输入日期date之前出生的所有学生的信息,输出姓名和出生日期  


#include  <iostream>  
#include<cstring>  
using  namespace  std;  

class  Date  
{  
           int  year,month,day;  
public:  
           Date()  
           {  
           }  
           Date(int  y,int  m,int  d){year=y;month=m;day=d;}  

           void  point()  
           {  
                       cout<<year<<"  "<<month<<"  "<<day;  
           }  
           int  before(Date  d)  
           {  
                       if(year<d.year)  return  1;  
                       if(year==d.year)  
                       {  
                                   if(month<d.month)  return  1;  
                                   if(month==d.month)  return  day<d.day;  
                       }  
                       return  0;  
           }  
           void  setvalues(int  Bir)  
           {  
                       year=Bir/10000;  
                       Bir%=10000;  
                       month=Bir/100;  
                       day=Bir%100;  
           }  


};  

class  Student  
{  
           char  Stuid[15],Name[20];int  Bir;  
           Date  Birthday;  
public:  


           void  putin();  
           void  putout();  
           int  getbir(){return  Bir;}  
           int  bijiao(Date);  
};  
void  Student::putin()  
{  
           int  TempBir;  
           cout<<"请输入学号:"<<endl;  
           cin.getline(Stuid,15);  
           cout<<"请输入姓名:"<<endl;  
           cin.getline(Name,20);  
           cout<<"请输入出生日期:"<<endl;  
           cin>>TempBir;  
           Bir=TempBir;  
           Birthday.setvalues(TempBir);  
           cin.get();  
}  
int  Student::bijiao(Date  TempBir)  
{  
           return  Birthday.before(TempBir);  
            
}  
void  Student::putout()  
{  
           cout<<"学生姓名"<<Name<<'\t'<<"出生日期";//<<Birthday<<endl;  
           Birthday.point();  
           cout<<endl;  
}  

int  main()  
{  
           int  n,i,j;  
           cout<<"请输入一个正整数:"<<endl;  
           cin>>n;  
           cin.get();   
           Student  *  stu=new  Student[n];  
       for(i=1;i<=n;i++)  
           {  
                       cout<<"请输入第"<<i<<"个学生的信息:"<<endl;  
                 stu.putin();  
           }  

           cout<<"请输入一个日期(格式为19840101)"<<endl;  
       int  temp;  
           cin>>temp;  
           Date  tempDate;  
           tempDate.setvalues(temp);  
           //for(i=0,j=0;i<=n;i++)  
            
                       for(i=0,j=0;i<=n;i++)  
           {  
                       char  *ch;  
                       if  (stu.bijiao(tempDate)==1)  
                       {  
                                   ch[j]=stu.getbir();  
                                   cout<<ch[j]<<endl;  
                                   j++;  
                       }  
           }  
return  0;  
            
}  
编译没错误,运行输入学生信息,然后再输入一个时间date后就会出错,是不是ch[j]=stu.getbir();  这句的问题?请大家帮我看看,谢谢了!

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2006-12-13 19:32:00 | 显示全部楼层

Re:高手来帮我看看哪里有错误,急!

知道错在哪了...

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-12-13 23:19:00 | 显示全部楼层

Re:高手来帮我看看哪里有错误,急!

是吗,
呵呵,
你可以删掉你这个帖子了,
节省GAMERES的硬盘资源.

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2006-12-13 23:25:00 | 显示全部楼层

Re:高手来帮我看看哪里有错误,急!

不必斤斤计较。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-12-14 13:17:00 | 显示全部楼层

(OoO)!

楼上好大胖啊!(好大方啊)

把你的 XBOX360 送给我做见面礼,
OK否?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-12-14 13:40:00 | 显示全部楼层

高手来帮我看看哪里有 "厕所" ,急!

憋不住啦![em4]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 02:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表