資源描述:
《OOP二次上機(jī)實(shí)驗(yàn)報(bào)告.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、西安電子科技大學(xué)軟件學(xué)院《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程上機(jī)報(bào)告班級:131214學(xué)號:13121398姓名:文琬靈實(shí)驗(yàn)日期:2014年5月14日14/15第二次實(shí)驗(yàn)學(xué)號:13121398姓名:文琬靈一、實(shí)驗(yàn)環(huán)境1.軟件環(huán)境:Windows,DevC++集成開發(fā)環(huán)境2.硬件環(huán)境:無特殊要求二、實(shí)驗(yàn)內(nèi)容下面分題目列出上機(jī)實(shí)驗(yàn)的要求:題目1:寫出一個(gè)類似“Hello,world!”的函數(shù),他以一個(gè)名字作為命令行參數(shù),并寫出“Hello,name!”(其中name是實(shí)際的命令行參數(shù))。修改這個(gè)程序,使它能以一系列名字作為參數(shù),并對每個(gè)名字分
2、別說Hello。題目2:考慮:structTnode{stringword。intcount。structtreenode*left。structtreenode*right。}。寫一個(gè)函數(shù)向Tnode的樹中插入新的單詞。寫一個(gè)函數(shù)將Tnode的樹打印出來。寫一函數(shù)將Tnode的樹按照單詞的字典順序打印出來。修改Tnode,使得它只存儲一個(gè)到任意長度的單詞的指針,該單詞存儲在一個(gè)由new分配的數(shù)組里。修改上述函數(shù),使它們使用新的Tnode。題目3:寫一個(gè)error函數(shù),它取一個(gè)printf風(fēng)格的包含%c,%s和%d指示符的格式
3、串,以及任意多個(gè)參數(shù)。請不要使用printf()。使用。題目四:寫一個(gè)函數(shù),實(shí)現(xiàn)為5.9[13]定義的Date加上一天,一年,一月的功能。寫一個(gè)函數(shù)對于所給的Date給出對應(yīng)的星期幾。寫一個(gè)函數(shù)給出Date之后的打一個(gè)星期一對應(yīng)的Date。三、源代碼及運(yùn)行結(jié)果14/15針對實(shí)驗(yàn)內(nèi)容及要求,給出各題目的源代碼,并給出所用的輸入數(shù)據(jù)和對應(yīng)的輸出數(shù)據(jù)。題目1:源代碼如下:#include#include#includeusingnamespacestd。void
4、Print_name(constchar*abc...){va_listap。va_start(ap,abc)。constchar*s。cout<<"Hello,"<5、ystem("pause")。return0。}題目1的運(yùn)行結(jié)果如下(應(yīng)給出輸入和對應(yīng)的輸出):輸出:Hello,zhangsan!Hello,lisi!Hello,wangwu!Hello,chener!Hello,zhaoping!14/15題目2:源代碼如下:#include#include#include#include#defineEQ(a,b)((a)==(b))#defineLT(a,b)((a)<(b))#defineLQ(a,b)((a)<
6、=(b))#defineFALSE0#defineTRUE1usingnamespacestd。typedefstructtreenode{structtreenode*left。stringword。structtreenode*right。}BiTreenode,*BiTreep。voidinit_tree(BiTreep&root){root=NULL。}intSearchBST(BiTreep&rt,stringkey,BiTreepfather,BiTreep&p)//查找元素{if(!rt){p=father。re
7、turnFALSE。}elseif(EQ(key,rt->word)){p=rt。14/15returnTRUE。}elseif(LT(key,rt->word))returnSearchBST(rt->left,key,rt,p)。elsereturnSearchBST(rt->right,key,rt,p)。}intInsertBST(BiTreep&rt,stringkey)//查找元素后不在樹里,就加入{BiTreepp。BiTreeps。if(!SearchBST(rt,key,NULL,p)){s=newBiTre
8、enode。//(BiTreep)malloc(sizeof(BiTreenode))。s->word=key。s->left=s->right=NULL。if(!p)rt=s。elseif(LT(key,p->word))p->left=s。elsep->right=s。r