1、高级语言程序设计课程设计 设计题目:学生选修课程系统设计 目录 1.设计目的.p2 2 .总体设计p3 3.详细设计.p4 4.调试与测试.p5 5.源程序清单与执行结果.p6 6.建议和体会.p21 - 1 - 一一.设计目的设计目的 (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握 C 语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 程序功能:程序功能: (1)输入信息,密码保护 (2)浏览信息 (3)查询信息,提供两种查询方式 (4)统计选课情况 (5)进入选课操作 (6)退出选课系统 二二. .总体设计总体设计 设计的流程图如下
2、- 2 - 开始 系统初始化 1 输 入 课 程 信 息 2 浏浏 览览 课课 程程 信信 息息 3 查 询 课 程 信 息 5 进 入 选 课 操 作 0 退 出 选 课 系 统 4 统 计 选 课 情 况 1 按 学分 查询 2 按 课程 信息 查询 结束 - 3 - 三、详细设计三、详细设计 1、输入初始的课程信息:课程信息用文件保存,包括课程编号,课 程名称,课程性质,总学时,授课学时,实验或上机学时,学分, 开课学期等相关信息。在输入课程信息前要先输入管理员密码,从 而限制权限; 2、浏览模块:按照指示就可以找到课程编号, 课程名称,课程性质, 总学时,授课学时,实验或上机学时,学分
3、,开课学期等相关信息; 3、查询模块:按照指示可以选择通过学分查询信息,或者选择课程 性质来查询信息; 4、选择模块:通过输入学号和课程编号来选择所修课程,并有统计 功能; 5、查阅模块:选择主菜单的选项,可以了解统计所选课程的人数; 6、退出模块:在主菜单选择“0”退出选课系统。 四四:调试与测试:调试与测试 问题一、问题一、查询查询模块:模块: - 4 - 其中包括课程编号,课程名称,课程性质,总学时,授课学时, 实验或上机学时,学分,开课学期等相关信息;当输入学分或者课 程性质后,系统进行判断时,提示“输入错误!请重新输入!” 解决办法及步骤: 1、浏览所有课程中的学分是否为你所输入的值
4、。 2、浏览所有课程中的课程性质是否有存在你所输入的值。 3、输出用于循环检查语句中的课程,发现乱码。 4、仔细分析乱码的原因,最后发现是变量的类型错误,错将课程性 质的结构体指针变量定义为了其他类型的指针变量。 问题二、问题二、选择模块选择模块: 从主菜单进入选课系统,通过输入学号和课程编号来选择所修课程。 当输入选择信息时,系统却提示“输入错误!请重新输入!” 解决办法及步骤: 1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再 继续正确输入选择信息, 2、检查当我们在输入选择信息时,看是否我们输入的信息有误, 若是这样的话,我们应当仔细输入选择信息。 五五. .源程序清单与执行
5、结果源程序清单与执行结果 - 5 - #include #include #include struct course int num; char name20; char kind10; int time; int ttime; int etime; int mark; int term; ; struct student int snum; int cnum; char cname20; ; /*课程信息录入*/ void insert() - 6 - void main(); FILE *fp; struct course c; int count,secret=624816; int
6、i,secret1; system(“color 1f“); if(fp=fopen(“E:course.txt“,“a+“)=NULL) printf(“cannot open filen“); printf(“请输入系统密码:“); scanf(“%d“, if(secret=secret1) printf(“n 密码正确,请输入课程门数:n“); scanf(“%d“, printf(“课程编号 课程名称 课程性质 总学时 授课学时 实验或上 机学时 学分 开课学期:n“); for(i=0;i5|n0) printf(“n 输入错误!请重新输入!n“); scanf(“%d“, - 16 - else w=1; while(w=