C语言课程设计--学生选课系统实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言上机实习报告
院系:
班级:
姓名:
指导老师:
2010-8-28至2010-9-4
目录
一、设计目的 (1)
二、设计要求 (2)
三、题目及其要求 (2)
四、需求分析 (2)
五、总体设计 (3)
六、详细设计 (3)
6.1、主函数 (3)
6.2、菜单函数 (4)
6.3各模块设计 (7)
6.3.1输入函数 (7)
6.3.2添加函数 (9)
6.3.3修改函数 (12)
6.3.4查找函数 (16)
6.3.5选择课程 (20)
6.3.6删除课程 (23)
6.3.7浏览函数 (26)
6.3.8退出操作 (27)
6.3.9公共函数——保存函数 (28)
七、上机实习 (28)
八、设计实习心得 (29)
九、参考书目 (29)
十、学生选课系统与程序 (30)
一、设计目的
随着信息技术对人类社会进行的全方位渗透,一种新的文化形态——信息时代的计
算机文化已经形成。计算机知识成为当代知识分子结构中不可缺少的重要部分。
C语言是近年来国内外得到迅速推广使用的一种高级语言。C语言功能丰富,表达能力强,使用灵活方便,应用广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的语言特点,因此C语言对我们来说很重要。
学习的目的在于将所学到的东西运用于实践,这样方可在实践中巩固以前所学的理论知识,同时提高自己学习的能力,完善自己掌握的技能,使得我们既能够从实践中强化以前所学的知识,也能让我们在实践中学到更多新的东西,还能锻炼我们的动手能力,这是书本上不能学到的。
此次设计就在于让我们把以往所学运用于实践中,让我们通过对实际生活中的实例进行观察和理论分析后,总结出一套可行的解决方案,然后用编程的方法,把解决方案变为可能。此次设计,也让我们巩固和加深了对C语言课程的基本知识的理解和掌握,帮助我们掌握C 语言编程和程序调试的基本技能,让我们体验了如何用C语言进行基本的软件设计,同时也提高了我们书写程序说明的能力和用C语言解决实际问题的能力。
二、设计要求
1. 认真分析实习指导老师分配的课程设计题目的要求;
2. 写出详细设计说明,分块论述;
3. 编写程序代码,调试程序使其能正确运行,并且可以实现预期的功能;
4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;
5. 设计完成后提交课程设计报告和源代码文件的电子文档。
三、题目及其要求
假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。试设计一个选修课程系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)课程信息和学生选课信息录入功能(课程信息用文件保存)
(3)课程信息浏览功能
(4)查询功能
(5)按学分查询
(6)某门课程学生选修情况(可选项)
四、需求分析
根据题目要求,由于课程和学生所选课程的信息是存放在文件中的,所以要提供文件的输入输出等操作;在程序过程中还要进行添加课程、浏览课程、查找课程、选择课程、删除课程以及退出系统等操作,所以应提供相应的输入、现实、查找、选择、删除和退出等功能的函数来实现;另外还要在最开始设置菜单函数,实现其它功能的选择。
五、总体设计
根据以上的题目要求以及需求分析,我认为可将我要设计的程序分为十一个模块:主函数、菜单函数、输入课程、添加课程、修改课程、查找课程、选择课程、删除课程、浏览课程、退出系统、保存文件。(系统功能模块如图5-1所示)
六、详细设计
6.1、主函数
主函数一般设计简洁,本次设计遵循程序清晰可读,功能完善的原则,尽量合理简化程序。在主函数中,仅提供了标准输出函数的调用和菜单函数的调用。
主函数流程图如下图所示:
其代码如下所示:
/* 主函数*/
void main()
{
int b=1;
system("color 6f");
printf("\n\n\n\n\n\n\n\n\n\n\t \t\t正在启动系统>>>> >>>> >>>>\t\n ");
for(i=0;i<100000000;i++);
system("color 2f");
menu();
}
6.2、菜单函数
根据所要实现的功能,我编译了一个菜单函数,将所有选择功能集中,提供给用户进行选择。这样做既可以使程序更加紧然有序,也为用户提供了方便快捷的选择,使得整个设计更加人性化。
菜单函数的流程图如下图所示:
菜单函数的代码如下所示:
void menu()
{
char k[100]="\n\n\n\t\t\t\t\t052081班王兵武\n\n\n\n\n\n\n";
char *m=k;
do
{
system("cls");
puts("\n\t\t ***************管理员菜单***************");
puts("\n\t\t\t\t1.输入课程.");
puts("\n\t\t\t\t2.添加课程.");
puts("\n\t\t\t\t3.修改课程.");
puts("\n\t\t\t\t4.查找课程.");
puts("\n\t\t\t\t5.选择课程.");
puts("\n\t\t\t\t6.删除课程.");
puts("\n\t\t\t\t7.浏览课程.");
puts("\n\t\t\t\t8.退出系统.\n");
puts("\t\t********************************************\n");
printf("\n\t\t请输入您的选择(1-8):\t");
scanf("%d",&a);
printf("\n\t\t--------------------------------------------\n\n");
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: {