文档介绍:该【面向对象课程设计报告 】是由【cjl201702】上传分享,文档一共【28】页,该文档可以免费在线阅读,需要了解更多关于【面向对象课程设计报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
_______________
!"#$%&'()$*+
,-________________________
./0120222113150
40120222123280:.
1.678
9:;<=>?***@ABC9D4E
F
GHI7BJK 7LMNDOPQ/RSTUVC++YZ7[\]^_`;
[\UV
7bc^def`ghij7[\]^_`Cklmn
7
]Copqrstukl<v]7wxO
2.6
1z{|}~
2zr
3zr
4zr
5z
6z
7z
8z\u7<
9z
10z{|
3.PQ8
1z68 ¡¢10j£7¤¥¦1§¨©
ª7O«¬­®¯°O
± 
ª74¢.²P³8´4µQ¶·8¸¹
67º»f¼`µQ½zf¾¿¾À7PQOÁ4
ÂÃ8¸¹¼`¶·f¼`ÄÅƶ¼`Ä
ÅzOÇ4ÈÃ8¸¹¥}µQ¶·f¥}ÉÊËÌE
ÎRzf¥}ÐÑËÌfÒÓJfÔ Õ¼`ÄÅ<OÖ
×Ø8×ØÙÚ7²P]CuÛYeÜÝÞßàCáâ9ãIÐÑ]ß
à^×äOåæiçèÞuÃé8çèêëæiìuí7CÈÃîÀ
Bï7ð³ïñOòóôõö÷øz:.
ùúÐûüý4þÿA4
4
!"#$%&'()*:.
+17./01830066-12300
/09830066-12300
/0:830066-12300
+18./018300-----12300
/0914330---18330
/0<830066-12300
6
1
=>3
?***@ABCDEF
9
>(GHI3
1>(3
1
HI?***@JKLMNOC++RS(******@VWXYZ
2
TUNO[\](TU^_W`aZ
3
Ybcde@(******@VWXYfghi([\]V=
2TUHI3
1
HIcd[\](`ajkC++(l^mnoAEF(Z
2
HIp(qrstuv(wxyZ
3
pEFrz{H|}:"w!"wrH~&(*W`aZ
4
pEF(rz{HdK[\](1
3
HI3
pTUHIJK
B(Y
4
<
`aWTUD3
1V=YHI
:
1"~d(?***@ABCD~ ¡W¢£Y¤¥Yb
¦§¨|©ªk«"©ª¬A1"©ª­o®¯dwn°%±²$%[\
](³´
HI3
°%µHY3st©ª©ª(¶W·¸¢£¹º¹ºj»¼ :.
¡¢£§½¾¹º¿jÀ§¶Á
(¹º
2V=(fg`Â3
EFYHIjV=fg²ÃjÄÅÆ3
1
#dEF²ÇstÈEF(YÉÊËÌjkÍ[(¬ÎW;
2
²ÇEFr("°$k­ÐÑÒ(ÓEÔÕ*WÃZ
3
V=EF(wxyZ
4
oAwxyr"w(ÔÕ*W`a
Z
5
oAwr"A×ØÙ(|}Z
6
oAEF(#dÉÊZ
7
YÛÜZ
8
oAEFÝjkEF¯d:.
ÞI²Ç.....................................................0
2.Ý$.........................................................0
3.$..........................................................1
ÛÜ.........................................................4
5.B²Ç.........................................................7
6.Ý...............................................................7
7.àá.........................................................8:.
1.
(>(Gâ}3
%p(@ã?@Ùäå«æ(çÜ¿èåéêëìÞH1"?***@ABCD
EFn\?@(ABCD
YÞI3
UEF~:"wScorewSubjectwStudentwClasswí?@("
îïçÜð>kABîï~?***@ABîïºñ?***@ABîï?***@ABîï
·¸?***@ABî?***@ABîïjkÙÀ©ªòY
2.!"
Y²Ç::.
EFóqÛdØÙn°%?***@ABîïºñ?***@ABîï?***@ABîï¢
£?***@ABîïjkÙÀ©ªòYInsert()ØÙdôºñ?***@ABk
îïZUpdatel()ØÙdn?***@ABkîïZShowØÙdô·¸®õö~(
¹ºZDelete()ØÙdn¢£?***@ABkîïZSearchi()kSearch2()ØÙdn
kîïZSaveØÙdô÷ñ(îïñ©ªøZµØÙmaindôÛdù
úØÙ
YÉÊû²G3
UEF|}üScorewSubjectwStudentwjkClasswù:"w|}ü
Insert()Updatel()Show()Save()Delete()Searchi()kSearch2()
òØÙn°%EFeÞY
YÉÊÌ3
?***@ABCDEF
同同显纪
学学??录退
示
成成@@存出
全
果果AA入系
部
查录BB纪文统
询入¢录件
£
保退
存出
胜胜
利利
3.$
²Ùw(3
Èw|}ü1"ÿ
:.
Score
-scoreint
+Score(sint=0)
+setl()void
+showl()
-
4
53
67Score33
6789:12;<
=>?@
_____________Subject_______________
-subject[20]char
-scScore________________________
+Subject()
+set2()void
+show2()void
-
4
53
67Subject33: 6789:6789 K7L
MN
=>?@
Student
-name[20]char
-numint
-Schar
-nint
-pl[8]Subject
+Student()
+set3()void
+show3()void
+getNUl()int
-
4
53
67Student33W89:WLN
=>?@
X
Class
-name[20]char
-num2int
+Class()
+getNU():int:.
-
\73]^_`:
Student
-name[20]char
-numint
-Schar
-nint
+Student()
+set3()void
+show3()void
+getNUl()int
+getNAl()char*
v:.
4.^cde
jklm6nop
1Wqrst qos3uv?wxy z{qrt|}~
2W6mqr
8t >opv?pu f
switchdefault:cout<<"op M
degh:.
m
#$%
&'(
)*+,-:“生成绩查询
aZ
bZ生成绩录入
cZ生成绩删除
d子成绩修改
生
e显全部记录
示^入文件
f记
退雷统
nono
IJ? r
01&'23:
-佳该生所在T鳏
也该班卷号1
用A-瞿
清善生学名2
号1
用A-小-小该性
本生^
嗝每门课:m
请的
住科目名^
11
用:
gA-
在.]入分数
用A-
.JA:
80
I1A^
IJ?¡¢
678*+
3:;<=
2>?@:;<=
%1&B:;2'23
CD:EFC3i00i?@:GHIJ:m3i
C++80
IJ?:.
CD:EFC31001?@:GHIJK32
C++90
IJ?£¤
61&BLM2'2?@:
JP---
N&BLM2'23:
I,D主该生所在flflT
I,主班需号1
雇该
I,主I1A-生学名??
闫I1A^-该J
l,主生号2
用性
主每生
-门课:M的
,.-
I月I)^A:科目名
,主:
I月
+
C+主输入分数
W-W-.
,
¥ r¦§
笺生成绩查询
a
b文生成绩录人
幸生成绩删除
c
d生成绩修改
显
示全部记录
e记
f4入文件
退^统
aaaa^
STUV,?
IJ?¨©
生成绩查询
a
b生成绩录入
生成绩删除
c
d于生成绩修改
显示全部记录
e
f记拿入文件
退水统
9
61&
XYZ2'23::.
5.[
hª«
4¬73 ­®¯°3}± f
4ghi ²³´µ¶
·3¸¹ º»m°°¼½¾MNC++¿hÀÁÂ?^c
4 ÃÄ
¦§ÅIJ?ÆÇW¦§iÈÉIJ?ÆÇW£¤ÆÇW¡¢ÆÇW¨©Æ
Ǧ§iÅÆÇX}±ÊËm ÌÍÎÏhªÐÑ ÒÓÔ,
Ö×jkopØÙÚÛ£¤
6.![
ÜÝ ÞÄ
4¯2ßà f°á¯2âãätå æçè67Øé}ê:.
ë ìÏí67hªîï|}67°¯2}±>67
ðmäñ¹ 5
òóhªô¾õ¯ 67öô¾Ï67öhª÷ø ºùô67hªú
K7ûü®
ýþ>nÿ
C++
!"#$%&'()*+
,-./012 345.
16&78#9:;
<$%()=>?@"!A
"#$%()2BCDE
0FGH.
IJKLDM#-NOPNO$QRSTUV
WXYZ[\]^_`aJKb:;c>defgWXhi4:;
jklmCnopqrst?uv"#@wxyz{|}>~de
.
X>QRST
x_b:;,
rg$4:;jklmv8bRh{<R
Nn
!NOx$DM<uv &¡¢opq@£¤
&¥¦x§¨©ª«¬­
§¨©ª«> @®8
¯QRST°>±²³v<g´µSTR>
¶·¸¹
º3C++>
¶fgRST#R»¼<´µ½¾
¶¿ÀQR8
¶@Á$ÂÃ&ÄÅÆǶ·´µ
&'$%()ÈÉÊ
}Ë[
ÌÍÎ>Ï¥Ð
ÑÒÓÔ
ÕÖ×ÈgË[3Ø
ÙÚÛÜÝ¡>ÝÞßg{ Ø Ø
àáÌ͸t?.â-ãäåD»¼<´µæ
@ç
¸èÐé
QRSTêëgìí¯`a4îï°ð
Ùñn¬ò&óéD°ðuôñõ
7.\]^_
#include<iostream>
#include<fstream>:.
#include<string>
usingnamespacestd;
intM=100;
staticintM2=0;
classScore{
private:
intscore;
public:
Score(ints=0){
score=s;
}
voidsetl0{
cout<<&'(:z/<<endl;
cin>>score;
voidshowl(){
cout<<zz:/z<<score-endl;
)
}.
classSubject{01
private:
Scoresc;
charsubject[20];
public:
Subject(){
for(inti=0;i<20;i++)
subject[i]=0;
J
voidset2(){
cout-&'(01567<<endl;:.
cin>>subject;
();
)
voidshow2(){
cout<<subject;
();
)
).
classStudent{9:
private:
Subjectpl[8];
charname[20];
intnum;
charS;
intn;
public:
Student(){
for(inti=0;i<20;i++)
name[i]=0;
num=0;
S=0;
)
voidset3();
voidshow3();
intgetNUl(){returnnum;}
char*getNAl(){returnname;}
:.
voidStudent::show3(){9:BCD
inti;
cout<EF5:GH:II-S<<II\t:K:Iz-num-endl;
for(i=0;i<8;i++)
pl[i].show2();
voidStudent::set3(){9:LMD
inti;
cout<<&'(9:F57.
cin>>name;
cout-&'(NO:K:.
cin>>num;
cout<E&'(NOGH:.
cin>>S;
cout*&'(PQRST5UV.<<endl;
for(i=0;i<8;i++)
pl[i].set2();
classClass{XY
private:
Studentstu;
charname2[20];
intnum2;
public:
Class(){
for(inti=0;i<20;i++):.
name2[i]=0;
num2=0;
)
intgetNU0{();}
stringgetNAO{();}
voidset4(){
coutG&'(NO]^XY56:.
cin>>name2;
cout<<&'(NXXK:;
cin>>num2;
();
)
voidshow4(){
cout<EXY:/z<<name2-/z\tXK:\t/z<<num2;
();
friendvoidSearchi(Classcl[],intcountl);
friendvoidSearch2(Classc2[],intcount2);
friendvoidUpdatel(Classc3[],intcount_d);
friendvoidDelete(Classc4[],int*count_c);
friendvoidInsert(Classc5[],int&count_a);
}b[100];
voidSave(Classc6[],intcount)fgh(ijD
fstreamfile(Iios::out|ios::binary);
if(!file)
cout-/<<endl;:.
abort();
for(inti=0;i<count;i++)
file,write(reinterpret_cast<char*>(&c6[i]),sizeof(c6[i]));
;
voidShow(Classc7[])BCfgD
inti=0;
for(i=0;c7Li].getNU()!=0;i++)
c7[i].show4();
voidInsert(Classc5[],int&count_a)pqg(D
(
inti,in_number,n=0;
if(count_a==M)
cout*rstuv;
return;
cout-&'(9:T:K7wendl;
cinxin_number;:.
for(i=0;i<count_a;i++)
if(c5[i].getNU()==in_number)
cout<<tyz9T:K,&{|'(!<<endl;
break;
)
}while(c5[i].getNU()==in_number);
if(in_number<l)
cout~'(I&{|'(T!zI-endl;
}while(in_number<=0);
i=count_a;
c5[i].set4();
count_a++;
cout<<endl-endl;n=n+l;
if(n!=0)
cout<<9:
g(v<<endl;
voidSearchi(Classcl[],intcountl):KpqD
(
inti,number,flag=l,n=0;
cout-&'(]T9:T:K7ECendl;
do
(
cin>>number;
if(number<=0)
cout<X'(I&{|'(T!zI-endl;
}while(number<=0);:.
for(i=0;i<countl&&flag;i++)
if(cl[i].getNU()==number)
(
cl[i].show4();
flag=0;n=n+l;
)
if(n==0)
cout-yN9:T!<<endl;
voidSearch2(Classc2[],intcount2)F5pqD
I
inti,n=0;
charnam[20];
cout-&'(]T9:TF57Hendl;
cin>>nam;
for(i=0;i<count2;i++)
if(c2[i].getNA()==nam)
(
c2[i].show4();
n=n+l;
)
if(n==0)
cout~yN9:T!wendl;
voidUpdatel(Classc3[],intcount_d)pqLMD
]
inti,n=0,flag=l,m;
charnam[20];:.
cout~''&'(]LMT9:TF57"<<endl;
cin>>nam;
for(i=0;i<count_d&&flag;i++)
(
if(c3[i].getNA()==nam)
(
cout~"&'(]LMT9:T:K:"<<endl;
cinxm;
for(i=0;i<count_d&&flag;i++)
{
if(c3[i].getNU()==m)
(
c3[i].set4();
flag=0;n=n+l;
)
)
)
break;
)
if(n!=0)
cout<<”LMv"EVendl;
if(n==0)
cout~”yN9:T!”<Eendl;
)
voidDelete(Classc4[])pqD
(
fstreamfile("class,dat”,ios_base::in|ios_base::out|ios_base::binary);
inti=0;
for(i=0;i<100;i++):.
(reinterpret_cast<char*>(&b[i]),sizeof(b[i]));
for(i=0;b[i].getNUO!=0;i++)
M2i;
Classc9;
intn=0,number,flag=l;
cout<<&'(T9:T:K7“endl;
cinxnumber;
for(i=0;i<M2&&flag;i++)
(
if(c4[i].getNU()==number)
(
ford;i<M2&&flag;i++)
c4[i]=c4[i+l];
flag=0;
(M2) ;n=l;
Save(b,M2);
break;
)
)
if(n==0)
cout<<y¡¢T!wendl;
if(n!=0)
cout<<vwendl;
intmain()
charal;:.
fstreamfile("Iios_base::in|ios_base::out|ios_base::binary);
cout<X\t\t**************£¤(9:
¥¦§¨
**************EEendlEEendl;
do
(
cout<E&©ª«¬7<<endl;
cout-zI\t\t\:
<<endl;
cout-zI\t\t\:
g(<<endl;
cout-zI\t\t\:
"<<endl;
cout-z/\t\t\:
LM<<endl;
cout-zz\t\t\­®fg<<endl;
cout-?I\t\t\(ij”<<endl;
cout-/z\t\t\tg.°±§¨“<<endl;
inti=0;
for(i=0;i<100;i++)
(
(reinterpret_cast<char*>(&b[i]),sizeof(b[i]));
}
for(i=0;b[i].getNU()!=0;i++)
x
M2=i;
cin>>al;
switch(al)
(
case'a':
(
coutE<"\t\t\t&²³©ª://-endl;
cout<<I/\t\t\t\tl.:Kpq"<<endl;
coutEE”\t\t\t\t2.F5pq<<endl;
intx;
cinxx;:.
switch(x)
case1:Search1(b,M2);break;
case2:Search2(b,M2);break;
default:coutµE©ªI&{|©ª!IIµµendl;
)
)
break;
caseµbI:Insert(b,M2);break;
case'c':
¶
file,close();
Delete(b);
}break;
case'd':Update1(b,M2);break;
case'e':Show(b);break;
case'f’:
(
file,close();
Save(b,M2);
cout~