1、 c 语言及数据结构与算法课程设计语言及数据结构与算法课程设计 题题 目目 : : 学生信息管理系统学生信息管理系统 专专 业:业: 物联网工程物联网工程 14011401 班班 姓姓 名:名: 学学 号:号: 同组其他学生同组其他学生( (学号学号) ): 2015 年年 6 月月 24 日日 目 录 一、需求分析 3 二、总体设计 3 三、详细设计 4 四、调试与测试 16 五、测试结果 16 六、用户手册 16 七、附录 16 一、需求分析一、需求分析 问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。试设计 一学生信息管理系统,使之能提供以下功能:
2、 系统以菜单方式工作 学生信息录入功能-输入 学生信息浏览功能-输出 查询、排序功能-算法 按学号查询、按姓名查询、学生信息的删除与修改(可选项) (2)功能要求 界面比较美观;有一定的容错能力,比如输入的成绩不在 0100 之间,就提示不合法, 要求重新输入;最好用链表的方式实现。 二、总体设计二、总体设计 开始 主菜单 选择语句 switch(a) 录入 学生 信息 浏览 学生 信 息 查询 学生 信 息 删除 学生 信 息 修改 学生 信 息 退 出 系 统 1 2 3 4 5 主菜单主菜单 0 录入信息录入信息 Y N 浏览学生信息浏览学生信息 1 按提示,录 入学生信息 选择是否继续
3、输 入学生信息 返回主菜单 2 输出之前保存的 所有学生信息 返回主菜单 查询学生信息查询学生信息 N Y 3 输入已保存的 学生学号 输入是否正确 输出符合学号的 学生信息 提示输入有误 返回主菜单 删除学生信息删除学生信息 Y N 4 输入已保存的 学生学号 输入是否正确 删除已保存的 学生信息 提示输入有误 返回主菜单 修改学生信息修改学生信息 N Y 5 输入已保存的 学生学号 输入是否正确 返回主菜单 提示输入有误 选择修改的内容 修改的新内容 直至取消修改 三、详细设计三、详细设计 各调用函数的设计与运行情况: (/录入学生信息 void record () struct stud
4、ent *p0; p0 = (struct student *)malloc(LEN); printf (“请输入学生的姓名:“); scanf (“%s“,p0-name); printf (“请输入学生的学号:“); scanf (“%ld“, printf (“请输入学生的性别:“); scanf (“%s“,p0-sex); printf (“请输入学生的年龄:“); scanf (“%d“, printf (“请输入学生的地址:“); scanf (“%s“,p0-address); printf (“请输入学生的电话:“); scanf (“%lf“, printf (“请输入学生
5、的 E-mail:“); scanf (“%s“,p0-E_mail); insert (p0); printf (“该学生的信息为:n“); printf (“-n“); printf (“姓名t 学号t 年龄t 性别t 地址tt 电话ttE-mailn“); display (p0); void insert (struct student *stu) struct student *p0, *p1, *p2; p1 = head; p0 = stu; if (head = NULL) head = p0; p0-next = NULL; else while (p0-num p1-num) p1 = p1-next; if (p0-num num) if (head = p1) head = p0; else p2-next = p0; p0-next = p1; else p1-next = p0; p0-next = NULL; TOTAL_NUM+; void display (struct student *p) printf (“%