某校学生选修课程系统设计书.doc

上传人:牧羊曲112 文档编号:4265574 上传时间:2023-04-12 格式:DOC 页数:35 大小:182KB
返回 下载 相关 举报
某校学生选修课程系统设计书.doc_第1页
第1页 / 共35页
某校学生选修课程系统设计书.doc_第2页
第2页 / 共35页
某校学生选修课程系统设计书.doc_第3页
第3页 / 共35页
某校学生选修课程系统设计书.doc_第4页
第4页 / 共35页
某校学生选修课程系统设计书.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《某校学生选修课程系统设计书.doc》由会员分享,可在线阅读,更多相关《某校学生选修课程系统设计书.doc(35页珍藏版)》请在三一办公上搜索。

1、某校学生选修课程系统设计书一、需求分析假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10)自由选课。试设计一选修课程系统,使之能提供以下功能:1)系统以菜单方式工作2)课程信息录入功能(课程信息用文件保存-可选) 3) 课程信息浏览功能 4)查询功能:(至少一种查询方式) 按学分查询 按课程性质查询等5)课程信息的删除与修改6)学生选修课程-可选二、总体设计以菜单方式打开课程信息录入课程信息浏览课程查询课程的删除与修改按学分查询模块选课学生选修课程系统三、详细设计设计的函数有:select():显示

2、菜单 Input();输入课程信息; output();浏览信息; kccx();课程查询; xfcx();按学分查询; kcxz ();按课程性质查询 shanxiu();课程删除与修改; xiu();课程修改; shan();课程删除; xuanke();学生选课; xk();选课函数;四、程序运行结果测试与分析总菜单:课程信息的录入:课程查询:选课:课程的删除与修改:五、 编码#include#include#include struct coursechar num20;char name20;char kind10;char time10;char ttime10;char etim

3、e10;char mark4;char term4;cou20;struct studentchar snum20;int skind20;char sname20;char num20;char name20;char kind10;char time10;char ttime10;char etime10;char mark4;char term4;stu20;void select()printf(菜单:n); printf(1.录入课程信息n); printf(2.课程信息浏览n); printf(3.课程查询n); printf(4.课程信息的删除与修改n); printf(5.学生

4、选课n); printf(6.退出系统n); printf(n请输入菜单选项(16):n);/*课程信息录入*/void input()system(cls); void cd();int i;char a;i=0;lr:printf(%-10s,课程编号:);scanf(%s,coui.num);printf(%-10s,课程名称:);scanf(%s,coui.name);printf(%-10s,课程性质:);scanf(%s,coui.kind);printf(%-10s,总学时:);scanf(%s,coui.time);printf(%-10s,授课学时 :);scanf(%s,c

5、oui.ttime);printf(%-10s,实验或上机学时:);scanf(%s,coui.etime); printf(%-5s,学分:);scanf(%s,coui.mark);printf(%-10s,开课学期:);scanf(%s,coui.term);i+;printf(n);shifou:printf(是否继续,输入Y/N:);scanf( %c,&a); getchar();if(a=n|a=N) system(cls);cd();else if(a=y|a=Y) system(cls);goto lr;elseprintf(输入错误,请重新输入n);goto shifou;

6、system(cls);/*课程信息输出*/void output()system(cls); void cd();int i; i=0;char a,b;shuchu:printf(课程编号:%sn,coui.num);printf(课程名称:%sn,coui.name);printf(课程性质:%sn,coui.kind);printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); printf(实验或上机学时:%sn,coui.etime); printf( 学分:%sn,coui.mark);printf(开课学期:%sn,coui.

7、term);i+; shifou:printf(是否继续浏览下一个:Y/N? );scanf(%c,&a);if(a=n|a=N) printf(查询完毕,输入Y返回界面 n); scanf( %c,&b); getchar(); if(b=y|b=Y) system(cls); cd(); elseprintf(输入错误,请重新输入);else if(a=Y|a=y)if(coui+1.num!=0)goto shuchu;elsesystem(cls); printf(你已浏览完全部课程);cd();elseprintf(输入错误,请重新输入);goto shifou;system(cls

8、);/*学分查询*/void xfcx() system(cls); int i; char a4,b; void kccx(); xf: printf(n请输入查询的学分:); scanf( %s,&a); getchar(); for(i=0;i20;i+) if(strcmp(coui.mark,a)=0) printf(课程编号:%sn,coui.num); printf(课程名称:%sn,coui.name); printf(课程性质:%sn,coui.kind); printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); pri

