學(xué)生信息管理系統(tǒng)_軟件工程改進(jìn)

學(xué)生信息管理系統(tǒng)

工程管理學(xué)院 張競(jìng)藝 151278047
注:若要運(yùn)行此程序需要有qt5.7環(huán)境并將database.cpp中的數(shù)據(jù)庫(kù)路徑改為本地路徑

簡(jiǎn)介

本程序基于SQLite為支撐,Qt為界面完成扼睬,除了基本的對(duì)學(xué)生信息的增刪改查功能外逮栅,還可個(gè)性化定制學(xué)生興趣從而發(fā)現(xiàn)某學(xué)生的可能朋友。

基于軟件工程思想優(yōu)化說(shuō)明

密文回顯

主界面
為完善用戶(hù)體驗(yàn)窗宇,本程序更改為兩個(gè)不同的接口:教師+學(xué)生,同時(shí)添加了密文回顯

主界面.png

改進(jìn)代碼是文件qpasswordlineedit.h和相應(yīng).cpp文件

修改密碼

學(xué)生界面

學(xué)生界面.png

改進(jìn)后措伐,學(xué)生界面添加了修改密碼的功能,相關(guān)代碼如下:



void password::on_pushButton_save_clicked()
{
QSqlDatabase db = QSqlDatabase::database("sqlite1"); //建立數(shù)據(jù)庫(kù)連接
QSqlQuery query(db);

QString key=ui->lineEdit_old->text();
query.prepare(QObject::tr("select 密碼 from stu_password where 用戶(hù)名 = ?"));
query.addBindValue(ui->lineEdit_num->text());
query.exec();
if(!query.next())
{
QMessageBox::information(NULL,"information","用戶(hù)名不存在",QMessageBox::tr("OK"));
ui->lineEdit_num->clear();
}
else
{
if(key==query.value(0).toString())
{
query.prepare(QObject::tr("update stu_password set 密碼=? where 用戶(hù)名 = ?"));
query.bindValue(0,ui->lineEdit_new->text());
query.bindValue(1,ui->lineEdit_num->text());

if(query.exec())
{
QMessageBox::information(NULL,"information","修改密碼成功军俊!",QMessageBox::tr("OK"));
this->close();
}
else
QMessageBox::information(NULL,"information","啊哦侥加,修改失敗",QMessageBox::tr("OK"));

}
else
{
QMessageBox::information(NULL,"information","原密碼錯(cuò)誤",QMessageBox::tr("OK"));
ui->lineEdit_old->clear();
}
}
ui->lineEdit_num->clear();
ui->lineEdit_old->clear();
ui->lineEdit_new->clear();
}

修改密碼界面:

學(xué)生端更改密碼界面
更改密碼.png
老師管更改密碼界面

更改密碼2.png

相應(yīng)實(shí)現(xiàn)文件在password.cpppassword_t.cpp以及對(duì)應(yīng).h文件中,分別對(duì)應(yīng)學(xué)生和管理員界面的更改密碼...

容錯(cuò)

優(yōu)化了容錯(cuò)功能

添加學(xué)生容錯(cuò)

容錯(cuò)1.png

相關(guān)代碼如下:

 if(query.exec()){
 QMessageBox::information(NULL,"information","修改成功粪躬!",QMessageBox::tr("OK"));

 this->close();
 }
 else
 {
 QMessageBox::critical(NULL,"critical","所填信息不完整或有誤担败!",QMessageBox::tr("OK"));
 }

編輯學(xué)生信息容錯(cuò)

容錯(cuò)2.png

相關(guān)代碼如下:

if(ui->label_name->text()==NULL)
 QMessageBox::information(NULL,"information","請(qǐng)先選擇一個(gè)學(xué)生",QMessageBox::tr("OK"));

修改密碼容錯(cuò)

容錯(cuò)3.png

相關(guān)代碼如下:

if(!query.next())
 {
 QMessageBox::information(NULL,"information","用戶(hù)名不存在",QMessageBox::tr("OK"));
 ui->lineEdit_num->clear();
 }


 if(key==query.value(0).toString())
 {
 query.prepare(QObject::tr("update stu_password set 密碼=? where 用戶(hù)名 = ?"));
 query.bindValue(0,ui->lineEdit_new->text());
 query.bindValue(1,ui->lineEdit_num->text());

 if(query.exec())
 {
 QMessageBox::information(NULL,"information","修改密碼成功!",QMessageBox::tr("OK"));
 this->close();
 }
 else
 QMessageBox::information(NULL,"information","啊哦镰官,修改失敗",QMessageBox::tr("OK"));

 }
 else
 {
 QMessageBox::information(NULL,"information","原密碼錯(cuò)誤",QMessageBox::tr("OK"));
 ui->lineEdit_old->clear();
 }

登錄容錯(cuò)

容錯(cuò)4.png

相關(guān)代碼如下:

if((!query.next()))
   QMessageBox::critical(NULL,"critical","用戶(hù)名不存在",QMessageBox::tr("朕知錯(cuò)了"));

 else
 {
   QString key1 =query.value(0).toString();
     if(key1==key)
     {
     //此處登錄成功后界面
     t_view.show();
     this->show();
     }
    else
    {
       QMessageBox::critical(NULL,"critical","密碼錯(cuò)誤!",QMessageBox::tr("朕知錯(cuò)了")); 
       ui->name_lineEdit->clear();
       this->ui->name_lineEdit->setFocus();
    }
 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末提前,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子朋魔,更是在濱河造成了極大的恐慌岖研,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件警检,死亡現(xiàn)場(chǎng)離奇詭異孙援,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)扇雕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)拓售,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人镶奉,你說(shuō)我怎么就攤上這事础淤≌阜牛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵鸽凶,是天一觀的道長(zhǎng)币砂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)玻侥,這世上最難降的妖魔是什么决摧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮凑兰,結(jié)果婚禮上掌桩,老公的妹妹穿的比我還像新娘。我一直安慰自己姑食,他們只是感情好波岛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著音半,像睡著了一般则拷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祟剔,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天隔躲,我揣著相機(jī)與錄音,去河邊找鬼物延。 笑死宣旱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叛薯。 我是一名探鬼主播浑吟,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耗溜!你這毒婦竟也來(lái)了组力?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤抖拴,失蹤者是張志新(化名)和其女友劉穎燎字,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體阿宅,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡候衍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洒放。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛉鹿。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖往湿,靈堂內(nèi)的尸體忽然破棺而出妖异,到底是詐尸還是另有隱情惋戏,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布他膳,位于F島的核電站响逢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏矩乐。R本人自食惡果不足惜龄句,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一诗越、第九天 我趴在偏房一處隱蔽的房頂上張望部凑。 院中可真熱鬧侥猬,春花似錦、人聲如沸欧漱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)误甚。三九已至,卻和暖如春谱净,著一層夾襖步出監(jiān)牢的瞬間窑邦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工壕探, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冈钦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓李请,卻偏偏與公主長(zhǎng)得像瞧筛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子导盅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容