学生选课系统1(6)

2019-03-03 12:25

}

cout<<\现要更改为 :\

cin>>k;

q->sub.getcredit(k);

cout<<\更改课程学分成功,按任意键继续\return 1;

}

q = q->Next;

}

cerr<<\无此课程!!请按任意键继续..\return 1;

int menu_2_7(studentdb *P) //学生情况 { }

studentdb *q=P->Next; char N[20]; system(\

cout<<\学生情况操作\\n\if(q!=NULL) cout<<\所有学生名单如下:\\n\else {

cerr<<\对不起,暂时没有学生名单!请按任意键继续..\ return 1; }

while(q) {

q->stu.getname(N); cout<<\cout<Next ;

}

cout<<\按任意键继续..\return 1;

int menu_2_8(subjectdb *P) //选课情况 {

subjectdb *q = P->Next; char M[20],N[20]; system(\

cout<<\选课情况操作\if(q!=NULL) {

cout<<\所有选课情况如下:\\n\cout<<\课程名称\\t\\t选课人数\\n\

}

else { cerr<<\对不起,暂时没有课程!!请按任意键继续..\ return 1; }

while(q) { }

q = P->Next;

cout<<\请输入课程名称 :\cin>>M; while(q) {

q->sub.getkname(N);

studentname *K = q->sub.retfirst(); if(K!=NULL) K = K->Next; if(strcmp(N,M)==0) { system(\ if(K==NULL)

{

cerr<<\无任何选课信息!!\\t请按任意键继续..\

q->sub.getkname(N);

cout<<\q = q->Next ;

return 1; }

cout<<\选修\课的学生名单如下:\\n\cout<<\姓名\\t\\t 成绩\while(K) {

cout<<\ K = K->Next;

}

cout<<\请按任意键继续..\return 1;

}

q = q->Next;

}

cerr<<\无此课程!!\\t请按任意键继续..\return 1;

}

int menu_2_9(studentdb *Y,subjectdb *P) //保存数据 { studentdb *Z = Y->Next; subjectdb *X = P->Next;

system(\

fstream file(\while(X) { }

file.close();

fstream file1(\fstream file2(\while(Z) { }

file1.write ((char *)&(Z->stu),sizeof(Z->stu)); int time = Z->stu.retfactcourse(); course *co = Z->stu.retroot(),*co1; if(co!=NULL)

co1 = co->Next; while(time) { file2.write((char *)(co1),sizeof(*co1));

co1 = co1->Next; time = time - 1;

file.write ((char *)&(X->sub),sizeof(X->sub)); X = X->Next;

}

Z = Z->Next;

file2.close (); file1.close();

cout<<\保存数据成功!按任意键继续..\return 1;

}

int menu_2_0() //退出系统 {

tuichu(); return 0;

}

int main() {

subjectdb *P = new subjectdb,*Q=P; P->Next = NULL;

subject M;

fstream file(\while(1) { file.read((char *)&M,sizeof(M)); }

file.close ();

studentdb *Y = new studentdb,*X=Y; Y->Next=NULL; student N; course O;

fstream file1(\fstream file2(\while(1) { }

file1.read((char *)&N,sizeof(N)); if(!file1) break;

Y->Next = new studentdb; Y->Next ->Next = NULL; Y->Next ->stu = N;

int time = N.retfactcourse(); Y->Next->stu.clrroot ();

while(time) { file2.read ((char *)&O,sizeof(course)); }

if(!file2) break;

Y->Next->stu.addcourse(O.cname ,O.grade); time--;

if(!file) break;

Q->Next = new subjectdb; Q->Next ->Next = NULL; Q->Next ->sub = M; Q = Q->Next;

Y=Y->Next;

file2.close (); file1.close (); Q=P->Next; while(Q) {

Q->sub.clractivestudnet(); Q->sub.findstudent(X); Q = Q->Next;

}

char c; char b; int br=1; b = menu(); if(b=='1') { while(1) { c = custom(); switch(c) {

case '1':br = menu_1_1(X,P);getch();break; // case '2':br = menu_1_2(X,P);getch();break; // case '3':br = menu_1_3(P);getch(); break; // case '4':br = menu_1_4(X,P); break; // }

if (br == 0) break;

}

}

if(b=='2')

{ password(); while(1) { c = server();

switch(c) {

case '1':br = menu_2_1(X);getch(); break; // case '2':br = menu_2_2(P);getch(); break; // case '4':br = menu_2_4(P);getch(); break; // case '3':br = menu_2_3(X);getch(); break; // case '5':br = menu_2_5(X,P);getch();break; // case '6':br = menu_2_6(P);getch(); break; // case '7':br = menu_2_7(X);getch(); break; // case '8':br = menu_2_8(P);getch(); break; // case '9':br = menu_2_9(X,P);getch();break; // case '0':br = menu_2_0();break; // }

if (br == 0)

break;

}

}

学生选课 学生情况 选课情况 退出系统 增加学生增加课程删除课程删除学生填写成绩更改学分学生情况选课情况保存数据退出系统

}

return 0;

四.测试与调试

程序中出现的问题:

1.从文件读入记录到程序里,一条记录有不同字段,分别要录入不同的变量里,最后用switch分别进行输出判断。

2.程序结束时,自动调用析构函数,没具体弄清析构函数其它用法,就把读出到文件的操作放在析构函数里面,导致文件里的数据在退出程序时被清空。清楚问题所在后,我就把读入文件的操作单独放在一个函数里,退出再调用。 3.在主函数调用菜单,先用的void类型,后来调用时发现不行,要输入的操作不能执行,就改成了char返回类型,判断其选择的什么。

4.用struct建立一条记录所需要的变量,再建立一个类,在类内建立一个结构成员数组,这样就可建立N条记录,但实际过程中,有时输入不到这么多条记录,所以建立了一个成员变量来保存建立多少条记录。


学生选课系统1(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新-人大关于赴某地学习考察情况的报告 精品

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: