学生选修课程系统设计

  • 格式:doc
  • 大小:357.50 KB
  • 文档页数:51

下载文档原格式

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

《数据结构与C语言》综合训练

实习报告

题目:学生选修课程系统设计

一、综合训练目的与要求

综合训练是计算机科学与技术、信息管理与信息系统、软件工程专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》、《数据结构》课程后进行的一次全面的综合练习。本课综合训练的目的和任务:

1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握

2. 掌握C语言编程和程序调试的基本技能

3. 利用C语言进行基本的软件设计

4. 掌握书写程序设计说明文档的能力

5. 提高运用C语言、数据结构解决实际问题的能力

二、综合训练任务

实习题目:学生选修课程系统设计。

题目需求:运用结构体和链表设计一个简单的选修课程管理系统,做出系统菜单,并作出管理员菜单和学生菜单两个子菜单,使之能完成管理员的对课程信息的录入、浏览、查询、添加、删除、修改与学生对选修课程的浏览、查询、选择,浏览学生已选的选修课程和删除选错的课程。

三、总体设计

方案设计:

图1 总体流程图

设计思路:1、此程序是要写一个选修课管理系统,首先要先设计一个主菜单,在由主菜单进入进行函数调用,进行下面的操作。由于有管理员与学生两类人登陆系统,进行不同的操作,所以设计两个子菜单,以便区分管理

2、由管理员先录入信息,然后管理员和学生再对录入的信息进行操作,所以必须对每个程序修改的数据进行保存,采用文件的形式,数据均保存在文件内,可以通过文件指针对文件进行读写与保存。

3、用一个结构体表示一条课程信息,每个模块的具体操作时在链表里,每次操作时先将信息从文件读出存在链表,进行操作,然后再将信息写入文件。

四、详细设计说明

1、模块说明

A.录入课程:

Input ()

流程图如下:

图2 录入信息流程图

详细说明:此模块可以使管理员通过对文件的读写完成对全部选修课程的基本信息(包括课程号,课程名称,开课学院,总学时,总学分,开课学期)的一次性录入,以便进行以后的操作。其中,课程号定义为整型,开课名称和开课学院定义为20个字节的字符型,总学时、总学分和开课学期定义为整型。

此函数没有返回值,将录入的选修课程信息存入一个文件内。

B、浏览课程

prin(),prin2()

图3 浏览课程流程图

详细说明:使管理员和学生能浏览到管理员已录入的所有选课信息,此模块用到了文件操作的读出功能。此函数也没返回值,若操作完成,能返回上一级菜单;

C、查询课程

search(),search1()

流程图如下:

图4 查询课程流程图

详细说明:此模块有两种查询方式,第一是按课程名查找,第二是按学分查找,它是通过循环进行推移查找的,若找到,这显示该选修课程的全部信息,否者,则显示未找到,以便给以提示。此模块可以实现对课程信息的查询,只要中输入课程号或某课程的学分,就可以查询到该课程的相关信息。先输入1或2选择查找方式,然后再输入字符型的课程名或整型的学分即可查找。管理员和学生均能通过此程序查询,本程序用到文件的读出功能。操作完成,返回到上一级菜单。

D、添加课程

Insert()

流程图如下:

图5 添加课程流程图

详细说明:将一个课程的所有信息都录入,程序会先打开相应文件,运用文件文件写追加的方式打开,再将新增的课程信息写入文件并保存。此函数没返回值,输入的课程号、总学时、总学分、开课学期都是整型,课程名和开课学院是字符型。操作完成后,回到上一级菜单。

E、删除课程

del() del1()

流程图如下:

图6 删除课程流程图

详细说明:此程序是完成管理员对课程信息的删除和学生对自己错选的课程信息的删除的操作。只要输入要删除的课程号,系统便利用循环推移查找到要删除的课程号,将此条课程信息删除。并将剩余的课程信息通过文件信息保存在文件内,此程序仅需输入一个整型的课程号,没有返回值。运用到了文件的读写功能。操作完成后,回到上一级菜单。

F、修改课程

modify()

流程图如下:

图7 修改课程流程图

详细说明:此程序完成的是管理员对选修课程的修改,若某一个课程的总学时、总学分或开课学院出现错误,可以通过此程序修改。此程序没有返回值。输入一个整型的课程号,程序就会查找到该条课程信息,再输入一个整型序号,选择要修改的项目,再输入实际的整型数据,便可完成对信息的修改。修改之后,将显示新的课程信息,并将新的课程信息通过文件指针写入文件内保存。操作完成后,返回管理员菜单。

G、选择课程

choose(()

流程图如下:

图8 选择课程流程图

详细说明:此程序执行的是使学生选择自己所需要的选修课程。没有返回值。输入一个整型的课程号,程序通过循环查找到该课程号,并将该课程号对应的课程信息通过文件指针写入另一个文件内保存,并将信息显示出来。操作完成后,返回学生菜单。

H、浏览所选信息

prin()

l流程图如下:

图9 浏览选课信息流程图

详细说明:此程序是通过文件指针打开文件已有的学生选课信息文件,将文件内的信息写入链表,然后显示出来。此程序没返回值。操作完成后,返回到上一级菜单

五、调试与测试

1、初始界面:

图10 初始界面

2,选择1,输入并输入密码,进入管理员的界面如下:

图11 管理员菜单

3.选择1 根据提示录入课程信息,再返回管理员菜单。再选择2,进入浏览,图示如下:

图12 浏览信息界面

4,从管理员菜单选择3,进入查询: