1、 C 语言课程设计报告 课题课题学生信息管理系统学生信息管理系统 目 录 设计目的设计目的 错误错误!未定义书签。未定义书签。 设计要求设计要求 错误错误!未定义书签。未定义书签。 总体设计总体设计 错误错误!未定义书签。未定义书签。 详细设计详细设计 错误错误!未定义书签。未定义书签。 调试分析调试分析 错误错误!未定义书签。未定义书签。 总结 错误错误!未定义书签。未定义书签。 程序代码 错误错误!未定义书签。未定义书签。 学生信息管理系统学生信息管理系统 一一 设计目的设计目的 熟练掌握 C 语言课程中所学的理论知识;C 语言是在国内外广 泛使用的一种计算机语言。它既有高级语言的特点,又
2、具有汇编语 言的特点。它可以作为系统设计语言,编写工作系统应用程序,也 可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 因此, 它的应用范围广泛。 学习使用 C 语言程序的目的是掌握程序 设计的思路, 学会用计算机语言编写程序正确处理算法和语法的关 系算法是程序的核心、是灵魂,语法是外壳、是工具。通过课程设 计,我们要熟练的掌握 C 语言的算法、语言、函数的调用、循环的 使用、数组的运用等。 二二 设计要求设计要求 (一)(一)。信息描述信息描述 输入一个班学生的学号和每个学生的各项信息包括(学号、姓名、性别、出生、地址、电话、 E-mail) 。编程出每个学生的信息,最后打印一张
3、班上学生的各项信息。 1)各项信息输入用循环语句。 2)打印的学生信息表项包括:学号、姓名、性别、出生、地址、电话、E-mail。 3)按实验报告电子模板格式填写实验内容。 (二) 。(二) 。功能描述功能描述 1. 学生基本信息录入。 2. 学号、姓名、性别、出生、地址、电话、E-mail。 3. 基本信息的查询(学号,姓名) 。 4. 修改学生信息。 5. 增加学生信息。 6. 按学号删除信息 7. 保存当前学生信息 8. 退出 三三.总体设计总体设计 四详细设计四详细设计 1.1. main( ) main( ) 主函数主函数 程序采用模块化设计,主函数是程序的入口,各模块独立,可分 块
4、调试,均由主函数控制调用。控制功能的实现通过循环执行一个开关 语句, 该语句的条件值是通过调用主菜单函数得到的返回值, 根据该值, 调用相应的各功能函数,同时设计一个断点,即当返回值为一定条件时 2.2. del()del()删除记录删除记录 输入要删除记录的姓名,调用 find 函数,如果没有该记录,显示没找到信息; 否则,调用 print 函数,显示记录信息,接着显示是否确实要删除,请输入确认信 息整数 0 或 1,1 表示是,0 表示否。如果输入了 1,则系统删除信息。要删除数组 中的某一条元素,实际所做的操作是将其后继记录依次前移一条,所以删除第 i 条 记录,用 for 语句,从 i
5、+l 开始,依次将每个字段拷贝到前一条记录的相应字段, 即覆盖了前一条记录,达到前移的目的,直到最后一条记录。注意前移记录的时候 是逐个字段赋值,不能一个记录整体赋值。由于删除了一条记录,记录数减 1,返 Main 函数函数 1.调用 input 函 数 2.调用 output 函数 3.调用 shanchu 函数 4.调用 average 函数 5.调用 Sort 函数 6.调用 Fenlei 函数 7.调用 Charu 函数 8.调用 Find 函数 9 调用 Search 函数 10.调用 Exit 函数 回记录数,程序结束。运行 exit()函数结束程序,以免造成死循环。 3.inse
6、rt()3.insert()插入记录插入记录 输入要插入记录的信息,保存到临时变量 temp 中,然后再输 入一个姓名,用字符串 s 表示,确定新记录插入在该记录之前,调 用 find()函数查找姓名为 s 的记录, 得到该记录所在的序号, 从最 后一条记录开始,向后移动,即第 n-1 条移动到第 n 条,第 n-2 条 移动到第 n-1 条,直到第 i 条移动到第 i+l 条,将新信息存入到第 i 条记录位置。 4 4.seek() .seek() 查找记录查找记录 查找指定姓名的记录,采用顺序查找法。首先输入要查找记录的姓名,然后顺 序查找结点,如果没找到,则输出没找到信息,否则,显示找到的记录信息。因为 程序多次用到了查找和显示记录,例如删除记录中,所以编写了一个 find()函数, 专门进行查找。从第一条记录开始,将记录中的姓名字段和待比较的姓名字符串 s 进行比较,一旦相等,程序结束,返回该记录的下标号 i,也就是记录所在的序号; 如果不相等,则继续下一条比较,所有记录比较完毕,循