版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 充填回收工安全規(guī)程競(jìng)賽考核試卷含答案
- 硅油及乳液生產(chǎn)工安全應(yīng)急強(qiáng)化考核試卷含答案
- 油脂及脂肪酸加氫操作工安全理論評(píng)優(yōu)考核試卷含答案
- 玻璃制品機(jī)械成型工班組考核強(qiáng)化考核試卷含答案
- 中藥灸熨劑工崗前安全知識(shí)競(jìng)賽考核試卷含答案
- 薄膜電阻器制造工崗前技術(shù)規(guī)范考核試卷含答案
- 九年級(jí)開學(xué)第一課主題班會(huì)課件
- 安全文明施工保證措施
- 交通應(yīng)急預(yù)案制定與演練制度
- 吊車保險(xiǎn)培訓(xùn)課件大全
- 化工工藝安全管理與操作手冊(cè)
- 規(guī)范外匯交易管理制度
- 2026年美麗中國全國國家版圖知識(shí)競(jìng)賽考試題庫(含答案)
- 高考英語讀后續(xù)寫技巧總結(jié)
- 2025年下半年河南鄭州市住房保障和房地產(chǎn)管理局招聘22名派遣制工作人員重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 維修事故協(xié)議書
- 2025ESC+EAS血脂管理指南要點(diǎn)解讀課件
- 2025至2030外周靜脈血栓切除裝置行業(yè)調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 矛盾糾紛排查化解課件
- 2026年人力資源共享服務(wù)中心建設(shè)方案
- JJG(交通) 141-2017 瀝青路面無核密度儀
評(píng)論
0/150
提交評(píng)論