精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
记录老师、同事、学生、家长的基本信息和学生相处关系的数据库操作软件,具体功能如下:
进入程序前需要输入用户名和密码,进入首页,首页里有个Tree控件显示所有人的名单,点击可以显示出每个人的具体资料,还有添加、删除、修改等操作。每个分类做成了一个个属性页的格式,老师、同事、学生、家长每种都可能通过各自的属性页来单独查看,最后一个是处理学生关系的属性页,记录和预测学生不和的关系。
源代码下载包里有架构图、模块组成图和流程图,欢迎阅览。本系统开发平台是VS2010,使用了MFC。
学了几个月的VC终于可以自己像模像样的写个完整的程序了,心里挺高兴的。可是写程序远没有我想像的那么简单的,刚开始的时候跟本就是只有理论没有实践,看的懂程序却自己写不了程序,开头的部分到处碰壁,唉。万是开头难啊!自己也是心急,老想着学最厉害的技术,老师说的对,马步还没扎稳 就想着练降龙十八掌,跟本不可能的。刚开始老师让我做个通讯录我还很烦,觉的做这种小软件没什么必要,但时间久了便慢慢发现自己好多地方都学的不到位。好多问题要自己动手后才能发现,现在才知道自己动手的重要性。CList Box、 Combo Box 、CTreeCtrl等一些控件的用法、成员函数本来可以从MSDN查到的,可我因为英语太差看不懂,只能问了老师们才会用,问明白了就记在本本上,下次使用的时候一查就明白了。学C++就得做好打持久战的心理准备,一路按照老师的路子走下去才能终于正果。好在磕磕绊绊半个多月我还是坚持下来了,在老师的帮助下总算有了自己写的属于自己的程序啦,很兴奋。我会继续在老师的指导下往前走下去。
还是那话,万事开头难,最痛苦的时修就在一开始啦,老师让我用VS做,可VS我都没接触过,还要从VC转型到VS里,刚开始的时候跟本什么都看不懂,界面看着也不顺眼,这个不会用那个找不到,好不容易才适应了VS,一开始做程序的时候也没什么思路,虽然画了架构图但还是一片空空,好多控件的用法不会用,VS还是unicode编码,老是忘记加_T()。写程序是一环扣一环的,好多时候改动了一个地方却忘了改其它有牵连的地方,弄出很多莫名其妙的错误,自己查错也很费劲。很多小地方的错误老是忽视,越是小毛病越难查,不会避免。CRecordset类的操作也很抽象,很长时间才能熟悉。很多时候以为自己做的很完美了,可是到了老师那里又漏洞百出,自己很纠结,通过这个小小通讯录让我发现了自己存在那多的缺点和不足,好在有老师帮忙,渡过了难关。
开发中遇到的错误可是不少大体有以下这些:构建CRecordset类时忘了把db传进去,为了找这个错误找了两个晚上,没好意思找老师帮忙,我怎么看程序都对,就是找不出错误,最后没办法交给老老师找到的;还有把“==”写成“=”这个错误也是找了很久才找到,还是李老师的方法好,把表达式反写。”If(5=a)”这样一来,编译跟本通不不了,错误也就很容易找到啦;VS里是采用Unicode编码,刚开始也在这里栽跟头,还要在字符串面值前面加_T,sscanf要写成swscanf,这些问题也是到了VS里还发现的;CRecordset里的GetRecordcount()有时候反应不正常,只能MoveNext()一条一条计算。开始的时候更新完了记录忘了加Update(),更新前掉下Edit();头文件的包含也有时漏掉。
这里大体介绍下预算学生关系的基本流程,获取学生关系数据库的第一个记录的最早不和记录的日期的年份和月份,再获取当前日期的年份和月份分别存到一个CString 变量里。最早不和日期如果大于当前日期就会提示出错,学生关系数据库里记录着每一对学生之间发生不和的总次数,预测标准是按照每月的平均不和数,为了方便计算每月平均不和数,最早不和日期在当前年份上的与不在当前年份上的用条件分开执行,不在当前年份上的又为了避免除数为0,把最早记录在当前月份与不在当前月份的也用条件分开执行。预测的标准是一个月的平均不和次数6次以上的下月不和的机率就为100%,不到6次的为百分之(不和次数乘100除以6)来计算。