C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)_第1頁
C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)_第2頁
C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)_第3頁
C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)_第4頁
C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第C++代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)本文實(shí)例為大家分享了C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

編譯環(huán)境:

MicrosoftVisualStudio2025

3個(gè)頭文件:

Fileoperate.h

Interface.h

Student.h

4個(gè)源文件:

Fileoperate.cpp

Interface.cpp

Main.cpp

Student.cpp

Fileoperate.h

#ifndefSTUDENT_H

#defineSTUDENT_H

#includeiostream

#includestring

#includewindows.h

//調(diào)用API

usingnamespacestd;

classStudent

private:

int

No;

//序號(hào)

stringNum;

//學(xué)號(hào)

stringName;

//姓名

stringBirthday;

//出生日期

stringSex;

//性別

stringPolitical_appearance;

//政治面貌

stringPhone_number;

//手機(jī)號(hào)碼

stringAddress;

//家庭地址

public:

voidSetNo(inti)

{

No=i;}

//設(shè)置學(xué)號(hào)

voidSetinformation(string,string,string,string,string,string,string);

//修改函數(shù)

voidSetNum();

//修改學(xué)號(hào)

voidSetName()

{cinName;}

//修改姓名

voidSetBirthday();

//修改生日

voidSetSex()

{cinSex;}

//修改性別

voidSetPolitical_appearance()

{cinPolitical_appearance;}

//修改政治面貌

voidSetPhone_number();

//修改電話號(hào)碼

voidSetAddress()

{cinAddress;}

//修改家庭地址

voidNumshow(int,int);

//學(xué)號(hào)高亮顯示

voidAddressshow(int,int);

//家庭地址高亮顯示

voidShow();

//普通顯示

stringGetNum()

{returnNum;}

//獲取學(xué)號(hào)

stringGetName()

{returnName;}

//獲取姓名

stringGetBirthday(){returnBirthday;}

//獲取生日

stringGetSex()

{returnSex;}

//獲取性別

stringGetPolitical_appearance(){returnPolitical_appearance;}//獲取政治面貌

stringGetPhone_number()

{returnPhone_number;}

//獲取電話號(hào)碼

stringGetAddress()

{returnAddress;}

//獲取家庭地址

};

Interface.h

#includestring

#includeiostream

#includeWindows.h

//Sleep函數(shù),system

usingnamespacestd;

classInterface

public:

voidStartface();

//啟動(dòng)界面

voidLoadface();

//主界面

voidSubloadface();

//子界面

voidSubloadface2();

//子界面2

charInputcharface();

//提示導(dǎo)入文件界面

int

Operateface();

//操作輸入界面

int

Operateface2();

//操作輸入界面2

int

Addface();

//增加信息界面

int

Delface();

//刪除信息界面

int

Setface();

//修改信息界面

int

Searchface();

//搜索信息界面

voidSearch_afterface();

//搜索后信息顯示界面

voidMark();

//標(biāo)簽

};

Student.h

#ifndefSTUDENT_H

#defineSTUDENT_H

#includeiostream

#includestring

#includewindows.h

//調(diào)用API

usingnamespacestd;

classStudent

private:

int

No;

//序號(hào)

stringNum;

//學(xué)號(hào)

stringName;

//姓名

stringBirthday;

//出生日期

stringSex;

//性別

stringPolitical_appearance;

//政治面貌

stringPhone_number;

//手機(jī)號(hào)碼

stringAddress;

//家庭地址

public:

voidSetNo(inti)

{

No=i;}

//設(shè)置學(xué)號(hào)

voidSetinformation(string,string,string,string,string,string,string);

//修改函數(shù)

voidSetNum();

//修改學(xué)號(hào)

voidSetName()

{cinName;}

//修改姓名

voidSetBirthday();

//修改生日

voidSetSex()

{cinSex;}

//修改性別

voidSetPolitical_appearance()

{cinPolitical_appearance;}

//修改政治面貌

voidSetPhone_number();

//修改電話號(hào)碼

voidSetAddress()

{cinAddress;}

//修改家庭地址

voidNumshow(int,int);

//學(xué)號(hào)高亮顯示

voidAddressshow(int,int);

//家庭地址高亮顯示

voidShow();

//普通顯示

stringGetNum()

{returnNum;}

//獲取學(xué)號(hào)

stringGetName()

{returnName;}

//獲取姓名

stringGetBirthday(){returnBirthday;}

//獲取生日

stringGetSex()

{returnSex;}

//獲取性別

stringGetPolitical_appearance(){returnPolitical_appearance;}//獲取政治面貌

stringGetPhone_number()

{returnPhone_number;}

//獲取電話號(hào)碼

stringGetAddress()

{returnAddress;}

//獲取家庭地址

#endif

