版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Chapter10
DEFININGCLASSESANDABSTRACTDATATYPES
1.SolutionsforandRemarksonSelectedProgrammingProblems
ThischaptercanbedoneafterChapter7,Arrays.However,Ihavenotusedanythingfrom
thatchapterinthesesolutions.Severalofthesesolutionscouldbesimplifiedingood
measureifarrayswereusedinsteadoftheextensiveswitchandnestedifelsestatements.
1.Classgradingprogram
Ihaveputstatementsofprogrammingstrategyandoftheproblemintheprogramcomments.
//chiOPrgl.cpp
#include<iostream>
usingnamespacestd;
constintCLASS_SIZE=5;
//Theproblemsaysthisisforaclass,ratherthanonestudent.One
//programmingstratagemistodealwithasinglestudent,thenextend
//totreatanarrayofNstudents.
//GradingProgram
//Policies:
//
//Twoquizzes,10pointseach
//midtermandfinalexam,100pointseach
//Ofgrade,finalcounts50%,midterm25%,quizes25%
//
//LetterGradeisassigned:
//90ormoreA
//80ormoreB
//70ormoreC
//60ormoreD
//lessthan60,F
1
Copyright?2007PearsonEducation,Inc.PublishingasPearsonAddison-Wesley
//
//Readastudent1sscores,
//outputrecord:scores+numericaverage+assignedlettergrade
//
//Useastructtocontainstudentrecord.
structStudentRecord
(
intstudentNumber;
doublequizl;
doublequiz2;
doublemidterm;
doublefinal;
doubleaverage;
chargrade;
);
voidinput(StudentRecord&student);
//promptsforinputforonestudentfsetsthe
//structurevariablemembers.
voidcomputeGrade(StudentRecordsstudent);
//calculatesthenumericaverageandlettergrade.
voidoutput(constStudentRecordstudent);
//outputsthestudentrecord.
intmain()
(
StudentRecordstudent[CLASS_SIZE];
for(inti=0;i<CLASSESIZE;i++)
input(student[i]);
//EnclosingblockfixesVC++nfornloopcontroldefinedoutsideloop
{for(inti=0;i<CLASS_SIZE;i++)
computeGrade(student[i]);
output(student[i]);
cout<<endl;
}
}
return0;
)
voidinput(StudentRecord&student)
(
cout<<**enterthestudentnumber:n;
cin>>student.studentNumber;
cout<<student.studentNumber<<endl;
cout<<"entertwo10pointquizesM<<endl;
cin>>student.quizl>>student.quiz2;
cout<<student.quizl<<""<<student.quiz2<<endl;
cout<<"enterthemidtermandfinalexamgrades.n
<<"Theseare100pointtests\n',;
cin>>student.midterm>>student.final;
cout<<student.midterm<<""<<student.final
<<endl<<endl;
)
voidcomputeGrade(StudentRecord&student)
{
//Ofgrade,finalcounts50%,midterm25%,quizes25%
doublequizAvg=(student.quizl+student.quiz2)/2.0;
doublequizAvgNormalized=quizAvg*10;
student.average=student.final*0.5+
student.midterm*0.25+
quizAvgNormalized*0.25;
charletterGrade[]=,,FFFFFFDCBAAn;
intindex=static_cast<int>(student.average/10);
if(index<0||10<=index)
cout<<"Badnumericgradeencountered:"
<<student.average<<endl
<<"Aborting.\nn;
abort();
)
student.grade=letterGrade[index];
)
voidoutput(constStudentRecordstudent)
(
cout<<"Therecordforstudentnumber:"
<<student.studentNumber<<endl
<<"Thequizgradesare:“
<<student.quizl<<****<<student.quiz2
<<endl
<<"Themidtermandexamgradesare:"
<<student.midterm<<**"<<student.final
<<endl
<<"Thenumericaverageis:"<<student.average
<<endl
<<"andthelettergradeassignedis”
<<student.grade
<<endl;
)
Dataforthetestrun:
17109095
2989080
3787080
4585070
5404035
Commandlinecommandtoexecutethetextrun:
chlOprgl<data
Output:
enterthestudentnumber:1
entertwo10pointquizes
710
enterthemidtermandfinalexamgrades.Theseare100pointtests
9095
enterthestudentnumber:2
entertwo10pointquizes
98
enterthemidtermandfinalexamgrades.Theseare100pointtests
9080
enterthestudentnumber:3
entertwo10pointquizes
78
enterthemidtermandfinalexamgrades.Theseare100pointtests
7080
enterthestudentnumber:4
entertwo10pointquizes
58
enterthemidtermandfinalexamgrades.Theseare100pointtests
5070
enterthestudentnumber:5
entertwo10pointquizes
40
enterthemidtermandfinalexamgrades.Theseare100pointtests
4035
Therecordforstudentnumber:1
Thequizgradesare:710
Themidtermandexamgradesare:9095
Thenumericaverageis:91.25
andthelettergradeassignedisA
Therecordforstudentnumber:2
Thequizgradesare:98
Themidtermandexamgradesare:9080
Thenumericaverageis:83.75
andthelettergradeassignedisB
Therecordforstudentnumber:3
Thequizgradesare:78
Themidtermandexamgradesare:7080
Thenumericaverageis:76.25
andthelettergradeassignedisC
Therecordforstudentnumber:4
Thequizgradesare:58
Themidtermandexamgradesare:5070
Thenumericaverageis:63.75
andthelettergradeassignedisD
Therecordforstudentnumber:5
Thequizgradesare:40
Themidtermandexamgradesare:4035
Thenumericaverageis:32.5
andthelettergradeassignedisF
2.RedefineCDAccountfromDisplay10.1tobeaclassratherthanstruct.
Usethesamevariables,makethemprivate.
Addmemberfunctions:
toreturninitialbalance
toreturnbalanceatmaturity
toreturninterestrate
toreturntheterm
defaultconstructor
constructortosetspecifiedvalues
inputfunction(istream&);
outputfunction(ostream&);
Embedinatestprogram
ThecodeinDisplay10.1makesthebehavioroftherequiredfunctionsclear.
Noteoncapitalizationschemes:Iuseaslightlydifferentcapitalizationschemethanthe
author.Youshouldmakeyourconventionscleartothestudent.Anycapitalizationthat
producesreadablecodeisacceptabletothisauthor.Theinstructor,asalways,isleftfreeto
doasiswished.
//File:chlOPrg2.cpp
//Title:CDAccount
?include<iostream>
usingnamespacestd;
classCDAccount
(
public:
CDAccount();
CDAccount(doublebalzdoubleintRate,intT);
doubleInterestRate();
doubleInitialBalance();
doubleBalanceAtMaturity();
intTerm();
voidinput(istreamS);
voidoutput(ostream&);
private:
doublebalance;
doubleinterestRate;//inPERCENT
intterm;//monthstomaturity;
);
intmain()
doublebalance;doubleintRate;
intterm;
CDAccountaccount=CDAccount(100.0,10.0f6);
cout<<"CDAccountinterestrate:"
<<account.InterestRate()<<endl;
cout<<°CDAccountinitialbalance:“
<<account.InitialBalance()<<endl;
cout<<"CDAccountbalanceatmaturityis:"
<<account.BalanceAtMaturity()?endl;
cout<<"CDAccounttermis:“<<account.Term()
<<”monthsendl;
account.output(cout);
cout<<"EnterCDinitialbalance,interestrate,
<<°andterm:“<<endl;
account.input(cin);
cout<<"CDAccountinterestrate:"
<<account.InterestRate()<<endl;
cout<<"CDAccountinitialbalance:"
<<account.InitialBalance()<<endl;
cout<<"CDAccountbalanceatmaturityis:"
<<account.BalanceAtMaturity()<<endl;
cout<<"CDAccounttermis:“<<account.Term()
<<"monthsn<<endl;
account.output(cout);
cout<<endl;
)
CDAccount::CDAccount(){/*donothing*/}
CDAccount::CDAccount(doublebal,doubleintRate,intT)
{
balance=bal;
interestRate=intRate;
term=T;
}
doubleCDAccount::InterestRate()
(
returninterestRate;
)
doubleCDAccount::InitialBalance()
(
returnbalance;
)
doubleCDAccount::BalanceAtMaturity()
(
returnbalance*(1+(interestRate/100)*(term/12.0));
}
intCDAccount::Term()
(
returnterm;
)
voidCDAccount::input(istream&inStream)
{
inStream>>balance;
inStream>>interestRate;
inStream>>term;
)
voidCDAccount::output(ostreamSoutStream)
(
outStream.setf(ios::fixed);
outStream.setf(ios::showpoint);
outStream.precision(2);
outStream<<"whenyourCDmaturesin”<<term
<<”monthsn<<endl
<<nitwillhaveabalanceof”
<<BalanceAtMaturity()<<endl;
)
★
Atypicalrunfollows:
CDAccountinterestrate:10
CDAccountinitialbalance:100
CDAccountbalanceatmaturityis:105
CDAccounttermis:6months
whenyourCDmaturesin6months
itwillhaveabalanceof105.00
EnterCDinitialbalance.interestrate,andterm:
200
10
12
CDAccountinterestrate:10.00
CDAccountinitialbalance:200.00
CDAccountbalanceatmaturityis:220.00
CDAccounttermis:12months
whenyourCDmaturesin12months
itwillhaveabalanceof220.00
*
3.CDaccount,differentinterface
RedothedefinitionofclassCDAccountfromProject2sothattheinterfaceisthesamebut
theimplementationisdifferent.Thenewimplementationissimilartothesecond
implementationofBankAccountinDisplay10.7.Herethebalanceisrecordedintwoint
values,onefbrdollars,oneforcents.Themembervariableforinterestratestoresthe
interestasafractionratherthanapercentage.TermisstoredasinProject2.
Remark:Thechangestobemadeareinthefunctionsthattakebalanceasargument.The
implementationofthemembersmustchange:
1)togeneratetheintobjectsdollarsandcentsfromtheexternalrepresentationofbalance
(adouble)
2)totakedollarsandcents(intobjects)fromtheinternalrepresentationandgeneratethe
externalinformation.
//File:chlOPrg3.cpp
//Title:CDAccount-modificationofProgrami,butwith
//differentimplementationbutSAMEinterface.
//ThenewimplementationshouldbesimilartoDisplay10.7
//recordbalanceastwointvalues:Onefordollars,onefor
//cents.interestrateisadouble(decimal)fractionrather
//thanapercent(0.043,not4.3%).termisstoredthesame
//wayasProgram1.
#include<iostream>
usingnamespacestd;
classCDAccount
public:
CDAccount();
CDAccount(doublebalzdoubleintRate,intT);
doubleInterestRate();
doubleInitialBalance();
doubleBalanceAtMaturity();
intTerm();
voidinput(istream&);
voidoutput(ostreamS);
private:
//doublebalance;
//doubleinterestRate;//inPERCENT
intdollars;
intcents;
doubleinterestRate;//decimalfraction:0.043ratherthan
4.3%
intterm;//monthstomaturity;
};
CDAccount::CDAccount()
(
//donothing
}
CDAccount::CDAccount(doublebal,doubleintRate,intT)
(
dollars=int(bal);
cents=int(bal*100);
interestRate=intRate/100;
term=T;
)
doubleCDAccount::InterestRate()
returninterestRate*100;//internaldecimalfrac,
//external,percent
}
doubleCDAccount::InitialBalance()
(
returndollars+cents/100.00;
)
doubleCDAccount::BalanceAtMaturity()
{
return(dollars+cents/100.0)*
(1+(interestRate)*(term/12.0));
)
intCDAccount::Term()
(
returnterm;
)
voidCDAccount::input(istreamSinStream)
(
doubledBal;
inStream>>dBal;
dollars=int(dBal);
cents=int((dBal-dollars)*100);
inStream>>interestRate/100;
inStream>>term;
)
voidCDAccount::output(ostreamSoutStream)
outStream.setf(ios::fixed);
outStream.setf(ios::showpoint);
outStream.precision(2);
outStream<<“whenyourCDmaturesin”<<term
<<“monthsn<<endl
<<nitwillhaveabalanceof”
<<BalanceAtMaturity()<<endl;
}
intmain()
doublebalance;
doubleintRate;
intterm;
CDAccountaccount=CDAccount(100.0,10.0,6);
cout<<“CDAccountinterestrate:
<<account.InterestRate()<<endl;
cout<<“CDAccountinitialbalance:"
<<account.InitialBalance()<<endl;
cout<<”CDAccountbalanceatmaturityis:"
<<account.BalanceAtMaturity()<<endl;
cout<<“CDAccounttermis:“<<account.Term()
<<"monthsn<<endl;
account.output(cout);
cout<<"EnterCDinitialbalance,interestrate,”
<<”andterm:11?endl;
account.input(cin);
cout<<“CDAccountinterestrate:
<<account.InterestRate()<<endl;
cout<<“CDAccountinitialbalance:
<<account.InitialBalance()<<endl;
cout<<“CDAccountbalanceatmaturityis:"
<<account.BalanceAtMaturity()<<endl;
cout<<"CDAccounttermis:"<<account.Term()
<<”monthsn<<endl;
account.output(cout);
cout<<endl;
}
/*
Atypicalrunfollows:
CDAccountinterestrate:10
CDAccountinitialbalance:200
CDAccountbalanceatmaturityis:210
CDAccounttermis:6months
whenyourCDmaturesin6months
itwillhaveabalanceof210.00
EnterCDinitialbalance,interestrate,andterm:
200
10
12
CDAccountinterestrate:10.00
CDAccountinitialbalance:200.00
CDAccountbalanceatmaturityis:220.00
CDAccounttermis:12months
whenyourCDmaturesin12months
itwillhaveabalanceof220.00
*/
4.NoAnswerProvided
5.NoAnswerProvided
6.ClassMonth
Herewecreateanabstractdatatypetorepresentmonth.
Theclassmonthhasthefollowingmemberfunctions:
aconstructortosetmonthbasedonthefirst3lettersofthename
(uses3charargs)
aconstructortosetmonthbaseonmonthnumber,1=Januaryetc.
adefaultconstructor(whatdoesitdo?)
aninputfunctiontosetthemonthbasedonthemonthnumber
aninputfunctiontosetthemonthbasedonathree-characterinput
anoutputfunctionthatoutputsthemonthasaninteger,
anoutputfunctionthatoutputsthemonthastheletters,
afunctionthatreturnsthenextmonthasaMonthobject
NBeachinputandoutputfunctionhaveasingleformalparameterfor
thestream
Datastoreisanintobject.
Thisproblemdoesn'tsayanythingabouterrorchecking.Itiseasyand(Ihope)obvious
howtodoerrorchecking.Iwillrequiremystudentsputitin,andIuseithere.Thecareful
readerwillnotethattestingisnotthorough.Itisanexcellentexercisetoprovidetestdata
thatmakescoveragecomplete.(Completecoverageistotestallpossiblepathsthroughthe
program.)
Withthesecomments,hereisthecodeathesolutiontotheproblem:
//file:chl0prb5.cpp
//Title:Month
//TocreateandtestamonthADT
//Beginmonth.cppforProblem7HERE.
?include<fstream>//forfileandiostreamstuff
?include<cstdlib>//forexit()
#include<cctype>//fortolower()
classMonth
public:
Month(charclrcharc2,charc3);//done,debugged
//constructortosetmonthbasedonfirst
//3charsofthemonthname
Month(intmonthNumber);//done,debugged
//aconstructortosetmonthbaseonmonthnumberz
//I=Januaryetc.
Month();//done,nodebuggingtodo
//adefaultconstructor(whatdoesitdo?nothing)
voidgetMonthByNumber(istream&);//done,debugged
//aninputfunctiontosetthemonthbasedonthe
//monthnumber
voidgetMonthByName(istream&);//done,debugged
//inputfunctiontosetthemonthbasedonathree
//characterinput
voidoutputMonthNumber(ostreamS);//done,debugged
//anoutputfunctionthatoutputsthemonthasaninteger,
voidoutputMonthName(ostream&);//done,debugged
//anoutputfunctionthatoutputsthemonthastheletters.
MonthnextMonth();//
//afunctionthatreturnsthenextmonthasamonthobject
//NB:eachinputandoutputfunctionhaveasingleformal
//parameterforthestream.Thisaccessmemberaddedfor
//Problem7,notneededinProblem5
intmonthNumber();
private:
intmnth;
};
//addedforProblem7.Notneedeinthisproblem
intMonth::monthNumber()
(
returnmnth;
)
MonthMonth::nextMonth()
(
intnextMonth=mnth+1;
if(nextMonth==13)
nextMonth=1;
returnMonth(nextMonth);
}
Month::Month(intmonthNumber)
(
mnth=monthNumber;
)
voidMonth::outputMonthNumber(ostream&in)
//cout<<"Thecurrentmonthis";//onlyfordebugging
cout<<mnth;
}
//Thisimplementationcouldprofitgreatlyfromuseof
//anarray.
voidMonth::outputMonthName(ostream&out)
(
//aswitchiscalledfor.Wedon*thaveoneyet.
if(1==mnth)out<<"Jan";
elseif(2==mnth)out<<HFebn;
elseif(3==mnth)out<<"Mar11;
elseif(4==mnth)out<<“Apr”;
elseif(5==mnth)out<<“May”;
elseif(6==mnth)out<<nJunn;
elseif(7==mnth)out<<nJuln;
elseif(8==mnth)out<<HAugn;
elseif(9==mnth)out<<“Sep”;
elseif(10=:=mnth)out<<nOctn;
elseif(11=:=mnth)out<<“Nov”;
elseif(12=:=mnth)out<<nDecn;
)
voiderror(charcl,charc2fcharc3)
(
cout<<endl<<cl<<c2<<c3<<"isnotamonth.
Exiting\nn;
exit(1);
)
voiderror(intn)
cout<<endl<<n<<”isnotamonthnumber.Exiting"<<
endl;
exit(1);
}
voidMonth::getMonthByNumber(istream&in)
(
in>>mnth;//intMonth::mnth;
}
//useofanarrayandlinearsearchcouldhelpthis
//implementation.
voidMonth::getMonthByName(istream&in)
//Callserror(...)whichexits,ifthemonthnameiswrong.
//Anenhancementwouldbetoallowtheusertofixthis.
charclrc2,c3;
in>>cl>>c2>>c3;
cl=tolower(cl);//forcetolowercasesoanycase
c2=tolower(c2);//theuserentersisacceptable
c3=tolower(c3);
if(*j*==cl)
if(0==c2)
mnth=1;//jan
elseif(1u,==c2)
if(*n*==c3)
mnth=6;//jun
elseif(*11==c3)
mnth=7;//jul
elseerror(cl,c2,c3);//ju,notnor
elseerror(cl,c2zc3);//jrnotaoru
elseif(1f,==cl)
if(?==c2)
if(W==c3)
mnth=2;//feb
elseerror(cl,c2,c3);//fe,notb
elseerror(cl,c2,c3);//f,note
elseif(*m*==cl)
if(&==c2)
if(1y*==c3)
mnth=5;//may
elseif(1rf==c3)
mnth=3;//mar
elseerror(cl,c2,c3);//manota,r
elseerror(cl,c2zc3);//mnotaorr
elseif(*a*==cl)
if(*p*==c2)
if(1r,==c3)
mnth=4;//apr
elseerror(cl,c2,c3);//apnotr
elseif(1u1==c2)
if(*g*==c3)
mnth=8;//aug
elseerror(cl,c2zc3);//aunotg
elseerror(cl,c2zc3);//anotuorp
elseif('s'==cl)
if(9==c2)
if(P==c3)
mnth=9;//sep
elseerror(cl,c2,c3);//se,notp
elseerror(cl,c2,c3);//s,note
elseif(1o,==cl)
if(1c1==c2)
if(1f==c3)
mnth=10;//oct
elseerror(cl,c2zc3);//ocznott
elseerror(cl,c2zc3);//。,notc
elseif(*n1==cl)
if(。==c2)
if(*v1==c3)
mnth=11;//nov
elseerror(cl,c2,c3);//n。,notv
elseerror(cl,c2,c3);//n,noto
elseif(*d*==cl)
if(==c2)
if(*c1==c3)
mnth=12;//dec
elseerror(cl,c2,c3);//de,notc
elseerror(cl,c2,c3);//d,note
elseerror(clzc2,c3);//clnotjrf,m,a,s,o,n,ord
)
Month::Month(charclzcharc2zcharc3)
(
cl=tolower(cl);
c2=tolower(c2);
c3=tolower(c3);
if(1j1==cl)
if(0==c2)
mnth=l;//jan
elseif(1u1==c2)
if(1n1==c3)
mnth=6;//jun
elseif(111==c3)
mnth=7;//jul
elseerror(cl,c2,c3);//ju,notnor
elseerror(cl,c2,c3);//j,notaoru
elseif(*ff==cl)
if==c2)
if(fb1==c3)
mnth=2;//feb
elseerror(clzc2,c3);//fe,notb
elseerror(cl,c2,c3);//f,note
elseif(1==cl)
if(a==c2)
if(1y1==c3)
mnth=5;//may
elseif('r'==c3)
mnth=3;//mar
elseerror(cl,c2,c3);//manota,r
elseerror(cl,c2,c3);//mnotaorr
elseif(1a1==cl)
if(1p1==c2)
if(*r1==c3)
mnth=4;//apr
elseerror(cl,c2,c3);//apnotr
elseif(1u,==c2)
if(fgf==c3)
mnth=8;//aug
elseerror(cl,c2,c3);//aunotg
elseerror(cl,c2zc3);//anotuorp
elseif('s'==cl)
if(9==c2)
if(fp*==c3)
mnth=9;//sep
elseerror(cl,c2,c3);//se,notp
elseerror(cl,c2,c3);//s,note
elseif('o'==cl)
if('c'==c2)
if(ftf==c3)
mnth=10;//oct
elseerror(cl,c2,c3);//oc,nott
elseerror(cl,c2,c3);//oznotc
elseif(*n1==cl)
if(*of==c2)
if(1v,==c3)
mnth=11;//nov
elseerror(cl,c2,c3);//noznotv
elseerror(cl,c2,c3);//nznoto
elseif(*d1==cl)
if(*er==c2)
if(1c,==c3)
mnth=12;//dec
elseerror(cl,c2,c3);//de,notc
elseerror(cl,c2,c3);//d,note
elseerror(cl,c2,c3);//clnotj,f,m,a,s,o
//n,ord
)
Month::Month()
//bodydeliberatelyempty
}
//ENDmonth.cppforProblem7HERE.
intmain()
(
cout<<ntestingconstructorMonth(char,char,char)n<<
endl;
Monthm;
1
m=Month(*jz*a*,*n*);
m.outputMonthNumber(cout);cout<<"n;
m.outputMonthName(cout);cout<<endl;
1f
m=Month(*fze*,*b*);
m.outputMonthNumber(cout);cout<<”n;
m.outputMonthName(cout);cout<<endl;
1
m=Month(z*a*,r*);
m.outputMonthNumber(cout);cout<<”H;
m.outputMonthName(cout);cout<<endl;
1
m=Month(*aA*p*,*r*);
m.outputMonthNumber(cout);cout<<”H;
m.outputMonthName(cout);cout<<endl;
11
m=Month(*mA*a,*y*);
m.outputMonthNumber(cout);cout<<”H;
m.outputMonthName(cout);cout<<endl;
111
m=Month(*jz*uzn*);
m.outputMonthNumber(cout);cout<<”n;
m.outputMonthName(cout);cout<<endl;
11
m=Month(jz*u*,*1*);
m.outputMonthNumber(cout);cout<<"n;
m.outputMonthName(cout);cout<<endl;
11
m=Month(f*u*,g*);
m.outputMonthNumber(cout);cout<<”";
m.outputMonthName(cout);cout<<endl;
1f1
m=Month(sf*e,*p*);
m.outputMonthNumber(cout);cout<<”";
m.outputMonthName(cout);cout<<endl;
111
m=Month(or*c*z*t);
m.outputMonthNumber(cout);cout<<”";
m.outputMonthName(cout);cout<<endl;
1
m=Month(*nz*o*z*v*);
m.outputMonthNumber(cout
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 正美電子商務(wù)課程設(shè)計(jì)
- 《我國(guó)有限責(zé)任公司股權(quán)質(zhì)押制度研究》
- 公交站牌燈箱廣告合同3篇
- 加油站施工合同中的知識(shí)產(chǎn)權(quán)保護(hù)3篇
- 借證件的協(xié)議3篇
- 質(zhì)押債權(quán)轉(zhuǎn)讓合同范例
- 代領(lǐng)款授權(quán)委托協(xié)議3篇
- 化妝品品牌市場(chǎng)推廣專員合同3篇
- 公共事業(yè)項(xiàng)目經(jīng)理合同3篇
- 合同負(fù)債借貸方向及賬務(wù)處理3篇
- 山東省高等醫(yī)學(xué)院校臨床教學(xué)基地水平評(píng)估指標(biāo)體系與標(biāo)準(zhǔn)(修訂)
- 空白貨品簽收單
- 青海省全省市縣鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心基本公共衛(wèi)生服務(wù)醫(yī)療機(jī)構(gòu)信息名單目錄450家
- 網(wǎng)絡(luò)暴力的法律規(guī)制開題報(bào)告
- 水泥混凝土路面施工方案85171
- 泰康人壽養(yǎng)老社區(qū)介紹課件
- T∕CSTM 00584-2022 建筑用晶體硅光伏屋面瓦
- 環(huán)境保護(hù)知識(shí)培訓(xùn)
- 《民航服務(wù)禮儀》項(xiàng)目五 地面服務(wù)禮儀
- 最新干部(職工)基本信息審核表格式
- 國(guó)家開放大學(xué)實(shí)驗(yàn)學(xué)院生活中的法律第二單元測(cè)驗(yàn)答案
評(píng)論
0/150
提交評(píng)論