QT编写一个简单的学生管理系统

更新时间:2023-07-12 08:39:01 阅读: 评论:0

嵌入式作业报告
        —— 学生信息管理系统
                 
学生信息管理系统报告说明书
一.需求分析
    利用QT Creator编程环境编写一个简单的学生信息管理系统,与数据库连接,或者直接对。txt文本进行操作,实现对学生信息的增,删,改,查功能。
二.总体设计
    在窗口刚跳出来时,在左边的QTextEdit对象中显示所有学生的信息,学生的信息被保存在文件中。右边是几个QPushButton,分别实现增,删,改,查功能.还有一个QLineEdit,用来编辑学生信息。
      1.增加学生信息:在行编辑器内输入学生的信息,点击“增加”按钮,该生的信息就会被写入student。txt文件,并且将增加后的所有的学生信息显示在窗口的QTextEdit对象中。
      2。删除学生信息:在行编辑器内输入学生的信息,点击“删除”按钮,该生的信息就会从文件中删除,并且将删除后的所有的学生信息显示在窗口的QTextEdit对象中。
      3.修改学生信息:在行编辑器内输入学生的信息,点击“修改”按钮,该生的新的信息就会被写入文件,并且将修改后的所有的学生信息显示在窗口的QTextEdit对象中。
      4.查找学生信息:在行编辑器内输入学生的学号,点击“查找”按钮,该生的信息会显示在窗口上。
三.详细设计
      若选择直接对文本进行操作,过程比较麻烦。如在进行删除某位学生的信息时,很自然地会想到先找到该生在文件中的位置,再将其后的所有学生信息都向前移动,看起来似乎很简单,但是在文件里进行这些操作时还是要费一些功夫的。经过在网上查资料,得到了
一种算法,就是先把文件里的每位学生的信息读出来,放到一个str[]数组中,再通过比较,找到要删除学生所在的数组元素的下标,之后仅仅是对数组内容进行更改,最后再将新的数组元素写入文件中,再通过读文件将信息显示在窗口。下面这段代码是我自己认为在这次作业中取得较大突破的。就是删除学生信息的代码.
//删除学生信息
void Widget::deleteStuInfo()
  个人如何补缴社保QString str2=edit—>displayText();//获得要删除学生的信息
  int j,k=0
  read();//先将原文件里所有学生的信息读书放在str[]数组中
  for(j=0;j<stuNom;j++)//比较在文件中是否存在与要删除学生信息相同的信息
  花花草草{
      if(str[j]==str2)
     
          break;
摩托车脱审
世界豪车排名     
普通话测试内容      k++;
  }
  if(k==stuNom//如果没有,直接退出
      return
  for(;j〈stuNom-1;j++)//j是和要删除学生信息相同的数组下标,将其后的学生信息依次向前移动
  {
      str[j]=str[j+1];汽车保养内容
  }
  stuNom=stuNom1;//学生数目减1
  write();//再把删除后的学生信息写入文件
广告公司宣传文案
  read();//读文件
  displayInfo();//将文件信息显示在窗口
  label->tText("删除成功");
}
 
四。总结
      这个用QT环境编写一个简单的学生管理系统的作业做了一周,今天终于完成了。而这一周,自己也学会了很多东西。现在就来总结一下吧。
1。做笔记很重要
    这次作业,我感触最大的就是,做笔记是多么重要的一件事。记得最后一节课的时候,老师讲了几个简单的QT编程的例子,当时觉得很简单,和Java很像,虽然一直跟着老师的思路,但是并没有做笔记,总觉得这么简单,自己也会。可是,时隔了几周之后,当自己独自用一个全新的环境去编写老师讲过的例子时,却发现,什么都写不出来,已经全都忘记了。所以又得重新在网上查资料,一切重新开始,这样既浪费时间,又很容易丧失耐心和信心.所以我想,以后再学习新东西的时候,不管我们当时懂了没有,不管当时觉得它有多么简单,只要是觉得有用,都应该养成做笔记的好习惯,这是一次对所学知识的梳理过程,是提取精髓必不可少的一步。
2.做事不能拖拉
    记得老师很早就布置作业了,只是没有确定什么时候交,总觉得时间还挺多的,所以就
简单字大全总是把作业往后推。所以在写的时候,几乎完全忘记了老师讲得内容,给开始的第一步造成了很大的阻碍。在编写程序过程中,如果明日复明日,最终,就会将精力和耐心耗尽,变得急躁,这样,也是编不出高质量的程序的.所以,我告诫自己,当想起一件事的时候,就赶紧去做完它,不要总是拖拖拉拉,平时生活中养成今日事,今日毕的好习惯。
3.想办法解决问题
    因为老师只讲了一节课的QT编程,所以这次的作业主要还是靠自己在网上查资料完成的.我觉得搜集对自己有用的资料是一种必要的能力,网上的东西很多,找出确实对自己有用的,还是需要费一点功夫的。这次编程过程中,我就遇到了很多的问题,都是在网上查看解决方案的.我的心得就是静下心来,慢慢看,具体分析,必要的时候,就多种方法都试一下,最后,一定会找到适合的方法.就像这次其他的同学都用的事数据库连接程序,由于自己的一些原因,我选
择的是文件,如果要实现老师说的对学生信息的增,删,改,查四个功能的话,用文件比较难一些,因为并没有现成的数据库语句来实现这些功能,只能通过自己编写子程序来解决这些问题。我起初遇到的最大的困难就是删除这部分,找到要删除的学生的位置是很容易
的,可是怎么样将它删除呢,我们自然会想到把他后面的信息依次向前移动,可是仅仅用文件来实现是非常困难的。于是我就和同学讨论,上网查资料,经过一番努力,终于看到网上的一条建议,就是把文件里的所有信息读出来,存到一个数组里面,之后,根据要求,对数组元素进行修改,再将其写回到文件中,说实话,看到这个算法的时候,就是感觉眼前一亮,很兴奋。虽然这个听起来有点麻烦,但是仔细一想,这是符合常理的,并且也符合程序模块化的思想,最后自己按照这个思路编写的几个子程序,运行成功,心里很有成就感。
  总之,我觉得这次的作业锻炼了我自主学习的能力,也告诫自己要勤于做笔记,养成不拖拉的好习惯。经过在网上查资料,和同学一起讨论,近一步增进了同学间互帮互助的友情,也提高了自己的编程能力,是一次很有收获的经历.

本文发布于:2023-07-12 08:39:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1092277.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学生   信息   删除   时候   文件   觉得
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图