```cpp

Fileoperate.cpp

#include"Fileoperate.h"

intFileoperate::Judge()

if(file.fail())

{

return0;

}

else

{

return1;

}

voidFileoperate::open_in_file()

file.open(filename,ios::in);

if(!Judge())

{

exit(1);

}

voidFileoperate::open_out_file()

file.open(filename,ios::out);

if(!Judge())

{

exit(1);

}

intFileoperate::Filecin()

stringNum1;

//學(xué)號(hào)

stringName1;

//姓名

stringBirthday1;

//出生日期

stringSex1;

//性別

stringPolitical_appearance1;

//政治面貌

stringPhone_number1;

//手機(jī)號(hào)碼

stringAddress1;

//家庭地址

if(file.eof())

//文件結(jié)束,返回0

{

return0;

}

fileNum1Name1Birthday1Sex1Political_appearance1Phone_number1Address1;

stu.Setinformation(Num1,Name1,Birthday1,Sex1,Political_appearance1,Phone_number1,Address1);

return1;

intFileoperate::Filecout(Students)

files.GetNum()endl

s.GetName()endl

s.GetBirthday()endl

s.GetSex()endl

s.GetPolitical_appearance()endl

s.GetPhone_number()endl

s.GetAddress()endlendl;

return1;

voidFileoperate::Closefile()

file.close();

}

Interface.cpp

#includeiostream

#include"Interface.h"

usingnamespacestd;

voidInterface::Startface()

coutendlendlendlendlendlendlendlendlendlendlendl

endlendlendlendlendlendlendlendlendlendl;

cout"啟動(dòng)中...";

coutendl;

for(inti=0;ii++)

{

Sleep(8);

cout"

}

system("cls");

voidInterface::Loadface()

coutendlendl;

cout"

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

cout"

##################################################################"endl;

cout"

#

#"endl;

cout"

#

1.增加學(xué)生記錄

#

2.刪除學(xué)生記錄

#

3.修改學(xué)生記錄

#"endl;

cout"

#

4.找查學(xué)生記錄

#

5.顯示學(xué)生記錄

#

6.退出

#"endl;

cout"

#

#"endl;

cout"

##################################################################"endl;

coutendl;

voidInterface::Subloadface2()

coutendl;

cout"

=======================+++操-作-提-示+++===================="endl

"

|

1.增加學(xué)生記錄

|

6.退出

|"endl

"

=================================================================="endl;

coutendl;

voidInterface::Subloadface()

coutendlendl;

cout"

=======================+++操-作-提-示+++===================="endl

"

|

1.增加學(xué)生記錄

|

2.刪除學(xué)生記錄

|

3.修改學(xué)生記錄

|"endl

"

|

4.找查學(xué)生記錄

|

5.顯示學(xué)生記錄

|

6.退出

|"endl

"

=================================================================="endl;

coutendl;

charInterface::Inputcharface()

charop_char;

cout"需要導(dǎo)入文件嗎(Y/N):";

cinop_char;

returnop_char;

intInterface::Operateface()

stringop_num;

intflag,nflag=0;

do

{

flag=0;

if(nflag)

{

cout"超出范圍..Again:";

cinop_num;

}

else

{

cout"輸入你的操作:";

cinop_num;

}

if(op_num.length()!=1){flag++;nflag++;}

if(op_num[0]'6'||op_num[0]'0'){flag++;nflag++;}

}while(flag);

returnop_num[0]-'0';

intInterface::Operateface2()

stringop_num;

intflag,nflag=0;

do

{

flag=0;

if(nflag)

{

cout"超出范圍..Again:";

cinop_num;

}

else

{

cout"輸入你的操作:";

cinop_num;

}

if(op_num.length()!=1){flag++;nflag++;}

if(op_num[0]!='6'op_num[0]!='1'){flag++;nflag++;}

}while(flag);

returnop_num[0]-'0';

intInterface::Addface()

intnum;

cout"請(qǐng)輸入要添加學(xué)生的人數(shù)(若退出,輸入0):";

cinnum;

returnnum;

intInterface::Delface()

intno;

cout"請(qǐng)輸入注銷學(xué)生的序號(hào)(若退出,輸入0):";

cinno;

returnno;

intInterface::Setface()

intno;

cout"輸入要修改的學(xué)生序號(hào)(若退出,輸入0):";

cinno;

if(no)

{

cout"輸入你要改的學(xué)生的信息代號(hào)"endl

"(1.學(xué)號(hào),2.姓名,3.出生日期,4.性別,5.政治面貌,6手機(jī)號(hào)碼,7.家庭地址)"endl

"如果你要全部修改,則輸入0..."endl;

cout"代碼:";

}

returnno;

intInterface::Searchface()

intno;

cout"輸入搜索的類型"endl"1.學(xué)號(hào),2.姓名,3.性別,4.政治面貌,5.家庭地址"endl;

cout"類型(若退出,輸入0):";

cinno;

returnno;

voidInterface::Search_afterface()

//搜索結(jié)果

inti;

coutendl;

for(i=0;ii++)cout"~";

cout"搜索結(jié)果";

for(i=0;ii++)cout"~";

}

Student.cpp

#includeiostream

#includecstdlib

#includestring

#includealgorithm

//sort函數(shù)

#include"Interface.h"

//界面類

#include"Student.h"

//學(xué)生類

#include"Fileoperate.h"

//文本類

usingnamespacestd;

constintstudent_num=120+1;

//人數(shù)上限

intNo=1;

//序號(hào)

intTotal=0;

//總?cè)藬?shù)

Interfaceface;

//界面

FileoperateInfile;

//讀入文件類對(duì)象

FileoperateOutfile;

//讀出文件類對(duì)象

Studentstu[student_num];

//學(xué)生類對(duì)象數(shù)組

int

switchfun(int);

//功能函數(shù)選擇

voidAllshow();

//顯示所有學(xué)生信息

voidSearchshow(int[],int,int,int,int);

//顯示搜索信息

voidInFile();

//讀入文件函數(shù)

voidOutFile();

//讀出文件函數(shù)

intmain()

intop_num;

//操作序數(shù)

charop_char;

//選擇數(shù)

charop_char2;

//是否保存

face.Startface();

//啟動(dòng)界面

face.Loadface();

//登陸界面

intflag,nflag=0;

//輸入格式判斷標(biāo)記

do

{

flag=0;

if(nflag)cout"超出范圍...Again:"endl;

op_char=face.Inputcharface();

if(op_char!='Y'op_char!='y'op_char!='N'op_char!='n')

{

flag=1;

nflag=1;

}

}while(flag);

if(op_char=='Y'||op_char=='y')

//選擇是,讀入文件

{

InFile();

//讀入文件

charSub_op_char;

nflag=0;

do

{

flag=0;

cout"已成功導(dǎo)入,要顯示資料嗎(Y/N):";

cinSub_op_char;

if(Sub_op_char!='Y'Sub_op_char!='y'Sub_op_char!='N'Sub_op_char!='n')

{

flag=1;

}

}while(flag);

if(Sub_op_char=='Y'||Sub_op_char=='y')

//是否瀏覽已讀入文件的信息

{

Allshow();

//顯示所有信息

face.Subloadface();

}

else

{

if(Sub_op_char=='N'||Sub_op_char=='n')

coutendl;//不顯示信息

}

}

else

{

if(op_char=='N'||op_char=='n')

face.Subloadface2();

}

while(1)

//程序執(zhí)行過程

{

if(Total!=0)op_num=face.Operateface();

//獲取操作數(shù)

elseop_num=face.Operateface2();

//獲取操作數(shù)

if(op_num==6)break;

//輸入6,跳出

switchfun(op_num);

//功能選擇

if(Total!=0)face.Subloadface();

else

{

coutendl;

cout"學(xué)生數(shù)為零!";

face.Subloadface2();

}

}

cout"要保存數(shù)據(jù)嗎(Y/N):";

cinop_char2;

if(op_char2=='Y'||op_char2=='y')

{

coutendl"已保存!"endl;

OutFile();

//讀出文件

}

system("pause");

return0;

intswitchfun(intop_num)

inti;

intnum;

//添加界面操作數(shù)

stringNum1;

//學(xué)號(hào)

stringName1;

//姓名

stringBirthday1;

//出生日期

stringSex1;

//性別

stringPolitical_appearance1;

//政治面貌

stringPhone_number1;

//手機(jī)號(hào)碼

stringAddress1;

if(op_num==1)

{

num=face.Addface();

//獲取添加界面操作數(shù)

if(num==0){cout"已退出,任意鍵繼續(xù)...";getchar();getchar();return0;}

for(i=0;ii++)

{

cout"輸入第"i+1"個(gè)學(xué)生信息:\n";

coutendl;

cout"學(xué)號(hào):";

cinNum1;

cout"姓名:";

cinName1;

cout"出生日期:";

cinBirthday1;

cout"性別:";

cinSex1;

cout"政治面貌:";

cinPolitical_appearance1;

cout"手機(jī)號(hào)碼:";

cinPhone_number1;

cout"家庭地址:";

cinAddress1;

coutendl;

Total++;

stu[Total-1].SetNo(Total);

//設(shè)置序號(hào)

stu[Total-1].Setinformation(Num1,Name1,Birthday1,Sex1,Political_appearance1,

Phone_number1,Address1);

}

if(i==num)cout"添加完成!"endl;

}

elseif(op_num==2)

{

intno;

//刪除界面操作數(shù)

no=face.Delface();

//獲取刪除界面操作數(shù)

if(no==0){cout"已退出,任意鍵繼續(xù)...";getchar();getchar();return0;}

for(i=no;iTotal;i++){stu[i].SetNo(i);stu[i-1]=stu[i];}

coutendl"刪除該學(xué)生信息成功!"endl;

cout"任意鍵繼續(xù)...";

getchar();getchar();

Total--;

}

elseif(op_num==3)

{

intno;

charinfo[128];

inta[14];

intk=0;

intflag=0;

no=face.Setface();

//獲取修改界面操作數(shù)

if(no==0){cout"已退出,按任意鍵繼續(xù)...";getchar();getchar();return0;}

getchar();

gets_s(info);

intl=strlen(info);

i=0;

while(il)

//字符輸入標(biāo)準(zhǔn)化

{

if(info[i]='0'info[i]='9')a[k++]=info[i]-'0';

if(a[k-1]==0){flag=1;break;}

i++;

}

sort(a,a+k);

//排序

if(flag)

//如果輸入零,修改全部信息

{

cout"學(xué)號(hào):";

cinNum1;

cout"姓名:";

cinName1;

cout"出生日期:";

cinBirthday1;

cout"性別:";

cinSex1;

cout"政治面貌:";

cinPolitical_appearance1;

cout"手機(jī)號(hào)碼:";

cinPhone_number1;

cout"家庭地址:";

cinAddress1;

coutendl;

stu[no-1].Setinformation(Num1,Name1,Birthday1,Sex1,Political_appearance1,Phone_number1,Address1);

}

else

{

for(i=0;ii++)

{

switch(a[i])

//修改部分信息

{

case1:

{

cout"輸入學(xué)號(hào):";

stu[no-1].SetNum();

break;

}

case2:

{

cout"輸入姓名:";

stu[no-1].SetName();

break;

}

case3:

{

cout"輸入出生日期:";

stu[no-1].SetBirthday();

break;

}

case4:

{

cout"輸入性別:";

stu[no-1].SetSex();

break;

}

case5:

{

cout"輸入政治面貌:";

stu[no-1].SetPolitical_appearance();

break;

}

case6:

{

cout"輸入手機(jī)號(hào)碼:";

stu[no-1].SetPhone_number();

break;

}

case7:

{

cout"輸入家庭地址:";

stu[no-1].SetAddress();

break;

}

}

}

}

coutendlendl"已完成,修改后:"endl;

//輸出修改后信息

for(i=0;ii++)cout"-";

stu[no-1].Show();

for(i=0;ii++)cout"-";coutendl;

cout"按任意鍵繼續(xù)...";

getchar();getchar();

}

elseif(op_num==4)

{

intno;

intBegin,End;

//開始,結(jié)束位置

intnum=0;

//符合搜索條件的人數(shù)

stringSs;

//臨時(shí)對(duì)象

no=face.Searchface();

//獲取搜索界面操作數(shù)

if(no==0){cout"已退出,按任意鍵繼續(xù)...";getchar();getchar();return0;}

intflag=0;

switch(no)

{

case1:

//按學(xué)號(hào)搜索

{

cout"輸入關(guān)鍵字:";

cinNum1;

for(i=0;iTotal;i++)

{

Ss=stu[i].GetNum();

Begin=Ss.find(Num1,0);

if(Begin!=string::npos)

{

End=Num1.length()+Begin;

flag++;

if(flag==1)face.Search_afterface();

stu[i].Numshow(Begin,End);

num++;

}

}

if(!flag)cout"沒此相關(guān)信息!"endl;

else

{

coutendl"共有"num"條相關(guān)信息!"endl;

num=0;

for(i=0;ii++)cout"~";

}

break;

}

case2:

//按名字搜索

{

cout"輸入關(guān)鍵字:";

cinName1;

for(i=0;iTotal;i++)

{

Ss=stu[i].GetName();

Begin=Ss.find(Name1,0);

if(Begin!=string::npos)

{

flag++;

if(flag==1)face.Search_afterface();

stu[i].Show();

num++;

}

}

if(!flag)cout"沒此相關(guān)信息!"endl;

else

{

coutendl"共有"num"條相關(guān)信息!"endl;

num=0;

for(i=0;ii++)cout"~";

}

break;

}

case3:

//按性別搜索

{

cout"輸入關(guān)鍵字:";

cinSex1;

for(i=0;iTotal;i++)

{

Ss=stu[i].GetSex();

Begin=Ss.find(Sex1,0);

if(Begin!=string::npos)

{

flag++;

if(flag==1)face.Search_afterface();

stu[i].Show();

num++;

}

}

if(!flag)cout"沒此相關(guān)信息!"endl;

else

{

coutendl"共有"num"條相關(guān)信息!"endl;

num=0;

for(i=0;ii++)cout"~";

}

break;

}

case4:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論