文/ 王闯 SHSQ1616班
伴随着两周的紧张学习,迎来了我人生中第一个项目——学生管理系统。
1. 功能和构思
这个项目最开始看到的时候要求都挺简单的,总共分三大模块:系统管理管理(用户只有一个,拥有整系统的最高权限)、老师管理模块(老师用户分为两类:第一类班主任,可以对自己信息进行操作以及对所带班级的所有学生的增加改查。第二类各科任课老师,只能对自己信息进行操作以及对自己所带科目的学生进行改查)、学生登录查看模块(功能单一,学生只能查看自己的信息和班级各科成绩排名)。
构思是根据老师给的关系图为基础进行优化的。关于构思,血的教训,构思是好的,但是是需要找对着陆点。我最开始写的时候最先把数据链表的结构,为一条嵌套着三条单链表共用一个头节点,数据链表是没有问题的,但是我的最大的问题是没有先写界面,而是从最小的功能模块封装函数写,由于我没有写界面,无法确定所写函数的功能是否完全,没有进行编译大概写了四百行多点代码时我调用编译了,结果那个报错我不想吐槽了,果断的重写。第二次构思的时候放弃了三条单链表共用一个头节点的链表结构,而是分开为互不干扰的三条单链表,然开始艰苦的赶工码农节奏。
2. 收获和体会
C语言是一门比较灵活、有趣而且实践性非常强的课程,我们要从它的实践运用中,体会到了学习C语言的乐趣和好处。在课程设计的这段时间里,我学到了许多东西,同时也使我对以前学的东西有了一个更深更透彻的理解。比如:能够灵活的运用双重循环,switch语句,结构体的定义、引用、使用,指针的定义、使用等。
虽然对C语言编程还有许多不明白,但这段时间我真的获易匪浅。以前上编程课,我基本上都没有深入理解自己所编的程序,常常就是仿照书本编一个程序,再运行几遍,没错就万事大吉,根本就没管它了。
但这次就不同,对每个程序都有一个深入透彻的理解,常常不懂就问同学或老师,直至把它弄懂为止。C语言限制比较的宽松,我们在编程的时候更应该仔细,一个小小的错误都可能导致程序的无法编译。所以对于大的程序,我们更应该先编好主程序,再一个一个模块的编。这样大大的缩短了编程的时间同时又提高了程序的可读性。