C语言实现的通讯录管理系统

版权申诉
0 下载量 56 浏览量 更新于2024-07-20 收藏 288KB DOC 举报
"C语言课程设计 学生成绩簿.doc" 这篇文档是一个关于C语言的课程设计报告,涉及的主题是创建一个学生成绩记录簿管理系统。这个系统利用链表数据结构来实现对学生成绩的管理,包括创建、输入、输出、查找和删除等基本操作。设计者旨在通过这个项目提高对自定义函数的理解和运用。 系统的主要功能包括: 1. **建立主界面**:设计了一个友好的用户界面,让用户通过选择不同的选项来执行不同的操作。 2. **switch语句分类处理**:使用switch语句来根据用户的输入执行相应的子函数,如录入成绩、查询成绩、删除成绩和计算平均分等。 3. **子函数与主函数的连接**:各个功能模块(子函数)通过调用来实现与主函数的交互,使得程序流程更加清晰。 4. **成绩录入**:允许用户输入学生的学号、姓名、课程编号和成绩,同时进行了数据合法性检查,确保学号为8位数字,课程编号为5位数字,成绩在0到100之间,学分为1到5之间的实数。 5. **成绩查询**:可以按学号或姓名查询个人成绩,也可以按课程编号查询班级成绩,班级成绩查询还包括平均分、及格率以及各分数段人数和比例的统计。 6. **成绩删除**:能够删除指定学号和课程编号的成绩。 7. **成绩计算**:能计算学生的平均分,为教师和学生提供便利。 8. **数据持久化**:程序启动时会从文件读取已有的成绩数据,如果没有数据则给出提示,每次修改后会将新数据写回文件,确保数据不会丢失。 此外,系统的设计还考虑到了以下性能特点: - **方便性**:用户操作简单,无需专业知识即可使用。 - **灵活性**:可以适应不同的查询需求,如个人成绩和班级成绩的查询。 - **直观性**:通过界面向用户展示清晰的操作指引和结果。 - **易用性**:设计了人性化的交互界面,使用户易于理解和操作。 扩展功能: 1. **数据加载**:在程序启动时自动从文件加载数据,如果文件为空,则给出相应提示。 2. **数据保存**:每次数据修改都会实时保存到文件,保证数据的安全性。 整个程序的设计和实现基于C语言,通过链表数据结构有效地管理和操作学生成绩,展示了C语言在非数值计算型算法设计中的应用。同时,这也是一次对学生自定义函数理解和链表操作能力的实践训练。