选课系统-课设报告

  • 格式:doc
  • 大小:365.50 KB
  • 文档页数:34

下载文档原格式

  / 34
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*******************

实践教学

*******************

兰州理工大学

计算机与通信学院

2011年春季学期

C程序设计课程设计

题目:学生选课系统

专业班级:软件一班

姓名:黄锋

学号:10240506

指导教师:王连相

成绩:

摘要

学生选课系统是C语言应运的一个简单实例,它能实现选课信息的输入、删除、查找、保存等功能。该系统由七个模块组成,各模块的完成分别由指针、数组、链表等实现,最后通过主函数将各个模块加以联结组成此简单的学生选课管理系统。该系统有查找方便、可靠性高、存储量大、保密性好等优点,是一个教育单位不可缺少的部分。

关键词:C语言;学生;信息;选课

目录

一、需求分析 (1)

二、总体设计 (2)

三、详细设计 (3)

1、数据定义 (3)

2、算法流程图 (4)

四、编码 (7)

五、测试 (9)

六、设计总结 (9)

致谢 (14)

参考文献 (15)

一、需求分析

经过简单的调研分析,可以基本确定学生选课系统主要用来实现对选课信息的输入、删除、保存、查找等功能。

1·录入课程信息

教务系统对课程进行安排。

2·课程管理

用户可以查看新增课程和已删除课程。

3·录入学生信息

学生可以输入自己的基本信息。

4·学生信息管理

系统可以对学生输入的信息进行管理,同时用户也可以进行自我信息更改。5·学生选课

学生可以查询已选课程和可选课程,然后进行选课。

6·系统信息查看及及存储

用户可以查看课程信息和学生信息以及及存储自己信息。

7·退出系统

用户完成在学生成绩管理系统的一系列操作后要离开,则就需退出系统。

二、总体设计

课程管理学生选课系统

录入课程信息录

退

三、详细设计

1、数据定义

struct couse * head1;

struct student * head2;

struct couse//课程信息结构体

{

int num1;

char name1[20];

int score;

int nelepeo;//课程已选人数

int Melepeo;//课程人数上限

struct couse * next;

};

struct student//学生信息结构体

{

int num2;

char name2[20];

int nelenum[50];//已选课程编号

int nelen;//已选课程数量

struct student * next;

}; FILE *fp; //文件指针变量

int i,j // 定义变量i,j

char name[4],code[7];//定义数组变量

2、算法流程图

1)保存函数Save()的算法流程图

FILE *fp;

(fp=fopen(

outfile,"w

printf("can not open

printf("\nSaving

p!=NULL

fwrite(p,sizeof(SALAR

fclose(fp);

保存函数Save()的算法流程图如图2所示

注:out 为输出函数。

图2 查找的算法流程图

2)载入函数load 流程图

find 函数

out 函数

输入i 的值

sep 函数

J=-1

输出date is not

find

输出姓名,学号,成

图3 load 函数的流程图

load 函数

用“rb”方式打开“stu_list”文件

fread(&stu[i],sizeof(struct student_type))

out 函数

关闭文件

i

四、编码

第一步:分析问题

根据课题,调研分析此程序要实现那些功能。并确定程序的总体设计方案。第二步:画出程序的基本轮廓

根据程序的总体设计方案画出程序的流程图,把一个较为复杂的问题拆分,也使程序的功能较为直观的呈现出来。

第二步:实现该程序

把整个问题拆分为若干个子模块,然后确定每个模块一个子功能。

五、测试

程序的主界面

·录入课程界面

课程管理界面

录入学生信息界面

学生信息管理界面

学生选课界面

系统信息查看及存储界面

六、设计总结

本期课设终于完成了,也许是第一次做课设,经验不足的缘故吧,总的感觉就是难。课设前期无从下手,经过知道老师的讲解才对这次课设有了初步的了解。课设虽然完成,但其中还有许多缺陷,比如源代码编写较短,因而系统功能简单;还有就是虽然有查找功能,但其中有漏洞,不能确定的查找出某个学生的信息,查找只是一个大体的范围。这些都是本次课设的不足之处。当然通过这次课设,我收获还是很大的,虽然这次的课设,程序不是完全由我们自己编写的,只是通过把一个相似的例子加以修改得到的。这些程序看起来比较容易,但要程序实现要求的几个功能却不容易。而且要看懂每一个函数也不是十分容易的。当然在修改程序的过程中也收获了许多以前忽略的东西。在修改的过程中巩固了基础,认识了自己以前常犯的错误,也发现了自己的不足之处。当然通过这次课程设计,也增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C语言这门课程开始,已发现程序设计的乐趣,在学习C语言的过程中也学到了许多计算机应用基础知识。在具体操作中对这学期所学的C语言的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。通过实际操作,学会C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。

相关主题