1、目 录 1 课题分析 . 1 1.1 问题描述. 1 学生籍贯信息记录簿. 1 1.2 功能需求分析. 1 2 系统设计 . 2 2.1 数据存储设计. 2 2.5 文件清单与说明. 4 3.1 菜单设计 5 3.2 学生信息查看设计 5 3.3 分盘存储设计. 6 4 测试数据与测试过程记录 . 7 4.1 菜单测试. 7 4.2 查看学生信息功能测试 7 4.3 学生信息处理测试. 9 5 课程设计遇到的问题及解决方法 20 6 课程设计总结 . 20 参考文献. 21 附录源文件 . 21 学生籍贯信息设计簿 1 1 1 课题课题分析分析 1.1 问题描述 学生籍贯信息记录簿学生籍贯信息
2、记录簿 编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: 1) 系统以菜单方式工作; 2)添加学生信息,至少 10 条。 3)显示所有学生的信息; 4)按学号或姓名查询其籍贯; 5)按籍贯查询并输出该籍贯的所有学生(至少 3 个城市) ; 6)删除和修改学生的籍贯信息; 7)显示输出上海市籍和非上海市籍学生的信息并可分别存盘。 1.2 功能需求分析 1.图表 学生信息管理学生信息管理 文件管理文件管理 显示功能显示功能 查询功能查询功能 删 除 学 生 信 息 删 除 学 生 信 息 编 辑 编 辑 学 生 信 息 学 生 信 息 输 入 输 入 学 生 信 息 学
3、生 信 息 将 数 组 存 到 文 件 将 数 组 存 到 文 件 将 文 件 读 到 数 组 将 文 件 读 到 数 组 根 据 籍 贯 分 别 存 根 据 籍 贯 分 别 存 显 示 菜 单 显 示 菜 单 查 看 学 生 信 息 查 看 学 生 信 息 按 学 号 查 询 按 学 号 查 询 按 姓 名 查 询 按 姓 名 查 询 按 籍 贯 查 询 按 籍 贯 查 询 学生籍贯信息记录本学生籍贯信息记录本 图图 1 系统功能模块图系统功能模块图 学生籍贯信息设计簿 2 2.表格 序号序号 函数原型函数原型 函数作用说明函数作用说明 1 1 void menu() 显示菜单显示菜单 2
4、2 void view_data() 查看学生信息查看学生信息 3 3 void add_data() 添加学生信息添加学生信息 4 4 void delete_data() 删除学生信息删除学生信息 5 5 void edit_data() 编辑学生信息编辑学生信息 6 6 void query_data_no() 按学号查询学生信息按学号查询学生信息 7 7 void query_data_name() 按姓名查询学生信息按姓名查询学生信息 8 8 void query_data_address() 按籍贯查询学生信息按籍贯查询学生信息 9 9 void read_data() 将数据从文
5、件读到结构体数组中将数据从文件读到结构体数组中 1010 void save_data() 将数据从结构体数组存到文件中将数据从结构体数组存到文件中 1111 void query_shanghai() 将上海与非上海户籍学生分盘存储将上海与非上海户籍学生分盘存储 2 2 系统系统设计设计 2.1 数据存储设计 void save_data() FILE *fp; int i,k; k=dd.count; fp=fopen(“c:/dada.txt“,“w“); fwrite( for(i=0;ik;i+) fwrite( fclose(fp); 2.2 数据结构设计 void read_da
6、ta() FILE *fp; int i,k; struct student st; k=0; if(fopen(“d:/students.txt“,“r“)=NULL) / 如果文件不存在 学生籍贯信息设计簿 3 fp=fopen(“d:/students.txt“,“w“); fwrite( fclose(fp); fp=fopen(“d:/students.txt“,“r“); fread( dd.count=k; for(i=0;ik;i+) fread( strcpy(dd.stui.name,st.name); strcpy(dd.stui.no,st.no); strcpy(dd.stui.ad,st.ad); fclose(fp); 2.3 函数设计与说明 序号序号 函数原型函数原型 函数作用说