- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QT编写一个简单及学生管理系统
嵌入式作业报告
—— 学生信息管理系统
学生信息管理系统报告说明书
需求分析
利用QT Creator编程环境编写一个简单的学生信息管理系统,与数据库连接,或者直接对.txt文本进行操作,实现对学生信息的增,删,改,查功能。
总体设计
在窗口刚跳出来时,在左边的QTextEdit对象中显示所有学生的信息,学生的信息被保存在student.txt文件中。右边是几个QPushButton,分别实现增,删,改,查功能。还有一个QLineEdit,用来编辑学生信息。
1.增加学生信息:在行编辑器内输入学生的信息,点击“增加”按钮,该生的信息就会被写入student.txt文件,并且将增加后的所有的学生信息显示在窗口的QTextEdit对象中。
2.删除学生信息:在行编辑器内输入学生的信息,点击“删除”按钮,该生的信息就会从student.txt文件中删除,并且将删除后的所有的学生信息显示在窗口的QTextEdit对象中。
3.修改学生信息:在行编辑器内输入学生的信息,点击“修改”按钮,该生的新的信息就会被写入文件,并且将修改后的所有的学生信息显示在窗口的QTextEdit对象中。
4.查找学生信息:在行编辑器内输入学生的学号,点击“查找”按钮,该生的信息会显示在窗口上。
详细设计
若选择直接对文本进行操作,过程比较麻烦。如在进行删除某位学生的信息时,很自然地会想到先找到该生在文件中的位置,再将其后的所有学生信息都向前移动,看起来似乎很简单,但是在文件里进行这些操作时还是要费一些功夫的。经过在网上查资料,得到了一种算法,就是先把文件里的每位学生的信息读出来,放到一个str[]数组中,再通过比较,找到要删除学生所在的数组元素的下标,之后仅仅是对数组内容进行更改,最后再将新的数组元素写入文件中,再通过读文件将信息显示在窗口。下面这段代码是我自己认为在这次作业中取得较大突破的。就是删除学生信息的代码。
//删除学生信息
void Widget::deleteStuInfo()
{
QString str2=edit-displayText();//获得要删除学生的信息
int j,k=0;
read();//先将原文件里所有学生的信息读书放在str[]数组中
for(j=0;jstuNom;j++)//比较在文件中是否存在与要删除学生信息相同的信息
{
if(str[j]==str2)
{
break;
}
k++;
}
if(k==stuNom)//如果没有,直接退出
return;
for(;jstuNom-1;j++)//j是和要删除学生信息相同的数组下标,将其后的学生信息依次向前移动
{
str[j]=str[j+1];
}
stuNom=stuNom-1;//学生数目减1
write();//再把删除后的学生信息写入文件
read();//读文件
displayInfo();//将文件信息显示在窗口
label-setText(删除成功);
}
四.总结
这个用QT环境编写一个简单的学生管理系统的作业做了一周,今天终于完成了。而这一周,自己也学会了很多东西。现在就来总结一下吧。
1.做笔记很重要
这次作业,我感触最大的就是,做笔记是多么重要的一件事。记得最后一节课的时候,老师讲了几个简单的QT编程的例子,当时觉得很简单,和Java很像,虽然一直跟着老师的思路,但是并没有做笔记,总觉得这么简单,自己也会。可是,时隔了几周之后,当自己独自用一个全新的环境去编写老师讲过的例子时,却发现,什么都写不出来,已经全都忘记了。所以又得重新在网上查资料,一切重新开始,这样既浪费时间,又很容易丧失耐心和信心。所以我想,以后再学习新东西的时候,不管我们当时懂了没有,不管当时觉得它有多么简单,只要是觉得有用,都应该养成做笔记的好习惯,这是一次对所学知识的梳理过程,是提取精髓必不可少的一步。
做事不能拖拉
记得老师很早就布置作业了,只是没有确定什么时候交,总觉得时间还挺多的,所以就总是把作业往后推。所以在写的时候,几乎完全忘记了老师讲得内容,给开始的第一步造成了很大的阻碍。在编写程序过程中,如果明日复明日,最终,就会将精力和耐心耗尽,变得急躁,这样,也是编不出高质量的程序的。所以,我告诫自己,当想起一件事的时候,就赶紧去做完它,不要总是拖拖拉拉,平时生活中养成今日事,今日毕的好习惯。
想办法解
文档评论(0)