- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c综合实验
学 生 实 验 报 告
实验课程名称 C++程序设计
开课实验室 计算机中心
学 院 2011 级 信息与计算科学 专业班 一班
学 生 姓 名 陈世超 学 号 631122020113
开 课 时 间 2012 至 2013 学年第 1 学期
评分细则 评 分 报告表述的清晰程度和完整性(30分) 程序设计的正确性(40分) 实验结果的分析和体会(30分) 总 成 绩
综合设计实验
一、实验内容:1.无序输入多个用户的记录电话号码(至少包括姓名和电话两个域),要求以单链表结构存储。然后编写冒泡排序程序,将用户记录可以按照用户名或者电话顺序输出。2.对于上题的单链表结构存储的用户电话号码记录,实现二分查找算法,可以分别按照姓名和电话来查询到相应的记录。1)每个用户记录是由用户类生成的一个对象,用户记录至少包括姓名和电话两个域域3.实现CardGame类用来表示普通的52张纸牌,有四种花色(红心、方块、梅花和黑桃),每种花色各有13张:A、K、Q、J、10、9、……、2,用适当的方式实现纸牌的基本功能。CardGame类派生出桥牌Bridge类,为Bridge类设计deal函数,用来将纸牌分为4手,每手13张;从CardGame类派生出扑克Poker类,为Poker类设计deal函数,用来将纸牌分为n(n从2到7,代表游戏人数)手,每手5张。完成类的设计,并编写完整的程序测试。
分析:(本题目考察类的继承和派生关系。发牌过程中,需要使用随机函数rand(),用于获得一个随机数。)
实验要求:
按照实验要求设计算法,编写程序。对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)。 源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序代码
#includeiostream
#includestring
#includestdio.h
using namespace std;
class list;
class aa
{
friend class list;
private:
string name;//姓名
string number;//电话号码
aa *next;
public:
aa()
{//初始化用户信息
name= ; number= ; next=NULL;}
void dispName()
{//显示用户的姓名
coutname;}
void dispCode()
{//显示用户的电话号码
coutnumber; }
void setName(string na1)
{ name=na1; }
void setName()
{//修改用户的姓名
cout用户的姓名为:;
cinname;}
void setCode(string nu1)
{ number=nu1;}
void setCode()//修改用户的电话号码
{ cout用户的电话号码为;
cinnumber;}
void setnext()
{ next=NULL; }
void setnext(aa *b1)
{ next=b1; }
string getname()//返回用户的姓名
{ return name;}
string getnumber()//返回用户的电话号码
{ return number;}
aa* getnext()//返回指向下一条用户信息的指针
{ return next; }
};
class list
{
private:
int s;//所包含的用户信息的条数
aa *head;//头指针
public:
list()//初始化链表
{ head=new aa;
s=0;}
list(int n)
{//创建一个包含n条记录的链表
int i;s=n; head=new aa;
aa *temp;aa *a; temp=head;
for(i=1;i=n-1;i++)
{ temp-setName(); temp-setCode();
a=new aa; temp-setnext(a); temp=a;}
temp-setName(); temp-setCode(); temp-setnext();}
~list()//析构函数
{ aa *q;
while(head)
文档评论(0)