1、float SUB_notes3; 科目成绩int SUB_csscore; 科目学分char SUB_cs name32; 科目名称struct list_head list;SUB;/学生信息typedef struct STU_infofloat STU_totalscore;/总分int STU_id;/学号int STU_age;年龄int STU_grade;/年级int STU_place;char STU_name32;char STU_psword32;SUB subject3;STU;教师信息:typedef struct TCH _infoint TCHd;char TC
2、H_ name32;char TCH_psword32;SUB subject1; struct list_head list;TEC;管理员信息typedef struct ADM_i nfochar ADM_use name8; char ADM_psword6;ADM;/名次/姓名/密码/工号ADM use1;#defi neYyNnS_FLAGs#de nfineT_FLAGtAavoid gettime();void main_me nu();void stu_logi n();void ope nf (char *file name);void tec_logi n();void
3、admogin();void adm_ nextme nu();void a_updt_stu info();void a_updt_teci nfo();void a_updt_ myin fo();息获取当前时间/主菜单/学生登录/判断文件是否存在/老师登录管理员登录管理员2级菜单操作学生信息操作老师信息/操作管理员自身信/添加学生信息/添加老师信息/修改学生信息删除信息/修改老师信息/查找学生信息/查找老师信息显示信息/保存信息/验证密码/公用函数集合/查找信息/修改学生或老师信/学生菜单/老师菜单/学生显示自己信息/教师显示自己信息/学生更新自己信息/学生选课/教授更新自己信息/教授显
4、示自己信息/从文件中读取信息/对学生链表排序求平均成绩/输入密码回显 *void a_add_stu info(); void a_add_teci nfo();void a_mdify_stui nfo(); void a_del_ in fo(char flag);void a_mdify_teci nfo(); void a_seek_stu info();void a_seek_teci nfo(); void show (char flag);void save (char flag,char system); void check(char flag);void commom();
5、void a_show(char flag);void a_seek_ in fo(char flag); void a_mdify_i nfo(char flag);void stu_ nextme nu(i nt tmpid); void tec_ nextme nu(i nt tmpid); void s_show_ myin fo(i nt tmpid); void t_show_ myin fo(i nt tmpid); void s_updt_m yin fo(i nt tmpid); void s_select_subject(i nt tmpid); void t_updt_s
6、tu in fo(i nt tmpid); void t_updt_ myin fo(i nt tmpid); void readf();void stu_sort();float ave (float core3); float (*f)(float core3); int in putpsword(char *pass);开始1f主界面2:模块分析退出stuogintec logi namd_loginstudent nextmenuteacher menuadm inmenuteachertec show myinfo()tec update mypsword();tec next me
7、 nu ();返回上一级tec n ext me nu()3:流程图1、2.、3、4updt_stu info三、 总结学生选课管理系统,5天。这之前学的C语言基础及C语言高级编程。对于程序设计来说这些就是指导性的理论, 我学的还算认真,自我感觉良好。听说要做学生选课管理系统的时候,都有着霍霍欲试 的冲动。然而5天的历程却诉说着理论与实践结合并非易事。开始拿到这个小项目时候还真不知道怎么下手, 像猎到刺猬的饿狼, 虽饥渴难耐却又无从下嘴,只好看着猎物徘徊、踌躇。后经老师指教总算有点了头绪,真是“山重水复疑无路, 柳暗花明又一村”。我首先采取的就是化整为零的模块化分析, 把整个系统分为:管理员模
8、块、教师模块及学生三大模块,然后各个模块再按照不同的功能细分成不同的模块。 然而我在运用此思想时有点误解。我在写代码时,把代码模块化过了头了。我把每个函数都单列在每个相对应的文 件里,搞得有点乱乱的。又经老师指点后,我把各模块下相应的函数都归并到一个文件里, 这样就显得疏朗多了。修正这点失误着实用了我不少时间, 然而,接下来我又卡住了。因为系统需要操作大量的数据,所以就牵涉到如何把这些数据保存、读取、 修改等操作。我最初的思想是把这么多数据在建立后就存入文件里, 然后在需要操作时再读取文件信息进行操作。 时间毕竟有限,这样想就这样做,然而结果并不像我预期的那样, 我不知道哪里出了问题,先是梳理
9、思路后是检查代码再者就是上网查找相关信息。几经曲折,总算离我预期结果不远时,又卡住了!这已经是第四天了,无奈,只好在去吃饭的路上向我同桌取经。听了他说, “你连软件设计的基本思想都不懂”之后我一脸迷惘。经他细心讲解才明白我这种思路做出来的程序要不 断的存取数据,需要较多的系统资源,效率会很低。他给我提供了另外一种思想: 在程序启动时把所需要的数据从文件里读到内存,然后直接在内存里操作,在需要时在进行保存。呵呵,从我向他请教还没有 10分钟,他就把我从迷惘中带回了透彻的光明。这时,离时限还有一天半的时间,而我只是实现了程序的基本框架。但换了思路之后,我 速度明显提高了,在剩下的时间里把程序的基本功能都实现了。看样子,交流真的很重要, 遇到问题时最好不要一个人绞尽脑汁,要多交流请教啊!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1