ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:376.23KB ,
资源ID:9894023      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9894023.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计学生选课系统实习报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计学生选课系统实习报告.docx

1、C语言课程设计学生选课系统实习报告C语言上机实习报告院 系: 班 级: 姓 名: 指 导 老 师: 2010-8-28至2010-9-4七、上机实习.28八、设计实习心得.29九、参考书目.29十、学生选课系统与程序.30一、 设计目的随着信息技术对人类社会进行的全方位渗透,一种新的文化形态信息时代的计算机文化已经形成。计算机知识成为当代知识分子结构中不可缺少的重要部分。C语言是近年来国内外得到迅速推广使用的一种高级语言。C语言功能丰富,表达能力强,使用灵活方便,应用广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的语言特点,因此C语言对我们来说很重要。学习的目的在于将所学

2、到的东西运用于实践,这样方可在实践中巩固以前所学的理论知识,同时提高自己学习的能力,完善自己掌握的技能,使得我们既能够从实践中强化以前所学的知识,也能让我们在实践中学到更多新的东西,还能锻炼我们的动手能力,这是书本上不能学到的。此次设计就在于让我们把以往所学运用于实践中,让我们通过对实际生活中的实例进行观察和理论分析后,总结出一套可行的解决方案,然后用编程的方法,把解决方案变为可能。此次设计,也让我们巩固和加深了对C语言课程的基本知识的理解和掌握,帮助我们掌握C语言编程和程序调试的基本技能,让我们体验了如何用C语言进行基本的软件设计,同时也提高了我们书写程序说明的能力和用C语言解决实际问题的能

3、力。二、设计要求1. 认真分析实习指导老师分配的课程设计题目的要求;2. 写出详细设计说明,分块论述;3. 编写程序代码,调试程序使其能正确运行,并且可以实现预期的功能;4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5. 设计完成后提交课程设计报告和源代码文件的电子文档。三、题目及其要求假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。试设计一个选修课程系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)课程信息和学生选课信息录入功能(课程信息用文件保存) (3)课

4、程信息浏览功能 (4)查询功能 (5)按学分查询(6)某门课程学生选修情况(可选项) 四、需求分析 根据题目要求,由于课程和学生所选课程的信息是存放在文件中的,所以要提供文件的输入输出等操作;在程序过程中还要进行添加课程、浏览课程、查找课程、选择课程、删除课程以及退出系统等操作,所以应提供相应的输入、现实、查找、选择、删除和退出等功能的函数来实现;另外还要在最开始设置菜单函数,实现其它功能的选择。五、总体设计根据以上的题目要求以及需求分析,我认为可将我要设计的程序分为十一个模块:主函数、菜单函数、输入课程、添加课程、修改课程、查找课程、选择课程、删除课程、浏览课程、退出系统、保存文件。(系统功

5、能模块如图5-1所示)六、详细设计6.1、主函数 主函数一般设计简洁,本次设计遵循程序清晰可读,功能完善的原则,尽量合理简化程序。在主函数中,仅提供了标准输出函数的调用和菜单函数的调用。 主函数流程图如下图所示: 其代码如下所示: /* 主函数 */ void main() int b=1; system(color 6f); printf(nnnnnnnnnnt tt正在启动系统 tn ); for(i=0;i100000000;i+); system(color 2f); menu();6.2、菜单函数根据所要实现的功能,我编译了一个菜单函数,将所有选择功能集中,提供给用户进行选择。这样做

6、既可以使程序更加紧然有序,也为用户提供了方便快捷的选择,使得整个设计更加人性化。菜单函数的流程图如下图所示:菜单函数的代码如下所示:void menu() char k100=nnnttttt052081班 王兵武nnnnnnn; char *m=k; do system(cls); puts(ntt *管理员菜单*); puts(ntttt1.输入课程.); puts(ntttt2.添加课程.); puts(ntttt3.修改课程.); puts(ntttt4.查找课程.); puts(ntttt5.选择课程.); puts(ntttt6.删除课程.); puts(ntttt7.浏览课程.)

