欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生选课管理系统面向对象程序设计课程设计毕业设计论文.docx

    • 资源ID:24133387       资源大小:288.50KB        全文页数:28页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生选课管理系统面向对象程序设计课程设计毕业设计论文.docx

    1、学生选课管理系统面向对象程序设计课程设计毕业设计论文目 录1 引 言 11.1问题的提出 11.2任务与分析 12 程序的主要功能 12.1添加功能 12.2删除功能 22.3查看功能 22.4选课功能 22.5退选功能 22.6打印功能 23 程序运行平台 24 总体设计 25 程序类的说明 36 模块分析 66.1 选课端登录验证模块 66.2 学生选课端选课模块 66.3 学生选课端退选课程模块 96.4 学生选课端查看已选课程模块 106.5 学生选课端打印模块 116.6 管理员密码验证模块 126.7 管理端增加模块 136.8 管理端查看模块 146.9 管理端删除模块 147

    2、系统测试 158 结论 26致谢 27参考文献 27 摘 要 随着计算机的普及,各高校均采用计算机进行学生选课。而对学生选课相关信息的管理由学生选课管理系统实现。经过分析其学生选课端和系统管理端的各项功能,利用面向对象的C+编程实现了学生选课管理系统。该系统选课端具有学生选课、退选课程、查看已选课程、打印选课信息等功能,而管理端具有对学生、教师、备选课程等信息的管理,主要包括增加,删除,查看等功能。关键词:学生选课管理系统 计算机 面向对象C+1 引 言 1.1 问题的提出我国高校都实行了学分制,其核心就是允许学生自由选课,自主权交给学生。如果选课能够通过计算机实现,那么就可以节约很多的人力、

    3、物力。因此,为学生选课提供一个好的系统不仅方便学校对学生选课的管理,也方便学生自由选课。所以,针对此问题有必要做一个学生选课管理系统软件。1.2 任务与分析 学生选课管理系统实现对学生选课相关信息的管理,能处理学生、教师、课程信息的管理及选课操作。1. 每个学生包括有学号、姓名、总学分等内容;2. 每个教师包括工作证号、姓名、职称等信息;3. 课程包括课程号、课程名、任课教师、学分等信息;4. 能提供若干门课,由学生进行选择,打印出学生选课情况。本课题主要的目的是通过面向对象的C+编程,实现学生选课管理系统对学生选课相关信息的管理,能处理学生、教师、课程信息的管理及选课操作。其中每个学生包括有

    4、学号、姓名、已选课程和总学分;每个教师包括工作证号、姓名、职称等信息;课程包括课程号、课程名、任课教师、学分等信息;最终要实现能通过管理端提供若干门课,供学生进行选择,退选,并打印出学生选课情况。在功能实现的基础上,还要设计出良好的界面。2 程序的主要功能2.1添加功能这是系统管理端的一个功能,主要是对学生、课程和教师的增加。其中,学生包括学号、姓名;课程包括课程号、课程名、任课教师和学分;教师包括教师证号、教师姓名、职称。2.2删除功能这是系统管理端的一个功能,主要是对学生、课程、教师分别按学号、课程号、教师证号进行删除。2.3 查看功能在系统管理端,可以分别显示所有学生、课程、教师的信息以

    5、供查看。在学生选课端,则可以查看学生的已选课程。2.4选课功能这是学生选课端的一个功能,学生通过输入课程号选课,并在选课同时可以查看课程及任课教师的信息。2.5退选功能这是学生选课端的一个功能,学生通过输入课程号退选课程。2.6打印功能这是学生选课端的一个功能,学生可以打印出选课的所有信息,包括学号,姓名,已选课程和已选课程的总学分等信息。3 程序运行平台VC+6.0。具体操作如下:打开VC+6.0,新建一个空工程,添加相应的源文件,再编译,链接,执行。4 总体设计 图4.1 系统总体框架图5 程序类的说明 subject类的声明 class subject / 课程信息类Course *he

    6、ad; /头指针Course *p; /当前指针public: subject()head=p=NULL; ; void Add(); /增加课程 void Delete(); /删除课程 int Search(char nu); /根据课程号查找课程 void ReadFile(); /从文件中读取课程信息 void WriteFile(); /向文件写入课程信息 void Display(); /在屏幕中输出全部课程信息 friend XS; friend JS; friend void xuanke(XS P,char nu,char na); JS类的声明 class JS /教师信息

    7、类 Teacher *head; /头指针Teacher *p; /当前指针public: JS()head=p=NULL; void Add(); /增加教师 void Delete(); /删除教师 void Search(char na); /通过教师姓名查找任课教师 int Search1(char nu); /通过教师号查找教师 void ReadFile(); /从文件中读取教师信息 void WriteFile(); /向文件写入教师信息 void Display(); /在屏幕中输出全部教师信息 friend XS; stu类的声明 class stu /学生信息类 Stude

    8、nt *head; /头指针 Student *p; /当前指针public: stu()head=p=NULL; void Add(); /增加学生 void Delete(); /删除学生 int Search(char nu,char na); /按学生学号和姓名查找 int Search(char nu); /按学生学号查找 void ReadFile(); /将所有学生的信息写入文件 void WriteFile(); /从文件读出学生信息 void Display(); /显示所有学生 friend XS; XS类的声明class XS /学生类char num10; /学号cha

    9、r name20; /姓名Course *head; /已选课程头指针 Course *p; /已选课程当前指针float tcredit; /已选课程总学分public: XS()head=p=NULL;tcredit=0; void set(char nu,char na ) strcpy(num,nu); strcpy(name,na); void Addcourse(char nu); /学生选课 int Search(char nu); /按课程号查找以选课程 void Deletecourse(char nu); /退选 void Showcourse(); /显示已选课程 flo

    10、at get_tcredit(); /获取已选课程总学分 void ReadFilecourse(); /读取已选课程 void WriteFilecourse(); /将已选课程写入文件 friend void tuixuan(XS P,char nu,char na); 6 模块分析6.1 选课端登录验证模块在主菜单选择1时,便进入选课端登录验证,该模块会提示用户输入学号(nu10)和姓名(na20),当输入完成后,调用 int stu:Search(nu,na);,当返回值为0,则输出提示信息“对不起,学号或姓名输入错误!按任意键返回.”,然后返回主菜单;当返回值为1,则登录学生选课系统

    11、。关键代码如下:P0: int b1,b2,b0=menu(); stu p1;subject p2;JS p3; XS p; if(b0=1)system(cls);p1.ReadFile();char nu10,na20;coutnu;coutna;if(p1.Search(nu,na)=0)coutnntt对不起,学号或姓名输入错误!按任意键返回.;getchar();getchar();goto P0;elseP1:b1=menu1();6.2 学生选课端选课模块在学生选课系统中选择1,进入选课模块。此时调用void xuanke(XS P,char nu,char na);函数,此函

    12、数首先调用subject:ReadFile(); subject:Display();将所有的课程输出来,并提示“请输入要选择的课程号:”,然后输入课程号(kh10),此时会提示“是否查看任课教师信息(y/n):”,输入y,将输出任课教师信息,如果没有此教师信息,输出“没有此任课教师的信息!”,当输入n,则不输出教师信息。此时调用XS:Addcourse(kh);选课,再输出“是否继续选课(y/n): ”如输入y,重复以上选课操作,当输入n,则调用XS:WriteFilecourse();保存已选课程。关键代码如下:void xuanke(XS P,char nu,char na)/选课功能函

    13、数system(cls); JS J;J.ReadFile(); subject sub;sub.ReadFile(); sub.Display();P.set(nu,na);P.ReadFilecourse ();Loop1:coutkh; coutY_N;if(Y_N=Y|Y_N=y)char t20; Course *kc=sub.head; while(kc!=NULL) if(strcmp(kc-um,kh)=0) break; kc=kc-next; if(kc!=NULL)strcpy(t,kc-kecheng.cteacher);J.Search(t);elsecout没有此任

    14、课教师的信息!endl;else if(Y_N!=N&Y_N!=n) cout输入不正确,请重新输入:;goto Loop3;P.Addcourse(kh);getchar();coutY_N;if(Y_N=Y|Y_N=y)goto Loop1;else if(Y_N=N|Y_N=n)P.WriteFilecourse();else cout输入不正确,请重新输入:;goto Loop2;getchar();cout按任意键继续.;getchar(); 6.3 学生选课端退选课程模块在学生选课系统中选择2,进入退选课程模块,由void tuixuan(XS P,char nu,char na)

    15、;函数完成。首先调用XS:ReadFilecourse ();和XS:Showcourse();输出已选课程,然后提示“请输入要退选的课程号:”,此时可输入课程号(kh10),在调用XS:Deletecourse(kh);XS:WriteFilecourse();退选课程并保存。此后会提示“是否继续退选课程(y/n): ”输入y,重复退课操作,输入n,则退出此模块。关键代码如下:void tuixuan(XS P,char nu,char na)/退选课程功能函数system(cls); P.set(nu,na);P.ReadFilecourse ();Loop3:if(P.head !=NU

    16、LL)system(cls);P.Showcourse();coutkh;P.Deletecourse(kh);P.WriteFilecourse();getchar();coutY_N;if(Y_N=Y|Y_N=y)goto Loop3;else if(Y_N!=N&Y_N!=n)cout输入不正确,请重新输入:;goto Loop4;else coutnntt没有已选课程,不能退选!endlendl;getchar();cout按任意键继续.;getchar();6.4 学生选课端查看已选课程模块在学生选课系统中选择3,进入查看已选课程模块,由函数void lookyixuan(XS P,

    17、char nu,char na);实现。通过调用XS:ReadFilecourse ();XS:Showcourse();显示已选课程。关键代码如下:void lookyixuan(XS P,char nu,char na)/查看学生已选课程函数system(cls);P.set(nu,na);P.ReadFilecourse ();P.Showcourse();getchar();cout按任意键继续.;getchar();6.5 学生选课端打印模块在学生选课系统中选择4,进入打印模块,由函数void dayin(XS P,char nu,char na);实现。先输出学生的信息,再调用XS

    18、:Showcourse();输出已选课程,最后调用P.get_tcredit();输出总学分。关键代码如下:void dayin(XS P,char nu,char na)/打印学生选课情况函数system(cls);P.set(nu,na);P.ReadFilecourse ();system(cls);cout学号:nut姓名:naendlendl;cout已选课程:endlendl;P.Showcourse();cout已选课程总学分:P.get_tcredit()endlendl;getchar();getchar();cout按任意键继续.;getchar();6.6 管理员密码验证

    19、模块在主菜单中选择2,进入管理员密码验证。通过函数void password();实现。首先提示输入管理员密码,再由用户输入密码,正确则进入选课系统管理端,错误则提示重新输入。如果错误输入超过3次,就强制退出。关键代码如下:void password()/密码检查功能函数int k=0,i;char A=000000,B10,a; system(cls);for(i=0;i6;i+)coutendl;printf(ttt请输入管理员密码: );while(k=2)i=0;while(1)a=getch();if(a=13)break;Bi=a;i+;printf(*);Bi=0;if(strc

    20、mp(A,B)=0)return;elsek+;if(k3)cout=3)coutnnttt输入错误密码超过三次!请按任意键退出.;getch();tuichu();6.7 管理端添加模块 该模块是对学生,课程,教师的增加操作。由于三者功能相同,故通过函数模板template void ADD(T P);实现。首先询问增加多少个(学生,课程,教师),再输入个数。然后对每一个对象的详细信息进行输入。如果已经存在该信息,则提示不能重复添加。输入完成后保存到文件中。关键代码如下:template /增加功能函数模板void ADD(T P)system(cls);P.ReadFile();int N

    21、,i;coutN;for(i=0;iN;i+)cout第i+1个: endl;P.Add();coutendl;P.WriteFile();getchar();cout按任意键继续.;getchar(); 6.8 管理端查看模块该模块是对学生,课程,教师的查看操作。由于三者功能相同,故通过函数模板template void LOOK (T P);实现。调用各自的Display();函数,将所有信息输出。关键代码如下:template /查看功能函数模板void LOOK(T P) system(cls);P.ReadFile();P.Display();getchar();cout按任意键继续

    22、.;getchar(); 6.9 管理端删除模块该模块是对学生,课程,教师的删除操作。由于三者功能相同,故通过函数模板template void DELETE(T P);实现。首先输出(学生,课程,教师)所有信息,再调用各自的Delete();函数将对象删除。最后将删除后的信息保存到文件中。关键代码如下:template /删除功能函数模板void DELETE(T P)system(cls);P.ReadFile();P.Display();P.Delete();P.WriteFile();getchar();cout按任意键继续.;getchar();7 系统测试首先进入VC+6.0,打开

    23、工程 “选课管理系统.dsw”,进入源程序运行。运行程序后出现主菜单界面,如图7.1。 图7.1 主菜单 输入“2”,进入管理员密码验证(管理员密码:“000000”)。当输入错误密码三次,如图7.2所示,输入正确密码就进入“选课管理系统”菜单界面,如图7.3所示。 图7.2 错误密码验证图7.3 选课系统管理端菜单 输入“1”,进入增加学生界面。再输入“4”,增加4个学生。再根据提示输入学生相关信息,到第4个时输入第1个学生的学号,第4个学生将不能被添加,如图7.4。 图7.4 增加学生 按任意键后,回到管理端菜单,输入“2”,查看所有学生信息,如图7.5所示。 图7.5 查看所有学生按任意

    24、键后,回到管理端菜单,输入“3”,进入删除学生界面,输入要删除的学生学号“10002”,完成对学生“zhangxiong”的删除,如图7.6。当输入的学号没有时,如图7.7所示。再查看学生,确认删除操作成功,如图7.8。 图7.6 删除学生图7.7 删除的学生不存在图7.8 查看删除后的所有学生按任意键返回选课管理菜单,输入“4”,进入增加课程界面。再输入“4”,增加4门课程。再根据提示输入课程相关信息,到第4个时输入第1个课程的课程号,第4个课程将不能被添加,如图7.9所示。 图7.9 增加课程按任意键返回管理端菜单,输入“5”,查看所有课程信息,如图7.10所示。 图7.10 查看课程按任

    25、意键回到管理端菜单,输入“6”,进入删除课程界面,输入要删除的课程号“10002”,此时没有此课程,如图7.11。当输入的课程号“20002”时,如图7.12所示。再查看课程,确认删除操作成功,如图7.13。图7.11 删除的课程不存在图7.12 删除课程图7.13 查看删除后的所有课程按任意键返回选课管理菜单,输入“7”,进入增加教师界面。再输入“4”,增加4名教师。再根据提示输入教师相关信息,到第4个时输入第2个教师的教师号,第4个教师将不能被添加,如图7.14所示。图7.14 增加教师按任意键返回管理端菜单,输入“8”,查看所有教师信息,如图7.15所示。图7.15 查看教师按任意键回到

    26、管理端菜单,输入“9”,进入删除教师界面,输入要删除的教师证号“10000”,此时没有此教师,如图7.16。当输入的课程号“30002”时,如图7.17所示。再查看教师,确认删除操作成功,如图7.18。图7.16 删除的教师不存在图7.17 删除教师图7.18 查看删除后的所有教师按任意键回到管理端菜单(可以在此再增加一些课程,教师等,以供选课时有更多的选择),输入“0”,返回主菜单,再输入“1”,进入学生选课系统登录界面,输入的学号和姓名不存在或不匹配,则如图7.19;输入的学号和姓名存在且匹配,则进入选课端菜单,如图7.20。 图7.19 学生选课系统错误登录图7.20 学生选课系统菜单在

    27、选课系统菜单中输入“1”,进入选课。分别输入“20001”、“20002”、“20003”、“123456”测试选课。如图7.21。图7.21 学生选课按任意键返回选课系统菜单,输入“3”,查看已选课程,如图7.22。图7.22 查看已选课程按任意键返回选课系统菜单,输入“4”,打印选课信息,如图7.23。图7.23 打印选课信息按任意键返回选课系统菜单,输入“2”,进入退选课程界面。输入“54321”,没有此课程,如图7.24,再输入“y”,然后输入“20002”,删除课程“Chinese”,如图7.25所示。再输入“n”,返回选课系统菜单,输入“3”,查看退选课程后的已选课程,确认是否被删除,如图7.26。图7.24 退选的课程不存在图7.25 退选课程图7.26 退选课程后查看已选课程按任意键返回,输入“0”,返回主菜单,再输入“0”,退出系统,如图7.27。图7.27 退出系统通过上述测试,本系统实现了对学生、教师、课程的管理功能和学生自主选课、退选和打印选课信息等功能,能避免询问时对“y”和“n”的输入错误,从界面(下拉菜单)方面来说,也方便实用。所以,此系统功能全部实现,符合要求。8 结论刚拿到课程设计任务书时,我看了一下题目及要求,感觉


    注意事项

    本文(学生选课管理系统面向对象程序设计课程设计毕业设计论文.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开