資源簡(jiǎn)介
該課設(shè)具是以c++語言來編寫的作業(yè)管理系統(tǒng)。能查看學(xué)生作業(yè)信息

代碼片段和文件信息
#?include?
#?include?
#?include?
using?namespace?std;
struct?SCORE???????????????//定義存放學(xué)生成績(jī)信息的結(jié)點(diǎn)
{
????int?num;???????????????//作業(yè)編號(hào)
string?content;???????????//作業(yè)內(nèi)容
string?name;????????????//姓名
int?id;?????????//學(xué)號(hào)
float?score;????????//就算計(jì)基礎(chǔ)成績(jī)
float?scoresum;????????//總成績(jī)
struct?SCORE?*?next;???//next為指向下一結(jié)點(diǎn)的指針
};
struct?SCORE?*?head;???????//指向鏈表頭結(jié)點(diǎn)的指針
int?studentSum=0;??????????//學(xué)生總?cè)藬?shù)
class?record
{
public:
????struct?SCORE?*?InsertRecord(struct?SCORE?*?h);????????//增加學(xué)生成績(jī)信息
struct?SCORE?*?DeleteRecord(struct?SCORE?*?h);????????//刪除學(xué)生成績(jī)信息
struct?SCORE?*?UpdateRecord(struct?SCORE?*?h);????????//修改學(xué)生成績(jī)信息
????void?FindRecord(struct?SCORE?*?hint?xfloat?s1float?s2);????//根據(jù)作業(yè)分?jǐn)?shù)分?jǐn)?shù)段查詢學(xué)生成績(jī)信息
void?FindRecord(struct?SCORE?*?hstring?x);???????????//根據(jù)學(xué)生姓名查詢成績(jī)信息
void?FindRecord(struct?SCORE?*?hint?x);??????????????//根據(jù)學(xué)生學(xué)號(hào)查詢成績(jī)信息
void?FindRecord(struct?SCORE?*?hint?ffloat?x);??????????????//根據(jù)作業(yè)編號(hào)查詢成績(jī)信息
void?PrintRecord(struct?SCORE?*?h);???????????????????//輸出所有學(xué)生成績(jī)信息
void?SaveRecordFile(struct?SCORE?*?h);????????????????//保存學(xué)生成績(jī)信息到文件
struct?SCORE?*?LoadRecordFile(struct?SCORE?*?h);??????//從文件中加載學(xué)生成績(jī)信息
};
struct?SCORE?*?record::InsertRecord(struct?SCORE?*?h)
{
????struct?SCORE?*?p1*p2*p3;????????????????//定義指針變量p1、p2、p3
p3=new?SCORE;?????????????????????????????//創(chuàng)建新的學(xué)生成績(jī)結(jié)點(diǎn)
cout<<“\n請(qǐng)輸入學(xué)生學(xué)號(hào):“;
cin>>p3->id;?????????????????????????????//從鍵盤接收輸入數(shù)賦值給結(jié)點(diǎn)的學(xué)號(hào)
cout<<“\n請(qǐng)輸入學(xué)生姓名:“;
cin>>p3->name;????????????????????????????//從鍵盤接收輸入數(shù)賦值給結(jié)點(diǎn)的姓名
cout<<“\n請(qǐng)輸入作業(yè)編號(hào):“;
cin>>p3->num;????????????????????????????//從鍵盤接收輸入數(shù)賦值給結(jié)點(diǎn)的數(shù)學(xué)成績(jī)
cout<<“\n請(qǐng)輸入學(xué)生作業(yè)內(nèi)容:“;
cin>>p3->content;?????????????????????????//從鍵盤接收輸入數(shù)賦值給結(jié)點(diǎn)的英語成績(jī)
cout<<“\n請(qǐng)輸入學(xué)生的作業(yè)分?jǐn)?shù):“;
cin>>p3->score;????????????????????????//從鍵盤接收輸入數(shù)賦值給結(jié)點(diǎn)的計(jì)算機(jī)成績(jī)
p3->next=NULL;????????????????????????????//將要插入結(jié)點(diǎn)的指針域設(shè)置為空
if(h==NULL)???????????????????????????????//當(dāng)鏈表中沒有結(jié)點(diǎn)時(shí),將要加入的結(jié)點(diǎn)作為頭結(jié)點(diǎn)
{
????????h=p3;
return?h;
}
p1=p2=h;
while(p1!=NULL)??????????//查找結(jié)點(diǎn)的學(xué)號(hào)大于要插入結(jié)點(diǎn)學(xué)號(hào)的第一個(gè)結(jié)點(diǎn)
??????????????????????????????????????//指針p1表示符合條件的結(jié)點(diǎn)的指針,指針p2是指針p1的前一個(gè)結(jié)點(diǎn)指針
{
p2=p1;
p1=p1->next;?
}
if(p1==h)?????????????????????????????????//插入位置為頭結(jié)點(diǎn)前
{
p3->next=p3;
h=p3;
return?h;
}
else??????????????????????????????????????//插入位置為鏈表中間和鏈表尾部
{
p2->next=p3;
p3->next=p1;
}
studentSum+=1;????????????????????????????//學(xué)生人數(shù)加1
return?h;????}
void?record::PrintRecord(SCORE?*?h)
{
????if(h==NULL)
{
cout<<“\n抱歉,沒有任何記錄!\n“;
return;
}
cout<<“\n學(xué)號(hào)\t姓名\t作業(yè)編號(hào)\t作業(yè)內(nèi)容\t作業(yè)分?jǐn)?shù)“< while(h)??????????????????????????????????//輸出鏈表中每個(gè)結(jié)點(diǎn)的學(xué)生成績(jī)信息
{
cout<id<<“\t“<name<<“\t“<num<<“\t“<content<<“\t“<score<<“\t“< h=h->next;
}
}
struct?SCORE?*?record::DeleteRecord(struct?SCORE?*?h)
{
????struct?SCORE?*?p1*?p2;
int?id;
if(h==NULL)??????????????????????????????????//鏈表為空
{
cout<<“\n抱歉,沒有任何記錄!“;
return?h;
}
p1=p2=h;?????????????????????????????????????//將鏈表
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????12333??2019-03-05?13:45??作業(yè)管理\ss.cpp
?????目錄???????????0??2019-03-31?16:19??作業(yè)管理\
- 上一篇:帶蹩馬腿功能的馬踏棋盤
- 下一篇:SLE4442驅(qū)動(dòng)源碼
評(píng)論
共有 條評(píng)論