学生选课管理系统流程图Word格式文档下载.docx
《学生选课管理系统流程图Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统流程图Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
floatSUB_notes[3];
〃科目成绩
intSUB_csscore;
〃科目学分
charSUB_csname[32];
〃科目名称
structlist_headlist;
}SUB;
//学生信息
typedefstructSTU_info
floatSTU_totalscore;
//总分
intSTU_id;
//学号
intSTU_age;
〃年龄
intSTU_grade;
//年级
intSTU_place;
charSTU_name[32];
charSTU_psword[32];
SUBsubject[3];
}STU;
〃教师信息:
typedefstructTCH_info
intTCH」d;
charTCH_name[32];
charTCH_psword[32];
SUBsubject[1];
structlist_headlist;
}TEC;
〃管理员信息
typedefstructADM_info
charADM_usename[8];
charADM_psword[6];
}ADM;
//名次
//姓名
//密码
//工号
ADMuse[1];
#define
Y
'
y'
N
n'
S_
_FLAG
s'
#denfine
T_
FLAG
t'
A
a'
voidgettime();
voidmain_menu();
voidstu_login();
voidopenf(char*filename);
voidtec_login();
voidadm」ogin();
voidadm_nextmenu();
voida_updt_stuinfo();
voida_updt_tecinfo();
voida_updt_myinfo();
息
〃获取当前时间
//主菜单
//学生登录
//判断文件是否存在
//老师登录
〃管理员登录
〃管理员2级菜单
〃操作学生信息
〃操作老师信息
//操作管理员自身信
//添加学生信息
//添加老师信息
//修改学生信息
〃删除信息
//修改老师信息
//查找学生信息
//查找老师信息
〃显示信息
//保存信息
//验证密码
//公用函数集合
//查找信息
//修改学生或老师信
//学生菜单
//老师菜单
//学生显示自己信息
//教师显示自己信息
//学生更新自己信息
//学生选课
//教授更新自己信息
//教授显示自己信息
//从文件中读取信息
//对学生链表排序
〃求平均成绩
//
//输入密码回显*
voida_add_stuinfo();
voida_add_tecinfo();
voida_mdify_stuinfo();
voida_del_info(charflag);
voida_mdify_tecinfo();
voida_seek_stuinfo();
voida_seek_tecinfo();
voidshow(charflag);
voidsave(charflag,charsystem);
voidcheck(charflag);
voidcommom();
voida_show(charflag);
voida_seek_info(charflag);
voida_mdify_info(charflag);
voidstu_nextmenu(inttmpid);
voidtec_nextmenu(inttmpid);
voids_show_myinfo(inttmpid);
voidt_show_myinfo(inttmpid);
voids_updt_myinfo(inttmpid);
voids_select_subject(inttmpid);
voidt_updt_stuinfo(inttmpid);
voidt_updt_myinfo(inttmpid);
voidreadf();
voidstu_sort();
floatave(floatcore[3]);
float(*f)(floatcore[3]);
intinputpsword(char*pass);
开始
1
f
主界
•面
[2]:
模块分析
退出
stu」ogin
teclogin
amd_login
studentnextmenu
teachermenu
adminmenu
\teacher
tecshowmyinfo()
tecupdatemypsword();
tecnextmenu();
返回上一级
tecnextmenu()
[3]:
流程图
1、2.、3、4
updt_stuinfo
三、总结
《学生选课管理系统》,5天。
这之前学的C语言基础及C语言高级编程。
对于程序设计来说这些就是指导性的理论,我学的还算认真,自我感觉良好。
听说要做《学生选课管理系统》的时候,都有着霍霍欲试的冲动。
然而5天的历程却诉说着理论与实践结合并非易事。
开始拿到这个小项目时候还真不知道怎么下手,像猎到刺猬的饿狼,虽饥渴难耐却又无从
下嘴,只好看着猎物徘徊、踌躇。
后经老师指教总算有点了头绪,真是“山重水复疑无路,柳暗花明又一村”。
我首先采取的就是化整为零的模块化分析,把整个系统分为:
管理员模块、教师模块及学
生三大模块,然后各个模块再按照不同的功能细分成不同的模块。
然而我在运用此思想时有
点误解。
我在写代码时,把代码模块化过了头了。
我把每个函数都单列在每个相对应的文件里,搞得有点乱乱的。
又经老师指点后,我把各模块下相应的函数都归并到一个文件里,这样就显得疏朗多了。
修正这点失误着实用了我不少时间,然而,接下来我又卡住了。
因为系统需要操作大量的
数据,所以就牵涉到如何把这些数据保存、读取、修改等操作。
我最初的思想是把这么多数
据在建立后就存入文件里,然后在需要操作时再读取文件信息进行操作。
时间毕竟有限,这
样想就这样做,然而结果并不像我预期的那样,我不知道哪里出了问题,先是梳理思路后是
检查代码再者就是上网查找相关信息。
几经曲折,总算离我预期结果不远时,又卡住了!
这已经是第四天了,无奈,只好在去吃饭的路上向我同桌取经。
听了他说,“你连软件设
计的基本思想都不懂”之后我一脸迷惘。
经他细心讲解才明白我这种思路做出来的程序要不断的存取数据,需要较多的系统资源,效率会很低。
他给我提供了另外一种思想:
在程序启
动时把所需要的数据从文件里读到内存,然后直接在内存里操作,在需要时在进行保存。
呵呵,从我向他请教还没有10分钟,他就把我从迷惘中带回了透彻的光明。
这时,离时限还有一天半的时间,而我只是实现了程序的基本框架。
但换了思路之后,我速度明显提高了,在剩下的时间里把程序的基本功能都实现了。
看样子,交流真的很重要,遇到问题时最好不要一个人绞尽脑汁,要多交流请教啊!