欢迎来到天天文库
浏览记录
ID:52531877
大小:57.00 KB
页数:15页
时间:2020-03-28
《OOP二次上机实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西安电子科技大学软件学院《面向对象程序设计》课程上机报告班级:131214学号:13121398姓名:文琬灵实验日期:2014年5月14日14/15第二次实验学号:13121398姓名:文琬灵一、实验环境1.软件环境:Windows,DevC++集成开发环境2.硬件环境:无特殊要求二、实验内容下面分题目列出上机实验的要求:题目1:写出一个类似“Hello,world!”的函数,他以一个名字作为命令行参数,并写出“Hello,name!”(其中name是实际的命令行参数)。修改这个程序,使它能以一系列名字作为参数,并对每个名字分
2、别说Hello。题目2:考虑:structTnode{stringword。intcount。structtreenode*left。structtreenode*right。}。写一个函数向Tnode的树中插入新的单词。写一个函数将Tnode的树打印出来。写一函数将Tnode的树按照单词的字典顺序打印出来。修改Tnode,使得它只存储一个到任意长度的单词的指针,该单词存储在一个由new分配的数组里。修改上述函数,使它们使用新的Tnode。题目3:写一个error函数,它取一个printf风格的包含%c,%s和%d指示符的格式
3、串,以及任意多个参数。请不要使用printf()。使用。题目四:写一个函数,实现为5.9[13]定义的Date加上一天,一年,一月的功能。写一个函数对于所给的Date给出对应的星期几。写一个函数给出Date之后的打一个星期一对应的Date。三、源代码及运行结果14/15针对实验内容及要求,给出各题目的源代码,并给出所用的输入数据和对应的输出数据。题目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的运行结果如下(应给出输入和对应的输出):输出: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。re7、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=newBiTre8、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
5、ystem("pause")。return0。}题目1的运行结果如下(应给出输入和对应的输出):输出: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
此文档下载收益归作者所有