版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*实践教学*某某理工大学计算机与通信学院2017年春季学期C程序设计课程设计题目:学生选课系统专业班级:应用物理某某:学号: 1609510140指导教师: 成绩:学生选课系统摘要学生选课系统是教育单位不可缺少的重要系统组成局部,他对于学校的决策者、管理 者管理、查看课程来说都有至关重要,所以学生选课系统应该能够为广阔学、师生提供充 足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统选课方便、快捷, 用简单的界面来展示学生的选课信息,可以提高对学生信息管理的效率。关键词:方便,快捷,选课信息,选择,管理1题目要求42需求分析443总体设计44详细设计54.1系统主要函数说明54.1
2、.1 主函数64.1.2 in put函数 78995系统测试106总结13参考文献14致谢15附录:16源程序161题目要求设计一个关于学生选课方便简捷的程序,从而达到学生能够快速的选到课 程。2需求分析数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员包 括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分, 开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查 询某门课程学生选修情况。功能简介此系统是一个学生选课管理系统。它包含功能有:学生选课信息的录入,学 生选课信息的删除,学生选课信息的查找,学生选课信息的显示等功能。菜单模式:此模块
3、主要实现对本系统所有功能的显示。录入模块:此模块主要实现对学生选课信息的录入,主要包括学生学号、学生某某、所选课程、课程学分、授课教师。删除模式:此模块主要实现对学生选课信息的删除。显示模块:此模块主要实现对学生选课信息的显示。查找模块:此模块主要是通过学生学号查找该学生的选课信息。清屏模块:此模块主要是对主界面输入的信息进展清屏。退出程序:此模块主要用于退出系统。学生选课系统3总体设计4详细设计4.1系统主要函数说明厶匕能4.1.1 主函数V称删除功display厶匕 能厶匕能函数名 清函数input函数del函f功 函函数学生选显示学生能选课程信息 冃匕函数功能保显示显菜单模块输入学生存功
4、厶匕 能示 课信息的删除过程 查找学生选课根本信息退出功能主函数显示主菜单模块通过调用 menu函数显示主菜单,调用main函数提示 使用的用户该执行的操作,实现根本的人机对话;然后通过读取用户的输入,调用 switch函数对用户的输入进展进一步的处理, 并使用while函数实现用户的选择性的重复输入;显示学生选课管理信息模块通过调用display函数实现显示已创建的所有学生选课管理信息的功能;查找学生选课管理信息模块通过调用find函数实现按学生学号查找学生的选课信息的功能;开始调用mian主函数4.1输入选择的值1934561 F15选择的值=?函数调调调退O清 所有I.2 询pu此函数为
5、输入学生选课情况的根本信息 生选课信t运用通过运用文件和指针输入实现, 口息的存储el从而实现程序的第一步操作。4if语句判断文件是否存在;假如不存在,如此建立一个名为 的文傲,将所有信息保存文件中。数数work指向一个文 向的文件中读 储空间; 从fp所指向的存储空间中取出1 数为LEN大小的数据块写入&worm所指定的存储空间运用字符串ch2实现判断是否的字符丫/N的输入2实现判断是否 的字符Y/N的输入在文件中fopen以ab+的方法打开二进制文件 件指针1个字节数为LEN大小的数据块存放到&worm所指定的存fwrite(&woriwork;以 fread(&worm,LEN,1,fp
6、),len,1, fp),使函数返回 从fp所指个字节开始调用in put函数建立word文档并储存信息判断文件是否存在5 / 21函数此函数为学生选课信息的删除过程。删除学生选课管理信息模块通过调用del函数实现通过查找学生学号找到想要删除的课程,从而删除用户想要删除的课程 的功能;运用文件的知识实现文件的打开。运用for循环来确定删除的个数,然后通 过if语句依次根据学生学号对学生选课信息进展删除。再次运用for循环使删除学生信息后将记录的总个数减1,将后一个记录移到前一个记录的位置。最后使用clear()功能,再次运用fopen()打开文件,用fwrite()将更改后 的记录重新写入指定
7、的磁盘文件中,并保存。5系统测试主界面该局部只有主菜单。假如选择1,如此进入学生选课信息输入界面;假如选 择2,如此进入学生选课信息删除界面;假如选择 3,如此进入学生选课信息 显示界面;假如进入4,如此进入学生选课信息查找界面;假如选择 5,如此直接退出系统;假如选择 6,如此选择直接清屏.输入界面根据提示,当选择1时,系统会先提示是否输入信息,当输入“ Y或 “y,如此进出正式的学生信息输入阶段,会依次提示输入学生学号、学 生某某、已选课程、学分、任课教师,并且这些内容会保存到文件名为“work的文件中。然后系统会进入清屏环节,在下一页系统提示是否继续输入,输入“n ”,如此完毕输入。C
8、: DocoMnt s and S ett xngs AdB.inj.s1: z: 1A桌面VDm皿叭柄堆峰亠md学主选课管理系统1输入信息2删除信息3显示管息4查找佶息S退出石清屏的:y101r 取 295% 渎” wiuTU 1 1 L c 與館X-昂霍丄师 千姓课:潮 入有否斗盖幫 蕭是斗武于己学任g n c c显示界面根据系统提示输入3,如此会显示已保存的学生选课信息删除界面根据系统提示输入2,然后系统会提示输入所要删除的人数,输入人数后, 系统会根据你输入的人数来进展循环删除, 单次删除过程为:先提示请输入需要 删除的学号,找到记录后,提示是否删除,输入“ Y或 y,显示成功删除为了
9、使系统更加完整的表现该功能, 再次输入3显示已保存的信息,前后比 照,可清晰的表现删除功能6总结经过连续二周的时间,终于学生选课管理系统程序设计完成了。 虽然在这之 前,我们已经对c语言这门课程学习了一个学期, 对其有了一定的了解,但是也 仅仅只是停留在了解的X围,对里面的好多东西还是很陌生,更多的在运用起来 的时候还是感到很棘手,毕竟,以前从来没接触过这些,所以学起来会觉得有些 费劲。由于之前学习C语言可能没花多少时间,对里面有些知识一窍不通,所以 要用C语言的知识来设计一个学生选课管理系统, 对我来讲是有一定难度的。不 过还好,我们班的同学都很好,他们孜孜不倦的教我,这使我相当的感动。对于
10、这次的课程设计我的完成过程主要是这样子的。 首先我分析了相关的题 目内容,并参考了书上的学生管理系统和网上的一些相关资料然后才开始正式进 展设计。一开始不知从何下手但后来又分析了一下题目。知道了学生选课管理系 统主要就是有一些操作来完成,这些操作包括:输入学生选课信息、删除学生选 课信息、显示学生选课信息、查找学生选课信息等等。同时通过这几天的程序与报告编写, 我也发现了自己的很多不足,自己知识 的很多漏洞,看到了自己的实践经验还是比拟缺乏, 理论联系实际的能力还是比 拟脆弱。尤其是编写大型的程序所要拥有的知识和技能比拟缺乏。程序编好了, 还要经过调试和修改,这步也很关键,好的程序是经过了无数
11、次的修改和调试才 产生的。在同学的帮助下我的程序根本上能够满足要求, 但还有一些地方需要改 良,在今后我应该在多看书的同时还要加强实践的练习。 才能进一步提高自己的 编程能力。参考文献1 何钦铭.颜晖.C语言程序设计第3版:高等教育,2 颜晖.X泳.C语言程序设计实验与习题指导第 3版:高等教育,3 谭浩强.C语言程序设计.清华大学,4 谭浩强.C程序设计题解与上机指导.清华大学,C语言函数手册.机械工业,1999C语言的实际应用.某某科学技术,2000致谢在这次c语言课程设计中,首先得感谢李教师给予我们指导与帮助,在她的 指导帮助下,才使得我们能够顺利的完成课程设计, 更重要的是在这次课程设
12、计 中,极大的提高我的c语言设计能力,也让我深刻的了解到自己在这方面的诸多 不足,使得我能更清楚的了解自己的水平, 加强了我对这门学科的认识。同时也 感谢和我一起完成这课设的王云龙同学,我们在互相交流帮助中也相互学习到许 多小的应用技巧,解决了一些列问题。还要感谢那些给予我们帮助的同学, 也给 了我很大的帮助。附录:源程序#i nclude #in elude #i nclude #in elude #defi ne SIZE 300#defi ne LEN sizeof(WOR) typedef structint num;char n ame20;char kem in g20;float
13、 xuefe n;char teacher20;W0R;WOR worSIZE, WOR1SIZE; int flag;void menu()/菜单printf (nnn);printf (tt学生选课管理系统nn ”);printf (tt 1输入信息2删除信息nn);printf (tt 3显示信息4查找信息nn”);printf (tt 5退出 6 清屏 nn);void clear()system(cls);men u();void in put()/输入信息int i, m=0;char ch2;FILE *fp;if(fp=fope n(work, ab+)=NULL)printf
14、 (ca nt ope n the file!n);return;while(!feof(fp)if(fread(&worm,LEN, 1,fp)=1)m+;fclose(fp);if(m=0)printf (没有找到要读取的节点n);if(fp=fopen(work, wb+)=NULL)printf (ca nt ope n the file!n);return;for (i=0; im; i+)fwrite(&wori, LEN, 1, fp);向指定的磁盘文件写入信息printf ( 是否输入?(y/n):);scanf (%s, ch);while (strcmp(ch, Y)=O|
15、strcmp(ch, y)=0)判断是否要录入新信息printf ( 学生学号:);sca nf (%d,&worm.n um);/for (i=0; im; i+)if(wori. num=worm. num)printf(该记录已经存在,按任意键继续r);getch();fclose(fp);return;printf ( 学生某某:);sca nf (%s, worm. name);/输入学生某某printf (已选课程:);sca nf(%s, worm. kemi ng);输入已选课程printf (学分:);sca nf(%f, & worm. xuefe n);输入课程学分pri
16、ntf ( 任课教师:);sca nf(%s, worm. teacher);将新录入的学生信息写入指定的磁盘文件if(fwrite(&worm,LEN, 1, fp)!=1)/ printf(无法保存!);getch();elseprintf(%s已经保存!n,);m+;clear();/清屏printf(是否继续?(y/n):);sca nf(%s,ch);fclose(fp);if(strcmp(ch,N)=O|strcmp(ch, n)=0)printf(按任意键继续!n);getch();clear();void del()/ 删除信息FILE *fp;int sn
17、u m,i,j,m=0;char ch2;if(fp=fope n( work,ab+)=NULL)prin tf(ca nt ope n the file!n);return;while(!feof(fp)if(fread(&worm,LEN,1,fp)=1)m+;fclose(fp); if(m=0)printf(没有记录 n);return;printf(请输入编号:”);sca nf(%d, &snu m);for(i=0; im; i+)if(snum=wori .num)break; if(i=m)prin tf(没有找到要删除的节点n);getch();return;prin t
18、f(找到记录,是否删除(y/n);sca nf(%s,ch);sca nf(%s,ch);if(strcmp(ch,Y)=O|strcmp(ch,y)=O)判断是否要进展删除for(j=i; jm; j+)worj = worj+1;将后一个记录移到前一个记录的位置m-;记录的总个数减1printf(成功删除!n);if(fp=fope n( work,wb+)=NULL)printf(不能打开!n);return;for(j=0; jm; j+) /将更改后的记录重新写入指定的磁盘文件中if(fwrite(&worj ,LEN,1,fp)!=1)printf(不能保存!n);getch();
19、fclose(fp);void fin d()查找休息/clear();/清屏FILE *fp;int snu m,i,m=0;char ch2;if(fp=fope n( work,ab+)=NULL)prin tf(ca nt ope n the file!n);return;while(!feof(fp)if(fread(&worm,LEN,1,fp)=1)m+;fclose(fp);if(m=O) printf(没有记录 n);return;printf(请输入学号:”);sea nf(%d, &snu m);for(i=0; im; i+)if(snum=wori .num)brea
20、k;if(i=m)prin tf(没有找到要查找的节点n);getch();flag = 1;return;printf(找到记录);printf(”是否显示该学生的详细信息:(Y/N);sca nf(%s,ch);if(strcmp(ch,Y)=O|strcmp(ch,y)=O)prin tf(学号某某已选课程学分任课教师n);prin tf(%-9dt%stt%st%10.1ftt%sn,wori. num,wori. name,wori.kemi ng,wo ri.xuefe n, wori.teacher);fclose(fp);void display()/ 显示信息FILE *fp;int i,m=0;fp=fope n(work,ab+);while(!feof(fp)if(fread(&worm,LEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临夏法律职业资格2025年测评试卷
- 2026年请老师指导说课稿
- 安徽省安庆市四中2026年九年级二模道德与法治试卷(含答案)
- 【试卷】吉林四平市第三中学校2025-2026学年七年级下学期期中测试语文试卷
- 本册综合说课稿2025年小学书法练习指导五年级下册人美版
- 上海工程技术大学《安全生产与环境保护》2025-2026学年第一学期期末试卷(A卷)
- 第五节 月球说课稿2025学年高中地理湘教版选修Ⅰ宇宙与地球-湘教版2004
- 上海工商职业技术学院《安全系统工程学》2025-2026学年第一学期期末试卷(A卷)
- 上海工商职业技术学院《安全原理与安全管理学》2025-2026学年第一学期期末试卷(B卷)
- 上海工商外国语职业学院《阿拉伯国家概况》2025-2026学年第一学期期末试卷(A卷)
- 高一英语完型填空10篇实战训练及答案
- 建筑内排架搭设施工方案
- 企业服饰生产制造单模板
- 特种设备(每周)安全排查治理报告
- 培训课件行政事业单位国有资产管理
- 绝缘子参数表
- 优美英文诗歌30首及中文
- 职业访谈记录
- GB/T 9966.18-2021天然石材试验方法第18部分:岩相分析
- GB/T 21196.4-2007纺织品马丁代尔法织物耐磨性的测定第4部分:外观变化的评定
- 项目七:探究智能花卉养护系统 课件【知识精讲+备课精研+高效课堂】 沪科版(2019)高中信息技术必修2
评论
0/150
提交评论