是不是和类的作用域有关,一下程序是一个选课 要求输入课程数目,课程名和日期,可以选择增加或减少课程的人数,求讲解???
#include<cstring>
#define MAX 100
#define NUM 100
#include<iostream>
using namespace std;
//int num[MAX]={0};
int i=0;
class Course
{
public:
Course(){for(int j = 0; j < MAX; j++) num[j] = 0;}
Course(Course &C){}
void fuzhi(int d)
{
int j;
for(j=0;j<d;j++)
{
strcpy(time[j],"0000/00/00 00:00~00;00");
}
}
void add(int d)
{
for(;i<d;i++)
{
gets(subject[i]);gets(time[i]);
//num[i]++;//cout<<"Add"<<num[i]+i<<endl;
}
}
void Add(int j)
{
j--;//cout<<j<<endl;
num[j]++;cout<<num[j]<<endl;//这里输出出错,why???
}
void Remove(int n)
{
n--;
if(num[n]>0)
{
num[n]--;//cout<<"remo"<<num[n]<<endl;
}
else
{
cout<<"this subject have no be choosed\n";
}
}
void show(int d)
{
int j;
cout<<"SeqNum "<<"subject "<<"number "<<"time"<<endl;
for(j=0;j<d;j++)
{
cout<<j+1<<" "<<subject[j]<<" "<<num[j]<<" "<<time[j]<<endl;
}
}
~Course(){}
private:
char subject[MAX][NUM];
char time[MAX][30];int num[MAX];
//static int i;
};
class CourseSchedule
{
public:
CourseSchedule(Course course):cou(course){}
CourseSchedule(CourseSchedule &CS):cou(CS.cou){}
void ADD(Course xc,int jj)
{
xc.Add(jj);
}
void remove(Course xr,int j)
{
xr.Remove(j);
}
~CourseSchedule(){}
private:
Course cou;
};
int main()
{
Course mycou;
CourseSchedule mycous1(mycou);
CourseSchedule mycous2(mycous1);
int j,sum;
char c,a;
cout<<"please input your course's amount "<<endl;
cin>>sum;getchar();//必需要用getchar()
cout<<"please input your course"<<endl;
mycou.fuzhi(sum);
mycou.add(sum);
cout<<"\t\t********CourseSchedule*********"<<endl;
mycou.show(sum);
cout<<"want to choose course ? Y or N"<<endl;
cin>>c;
if(c=='y'||c=='Y')
{
cin>>j;
mycous1.ADD(mycou,j);
cout<<"\t\t********CourseSchedule*********"<<endl;
mycou.show(sum);
}
else
{
cout<<" choose course are fail"<<endl;
}
cout<<"do you want to remove your course ? Y or N"<<endl;
cin>>a;
if(a=='y'||a=='Y')
{
cin>>j;
mycous1.remove(mycou,j);
cout<<"\t\t********CourseSchedule*********"<<endl;
mycou.show(sum);
}
else
{
cout<<" remove course are fail"<<endl;
}
return 0;
} 类 c++
[解决办法]
他(或她)"这里输出出错"
我的理解是num[j]的值不
[解决办法]
ADD函下改Course指或引用型做