7、; puts(ntttt8.退出系统.n); puts(tt*n); printf(ntt请输入您的选择(1-8):t); scanf(%d,&a); printf(ntt-nn); switch(a) case 1: input(); break; case 2: add(); break; case 3: amend(); break; case 4: search(); break; case 5: select(); break; case 6: cross_off(); break; case 7: output(); break; case 8: system(cls); for(

8、i=0;i10000000;i+); system(color 8f);puts(nnnnttt谢谢使用。已退出系统。); for(m=k;mk+1;m+)printf(%s,m);exit(0);break; default:puts(输入错误!);break; printf( 按任意键返回首层n); getch(); while(a!=8); 运行主函数和菜单函数效果如下:显示进入系统 进入主菜单: 6.3各模块设计通过主函数调用菜单函数,通过菜单函数里的开关语句选择调用各功能函数。下面详述各功能函数。6.3.1输入函数通过菜单函数调用此函数用于输入已有课程信息,并通过输入函数调用保存函数

9、将课程信息保存在“课程.txt”文件中。其流程图如下所示:其代码如下:/* 输入函数 */void input()int i,flag=0,num=0;char q;do flag = 0; printf(请输入课程编号: ); scanf(%d,&num); for(i=0;icount;i+) if(num=KCi.num) flag = 1;break; if(flag) printf(此课程已存在!按任意键返回主菜单。n); printf(n); printf(请输入:); q=getch(); menu(); else KCcount.num=num; printf(请输入课程名称:

10、 ); scanf(%s,KCcount.name); printf(请输入课程性质: ); scanf(%s,KCcount.xingzhi); printf(请输入课程学时: ); scanf(%d,&KCcount.xueshi); printf(输入实验上机学时: ); scanf(%d,&KCcount.shiyan_shangji); printf(请输入课程学分: ); scanf(%f,&KCcount.xuefen); printf(请输入开课学期: ); scanf(%d,&KCcount.xueqi); count+; baocun(); printf(输入成功!n);

11、while(flag=1);输入函数运行效果如下图:(1)输入新课程,显示继续添加:(2)重复输入则运行如下:6.3.2添加函数通过菜单函数调用添加课程函数,进行新课程的添加。输入课程编号,判断其是否已经存在,已存在则选择重新输入或者返回主菜单,不存在则继续添加该课程的其他信息,并调用保存函数将其信息保存在“课程.txt”文件中。其流程图如下所示:程序代码如下:/* 添加函数 */void add() int i,j,flag=0,num=0;char q;do flag = 0; printf(请输入课程编号:); scanf(%d,&num); for(i=0;i重新输入;其它键-返回主菜

12、单n); printf(n); printf(请输入:n); printf(n); q=getch(); if(q=1) add(); else menu(); else j=count; KCj.num=num; printf(请输入课程名称:); scanf(%s,KCj.name); printf(请输入课程性质:); scanf(%s,KCj.xingzhi); printf(请输入课程学时:); scanf(%d,&KCj.xueshi); printf(输入实验上机学时:); scanf(%d,&KCj.shiyan_shangji); printf(请输入课程学分:); scan

13、f(%f,&KCj.xuefen); printf(请输入开课学期:); scanf(%d,&KCj.xueqi); count+; baocun(); printf(添加成功!n); printf(请继续选择: 1-继续输入; 其它键-返回主菜单n); q=getch(); if(q!=1)menu(); while(flag=1);其运行效果如下图所示:(1)所添加课程原来不存在,则继续添加该课程信息:(2)所添加课程已经存在,则继续选择进行下一步操作:6.3.3修改函数修改函数用于对已经存在的课程信息进行相应的修改,用来修改已有课程的名称、学时、实验上机学时、学分和开课学期相关信息。调用