9、ntf(实验或上机学时:%sn,coui.etime); printf( 学分:%sn,coui.mark); printf(开课学期:%sn,coui.term); else printf(对不起,没有你查询学分的课程n); printf(是否继续,输入y/n:); scanf( %c,&b); getchar(); if(b=n|b=N) kccx();break; else goto xf; /*按课程性质查询*/ void kcxz() char a50,b; void kccx(); int i; xz: printf(请输入查询的课程性质:); scanf( %s,&a); get

10、char(); for(i=0;i20;i+) if(strcmp(coui.kind,a)=0) printf(课程编号:%sn,coui.num); printf(课程名称:%sn,coui.name); printf(课程性质:%sn,coui.kind); printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); printf(实验或上机学时:%sn,coui.etime); printf( 学分:%sn,coui.mark); printf(开课学期:%sn,coui.term); else printf(对不起,没有你查询性质的

11、课程n); printf(是否继续,输入y/n:); scanf(%c,&b); getchar(); if(b=n|b=N) kccx();break; else goto xz; void kccx() /*课程查询*/ system(cls); int i;void cd(); kc: printf(1.按学分查询n2.按课程性质查询n3.返回主菜单n); printf(请输入(13):n); scanf(%d,&i); if(i3) printf(输入错误,请重输:n); goto kc; switch(i) case(1): system(cls);xfcx();break; cas

12、e(2): system(cls);kcxz();break; case(3): system(cls); /*课程信息的修改*/void xiu() system(cls); int i,j; char m100,a,b,s20; void shanxiu(); zong: printf(请选择修改方式:n);printf(1,按课程编号修改n);printf(2按课程名称修改n);printf(3返回n);printf(请选择:);scanf(%d,&j);getchar();system(cls); if(j=1) xiugai1: printf(请输入要修改的课程的编号:); scan

13、f(%s,&s); for(i=0;i20;i+) if(strcmp(coui.num,s)=0) printf(课程编号:%sn,coui.num); printf(课程名称:%sn,coui.name); printf(课程性质:%sn,coui.kind); printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); printf(实验或上机学时:%sn,coui.etime); printf(学分:%sn,coui.mark); printf(开课学期:%sn,coui.term); printf(请修改:); printf(%-1

14、0s,课程编号:);scanf(%s,coui.num);printf(%-10s,课程名称:);scanf(%s,coui.name);printf(%-10s,课程性质:);scanf(%s,coui.kind);printf(%-10s,总学时:);scanf(%s,coui.time);printf(%-10s,授课学时 :);scanf(%s,coui.ttime);printf(%-10s, 实验或上机学时:);scanf(%s,coui.etime); printf(%-10s, 学分:);scanf(%s,coui.mark);printf(%-10s, 开课学期:);scan

15、f(%s,coui.term); else printf(对不起,没有您要修改的课程n); printf(是否继续,输入y/n:); scanf( %c,&a); getchar(); system(cls); if(a=n|a=N) goto zong; else goto xiugai1; else if(j=2) xiugai2: printf(请输入要修改的课程的名称:); scanf(%s,&m); system(cls); for(i=0;i20;i+) if(strcmp(coui.name,m)=0) printf(课程编号:%sn,coui.num); printf(课程名称

16、:%sn,coui.name); printf(课程性质:%sn,coui.kind); printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); printf(实验或上机学时:%sn,coui.etime); printf( 学分:%sn,coui.mark); printf(开课学期:%sn,coui.term); printf(请修改:); printf(%-10s,课程编号:);scanf(%s,coui.num);printf(%-10s,课程名称:);scanf(%s,coui.name);printf(%-10s,课程性质:)

17、;scanf(%s,coui.kind);printf(%-10s,总学时:);scanf(%s,coui.time);printf(%-10s,授课学时 :);scanf(%s,coui.ttime);printf(%-10s, 实验或上机学时:);scanf(%s,coui.etime); printf(%-10s, 学分:);scanf(%s,coui.mark);printf(%-10s, 开课学期:);scanf(%s,coui.term); else printf(对不起,没有您要修改的课程); printf(是否继续,输入y/n:); scanf(%s,&b); getchar(

18、); system(cls); if(b=n|b=N) goto zong; else goto xiugai2; else if(j=3) shanxiu();/*课程的删除*/void shan() system(cls); int i,j,s; char m100,a,dd; void shanxiu(); zong:printf(1,请输入要删除的课程名称n);printf(2,返回n);printf(请选择:);scanf(%d,&j);getchar(); if(j=1) shanchu: system(cls); printf(请输入要删除的课程名称n); scanf(%s,&m

19、); getchar(); for(i=0;i20;i+) if(strcmp(coui.name,m)=0) printf(课程编号:%sn,coui.num); printf(课程名称:%sn,coui.name); printf(课程性质:%sn,coui.kind); printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); printf(实验或上机学时:%sn,coui.etime); printf( 学分:%sn,coui.mark); printf(开课学期:%sn,coui.term); printf(是否确定删除,输入Y/

20、N:);scanf(%c,&dd); getchar();if(dd=y|dd=Y) for(j=i;j=20;j+) strcpy(couj.num,couj+1.num); strcpy(couj.name,couj+1.name); /*替换排序*/ strcpy(couj.kind,couj+1.kind); strcpy(couj.time,couj+1.time); strcpy(couj.ttime,couj+1.ttime); strcpy(couj.etime,couj+1.etime); strcpy(couj.mark,couj+1.mark); strcpy(couj.

21、term,couj+1.term); else system(cls); printf(按任意键返回子菜单); getchar(); shanxiu();break; else printf(没有您要删除的课程n); printf(是否继续,输入Y/N:);scanf(%c,&a);getchar();system(cls);if(a=n|a=N)goto zong; else goto shanchu; else system(cls); shanxiu(); /*课程的删除与修改*/void shanxiu() int i; printf(1,修改课程n2,删除课程n3,返回n); pri

