2022年C语言课程设计学生信息管理系统只是分享.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年C语言课程设计学生信息管理系统只是分享.pdf》由会员分享,可在线阅读,更多相关《2022年C语言课程设计学生信息管理系统只是分享.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语 言 课 程 设 计学 生信 息 管 理 系 统精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 18 页 - - - - - - - - - - c语言及数据结构与算法课程设计题目 : 学生信息管理系统专业:姓名:学号:同组其他学生 ( 学号) : 2013年月日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 18 页 - - - - - - - - - - 目 录一、需求分析 . 4二
2、、总体设计 . 5三、详细设计 . 5四、调试与测试 . 6五、测试结果 . 7六、用户手册 . 9七、附录 . 9精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 18 页 - - - - - - - - - - 一、需求分析每年九月份都有大量新生来到学校报道,使学校管理学生工作量增大,为此我们设计一学生信息管理系统,学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能 -输入(3)学生信息浏览功能 -
3、输出(4)查询、排序功能 -算法按学号查询、按姓名查询、学生信息的删除与修改(可选项)二、总体设计组成框图主函数主菜单欢迎界查询按姓名按学号录入删除浏览修改退出精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 18 页 - - - - - - - - - - 流程图录入浏览N Y N Y 录入浏览查询开始密码是否正确主菜单1 录入学生信息2 浏览学生信息3-查询学生信息4-删除学生信息5-修改学生信息0-退出系统重新输密码是否正确删除修改退出结束开始申请新空间输入各项数据显示数据结束开始指针 p
4、 指向头结输出指针的数据P=NULP=p-next 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 18 页 - - - - - - - - - - 查询修改&删除三、详细设计主函数通过在 while 循环结构中嵌入 switch 分支结构实现操作选择功能。(1)Record 录入函数建立一个包含学生全部信息的结构体,申请空间,其指针为p0,存入学生各项对应的数据。Y Y Y N N 结束输入姓名或学号P指针的学号与姓名是否输出数据结束输入要删除或修改的学号P指针的学号与输入的是P=p-nex
5、t 修改 p的各项数据或结束精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 18 页 - - - - - - - - - - (2)Insert插入函数 : 按输入的数据存储在一个stu 类型的指针里,若原来链表里没有元素,则将此作为第一个元素;若原来的链表里有元素,则将指向头结点指针存储的学号与头指针下一个的学号大小进行比较,小的在前大的在后,之后指向头结点处的指正后移,进行比较,直到尾结点为止。在进行比较的 while 函数内,每比较一次,计算总人数的TOTAL_NUM自加。(3)Disp
6、lay 浏览函数:将传给 Display 函数的指针 P所指向的结构体的各项数据输出以便核对信息。(4)DisplayAll浏览函数:指针指向链表头结点,在if语句中嵌套 do-while语句将学生信息按学号从大到小进行逐一输出。(5)Query查询函数:首先使用 switch 语句生成菜单,实现操作选择功能。分三个部分按学号查询、按姓名查询和取消返回上一层。按学号查询时调用while 语句对学号检索,再调用 if语句进行判断,最后输出想要查询的信息。按姓名查询的方法跟按学号查询的一样。(6)Del 删除函数:使用 while 语句进行检索,直接删除学生信息。(7)Change修改函数:建立
7、devise 函数,生成菜单,用switch 语句进行分叉选择功能,选择项目进行相应的信息输入。在Change函数中使用 while 语句进行检索后再调用devise 函数修改信息。实现学生信息修改。四、调试与测试精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 18 页 - - - - - - - - - - 1、进行多次运行,发现电话那栏的电话一打长就会显示一样的数字,打短的数字就可以。我们原本是使用长整型来定义电话号码,想说空间不够,后来改用字符型,用字符串记录电话号码程序运行结果正确。2
8、、程序设计初就在考虑退出与返回有什么差别,如果返回了主菜单那退出用什么,关于这个问题看了许多网上的资料,发现许多程序都有exit (0)的函数,所以去查了不少关于exit的函数内容,最后退出就用了exit(0),但是又提醒说要编写 exit函数,之后发现要加入 的头文件,程序可以正常运行。3、程序在 180 行显示说 readData 函数不可以返回值,所以在if条件句中将return 0删除了,不过这个程序在学校的机房即使不删return 0也是可以运行的,关于这点很是不解,还有待解决。五、测试结果1、进入系统界面,输入密码,超过三次会自动退出。2、选 1时录入学生信息,编辑完后会继续显示菜
9、单精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 18 页 - - - - - - - - - - 3、选 2浏览学生信息 ,之后继续返回菜单界面,为节省空间菜单界面暂不截图4、选择 3 查询学生信息会有按学号与按姓名查询。下图是先按学号查询的截图。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 18 页 - - - - - - - - - - 5、按姓名查询时,如果查无此人会显示“没有该学生
10、信息,请核对。”之后返回上一层,按姓名查询。显示学生信息后可以选择取消返回主菜单。6、选择 4 删除学生,输入学号删除学生的信息。之后会返回主菜单7选择 5修改学生信息,按学号输入,之后按显示输入即可。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 18 页 - - - - - - - - - - 用几组测试数据进行测试算法设计的正确性。(附上程序运行的截图)六、用户手册1程序一开始会显示欢迎界面,按要求输入密码,3 次错误会退出程序。2 密码正确后会显示主菜单,按要求输入您的需求。七、附录
11、源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。/* Note:Your choice is C IDE */ #include #include #include #include #include #define NULL 0 #define LEN sizeof ( struct student) #define FILE_DATA_PATH c:student.txtstruct student 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 18 页 - - - -
12、 - - - - - - long int num; char name20; int age; char sex4; char birthday10; char address30; char tele_num13; char E_mail20; struct student *next; ; int TOTAL_NUM = 0; struct student *head = NULL; void welcome(); void mainmenu(); void record(); void insert(struct student *stu); void display(struct s
13、tudent *stu); void displayAll();void query(); void query_by_num(); void query_by_name(); void readData(); void writeData(); void freeAll(); void del(); void change(); void devise( struct student *p); int main() char userPWD7; int i; welcome(); for (i = 0; i 3; i+) printf(n 密码为 123n ); printf(n 请输入您的
14、密码 : ); scanf(%s, userPWD); if (strcmp(userPWD, 123 ) =0) / 密码正确,显示主菜单 mainmenu(); break; elseif (i num); printf( 请输入学生的姓名 : ); scanf(%s,p0 -name); printf( 请输入学生的年龄 : ); scanf(%d, &p0-age); printf( 请输入学生的性别 : ); scanf(%s,p0 -sex); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第
15、13 页,共 18 页 - - - - - - - - - - printf( 请输入学生的出生年月 : ); scanf(%s,p0 -birthday); printf( 请输入学生的地址 : ); scanf(%s,p0 -address); printf( 请输入学生的电话 : ); scanf(%s,p0 -tele_num); printf( 请输入学生的 E-mail:); scanf(%s,p0 -E_mail); insert(p0); printf( 该学生的信息为 :n ); printf(); printf( 学号t 姓名t 年龄t 性别t 出生年月 tt地址t 电话t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 课程设计 学生 信息管理 系统 只是 分享
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内