14、该函数时,先输入课程编号,判断其实都存在,如果存在,则进行相应项的修改,修改完毕保存然后选择继续修改或者返回主菜单。若不存在,则进行选择,选择继续修改或者返回主菜单。流程图如下所示修改模块代码如下:/* 修改函数 */void amend() int num,i,flag=0;char q;doprintf(请输入要修改的课程编号:);scanf(%d,&num);for(i=0;i继续修改; 其它键-返回主菜单n); flag=0; printf(n); printf(请输入:); q=getch(); if(q!=1)menu(); else amend(); else printf(无此

15、课程!1-重新输入;任意键-返回主菜单n); printf(n); printf(请输入:); printf(n); q=getch(); if(q!=1)menu(); else amend();while(flag=0); 运行修改函数效果如下:(1)输入已有课程,继续修改其他信息,显示修改成功,然后继续选择:(2)输入课程不存在,选择继续修改或者返回主菜单:6.3.4查找函数调用查找函数,先选择按编号查找或者按学分查找,然后进行下一步。输入1,则按编号进行查找,若该课程存在,则程序将该课程信息打印在屏幕上,若不存在,则打印不存在信息并提示继续选择查找或者返回主菜单;输入2,则按学分进行查

16、找,若该课程已存在,则程序将其信息打印与屏幕上,若不存在则打印不存在的信息,并提示继续选择。查找模块流程图如下其代码如下所示:void search() char q;int num,i,xuefen,m,flag=0;puts(nnntt请选择: 1-按编号查询; 2-按学分查询n);scanf(%d,&m);if(m=1)do printf(请输入课程编号:); scanf(%d,&num); for(i=0;i重新输入;其它键-返回主菜单n); printf(n); printf(请输入:n); printf(n); q=getch(); if(q!=1) menu(); while(f

17、lag=0);if(m=2)do printf(请输入课程学分:); scanf(%d,&xuefen); for(i=0;i重新输入;其它键-返回主菜单n); printf(n); printf(请输入:n); printf(n); q=getch(); if(q!=1) menu(); while(flag=0);if(m!=1)&(m!=2) printf(ntt您的输入有误。按任意键返回主菜单。t); q=getch();menu(); 运行效果如下五幅图所示:(1)有主菜单选择“4”查找课程,提示选择按编号或者学分进行查找:(1)按编号输入查找,输入已有课程math编号2,效果如下:

18、(2)按编号查询课程,输入编号不存在,提示相关信息及作出相关选择:(4)按学分查询,输入已有课程学分,打印相关信息并提示选择:(5)输入的学分不存在,显示不存在的信息并提示选择:6.3.5选择课程在菜单函数中选择5,进入选课函数,系统会提示输入课程编号已经学生的学号。若输入的课程编号存在,则打印选课成功,并将所选择的课程的信息存入“选课.txt”文档中,并提示选择继续选课或者返回主菜单;若输入的课程编号不存在,则打印岂不存在并提示进行选择继续选课或者返回主菜单。其流程图如下所示:选课函数的代码如下:/* 选课课程 */void select()long num2=0,xuehao1;int i

19、,flag=0;char q;FILE *fp_;fp_=fopen(选课.txt,w);if(fp_= NULL) printf( error!n); exit(0); do printf(请输入课程编号:); scanf(%d,&num2); printf(请输入您的学号:); scanf(%ld,&xuehao1); for(i=0;i继续选课; 其它键-返回主菜单nn); printf(*nn); q=getch(); if(q=1)select(); else menu(); else printf(无此课程!请选择: 1-继续选课;其它键-返回主菜单nn); printf(*nn)

20、; q=getch(); if(q=1)select(); else menu(); while(flag=0);调用选课函数后效果如下两幅图所示:(1)输入课程编号存在时,打印选课成功,并将信息存入文档:(2)输入的课程编号不存在,则打印不存在的信息,并提示做出选择:6.3.6删除课程有主菜单选择6,进入删除函数。执行此函数,先输入课程编号,若编号存在,则从文件中删除该课程,并打印删除成功,提示按任意键返回主菜单;若编号不存在,则打印输入课程不存在,提示重新输入或者返回主菜单。其流程图如下所示:其代码如下:void cross_off()char q;int num4=0;int i,j,flag=0;do printf(请输入要删除的课程编号:); scanf(%d,&num4); for(i=0;icount;i+) if(num4=KCi.num) flag = 1; break; if(flag) for(j=i;jcount-1;j+) KCj.num=K

copyright@ 2008-2022 冰豆网网站版权所有

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