22、ntf(请输入(13):); scanf(%d,&i); if(i0) switch(i) case(1): system(cls);xiu();break; case(2): system(cls);shan();break; case(3): system(cls);break; /*选课函数*/void xk() system(cls); int i,j,s; char m100,a,dd,b; void xuanke(); zong:printf(1,请输入要选的课程名称n);printf(2,返回n);printf(请选择:);scanf(%d,&j);getchar(); if(j

23、=1) xuan: system(cls); printf(请输入要选的课程名称n); scanf(%s,&m); getchar(); for(i=0;i20;i+) if(strcmp(coui.name,m)=0) printf(课程编号:%sn,coui.num); printf(课程名称:%sn,coui.name); printf(课程性质:%sn,coui.kind); printf(总学时:%sn,coui.time); printf(授课学时:%sn,coui.ttime); printf(实验或上机学时:%sn,coui.etime); printf( 学分:%sn,cou

24、i.mark); printf(开课学期:%sn,coui.term); printf(是否确定选择该门课程,输入Y/N:);scanf(%c,&dd); getchar();if(dd=y|dd=Y) printf(请输入您个人信息:n); printf(%-10s,:);scanf(%s,stu1.sname);printf(%-10s,性别:);scanf(%s,stu1.skind);printf(%-10s,学号:);scanf(%s,stu1.kind);printf(n是否查看您的选课情况,y/n:);scanf( %c,&b);getchar();system(cls);if(

25、b=n|b=N) goto zong; else strcpy(stu1.num,coui.num); strcpy(stu1.name,coui.name); strcpy(stu1.kind,coui.kind); strcpy(stu1.time,coui.time); strcpy(stu1.ttime,coui.ttime); strcpy(stu1.etime,coui.etime); strcpy(stu1.mark,coui.mark); strcpy(stu1.term,coui.term); printf(:%sn,stu1.sname); printf(性别:%sn,st

26、u1.skind); printf(学号:%sn,stu1.snum); printf(课程编号:%sn,stu1.num); printf(课程名称:%sn,stu1.name); printf(课程性质:%sn,stu1.kind); printf(总学时:%sn,stu1.time); printf(授课学时:%sn,stu1.ttime); printf(实验或上机学时:%sn,stu1.etime); printf( 学分:%sn,stu1.mark); printf(开课学期:%sn,stu1.term); printf(按任意键返回子菜单); getchar(); xuanke(

27、);break; else printf(没有您要选择的课程n); printf(是否继续,输入Y/N:);scanf(%c,&a);getchar();system(cls);if(a=n|a=N)goto zong;break; else goto xuan; else system(cls); xuanke(); /*学生选课*/void xuanke() int i;kaishi: printf(1,选课n2,返回菜单n); printf(请输入您的选项(12):); scanf(%d,&i); if(i0) switch(i) case(1): system(cls); xk();

28、goto kaishi; break; case(2): system(cls); break; void cd() /*界面菜单*/ int i; start: select(); scanf(%d,&i); if(i6) printf(输入错误,请重输:n); goto start; switch(i) case(1): system(cls); input(); goto start; break; case(2): system(cls); output(); goto start; break; case(3): system(cls); kccx(); goto start; break; case(4): system(cls); shanxiu(); goto start; break; case(5): system(cls); xuanke(); goto start; break; case(6): system(cls); printf(感使用本系统!nn再见!n);break; main() cd();六、结论与心得整个程序用的简单的结构体,程序中有些地方不会,通过问同学,百度找到答案,由于是结构体,我想用链表会更简单一些,但是对于链表的掌握不是很好,所以采用很简单但复杂的函数。由于时间原因,没有设计退课函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号