vc++整理总结.docx

上传人:b****5 文档编号:6375509 上传时间:2023-01-05 格式:DOCX 页数:63 大小:34.79KB
下载 相关 举报
vc++整理总结.docx_第1页
第1页 / 共63页
vc++整理总结.docx_第2页
第2页 / 共63页
vc++整理总结.docx_第3页
第3页 / 共63页
vc++整理总结.docx_第4页
第4页 / 共63页
vc++整理总结.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

vc++整理总结.docx

《vc++整理总结.docx》由会员分享,可在线阅读,更多相关《vc++整理总结.docx(63页珍藏版)》请在冰豆网上搜索。

vc++整理总结.docx

vc++整理总结

一、编写程序,要求输入年、月、日、时、分、秒。

输出该时间的下一秒。

如输入2007年12月31日23时59分59秒,则输出2008年1月1日0时0分0秒。

要注意每一个月天数的不同平时2月28天,闰年2月29天,判断闰年的条件:

年份能被400整除,或能被4整除,但不能被100整除

#include

usingnamespacestd;

intmain()

{

intyear,month,day,hour,minute,second;

intdayOfMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};

cin>>year>>month>>day>>hour>>minute>>second;

if(year%400==0||(year%4==0&&year!

=100))

dayOfMonth[1]=29;

second+=1;

if(second>=60)

{

second=0;

minute+=1;

if(minute>=60)

{

minute=0;

hour+=1;

if(hour>=24)

{

hour=0;

day+=1;

if(day>dayOfMonth[month-1])

{

day=0;

month+=1;

if(month>12)

{

month=0;

year+=1;

}

}

}

}

}

cout<

system("pause");

return0;

}

二、1、字符串数组编程

设定一个字符串,设计一个函数,打印该字符串;设定一个字符串,设计一个函数,获取字符串的长度;设定一个字符串,设计一个函数,实现字符串的拷贝

#include

usingnamespacestd;

voidorder(int&,int&,int&);

voidmain()

{

inta,b,c;

cout<<"Pleaseinputthethreenumber:

";

cin>>a>>b>>c;

cout<

"<<"a="<

order(a,b,c);

cout<

"<<"a="<

system("pause");

}

voidorder(int&ra,int&rb,int&rc)

{

intt;

if(ra

{

t=ra;

ra=rb;

rb=t;

}

if(ra

{

t=ra;

ra=rc;

rc=t;

}

if(rb

{

t=rb;

rb=rc;

rc=t;

}

};

三、2、在主程序中从键盘输入三个整数,设计一个函数,将这三个数从小到大排列,要求参数设为引用参数,在主程序中按照从大到小的顺序输出。

#include

usingnamespacestd;

voidprintString(constchar*str);

intgetLength(constchar*str);

voidcopyString(constchar*sourceStr,char*destStr);

intmain()

{

char*sourceStr="abcdefg";

cout<<"Sourcestringis:

";

printString(sourceStr);

intlength=getLength(sourceStr);

cout<

"<

char*destStr=newchar[length];

copyString(sourceStr,destStr);

cout<<"Thecopystringis:

";

printString(destStr);

cout<

system("pause");

return0;

}

voidprintString(constchar*str)

{

//cout<

while(*str!

='\0')

{

cout<<*str;

str++;

}

}

intgetLength(constchar*str)

{

intcount=0;

while(*str!

='\0')

{

count++;

str++;

}

returncount;

}

voidcopyString(constchar*sourceStr,char*destStr)

{

intlength=getLength(sourceStr);

for(inti=0;i

{

*destStr++=*sourceStr++;

}

*destStr='\0';

}

四、构建一个类用于计算数据的统计信息,类名Cstatistics,类中包括,成员变量:

数据个数(intN),数据(double*data),均值(doublemean),方差(doublevariance),最大值(doublemax),最小值(doublemin)。

成员函数:

输入函数(voidinput()):

输入数据个数N,给data变量申请N个空间,并输入N个数值。

计算均值(voidgetMean()):

计算data变量中数据的均值,并赋值给mean变量。

计算方差(voidgetVariance()):

计算data变量中数据的方差,并赋值给variance变量。

计算最大值(voidgetMax()):

计算data变量中数据的最大值,并赋值给max变量。

计算最小值(voidgetMin()):

计算data变量中数据的最小值,并赋值给min变量。

输出函数(voidprint()):

输出data变量中的数据及个数,并输出该数据的统计信息(均值(doublemean),方差(doublevariance),最大值(doublemax),最小值(doublemin))。

要求成员变量设为私有变量,成员函数设为公有

#pragmaonce

#include

usingnamespacestd;

classCstatistics

{

public:

Cstatistics(void);

~Cstatistics(void);

voidinput();

voidgetMean();

voidgetVariance();

voidgetMax();

voidgetMin();

voidprint();

private:

intN;

double*data;

doublemean;

doublevariance;

doublemax;

doublemin;

};

#include"Cstatistics.h"

Cstatistics:

:

Cstatistics()

{

}

Cstatistics:

:

~Cstatistics(void)

{

}

voidCstatistics:

:

input()

{

cout<<"请输入数据个数:

";

cin>>N;

if(N>0)

{

data=newdouble[N];

}

cout<<"请输入"<

"<

for(inti=0;i

cin>>data[i];

}

voidCstatistics:

:

getMean()

{

if(data!

=NULL)

{

doublesum=0;

for(inti=0;i

sum+=data[i];

mean=sum/N;

}

}

voidCstatistics:

:

getVariance()

{

if(data!

=NULL)

{

if(mean==0)

{

getMean();

}

doublesum=0;

for(inti=0;i

sum+=(data[i]-mean)*(data[i]-mean);

variance=sum/N;

}

}

voidCstatistics:

:

getMax()

{

if(data!

=NULL)

{

max=data[0];

for(inti=1;i

{

if(data[i]>max)

max=data[i];

}

}

}

voidCstatistics:

:

getMin()

{

if(data!

=NULL)

{

min=data[0];

for(inti=1;i

{

if(data[i]

min=data[i];

}

}

}

voidCstatistics:

:

print()

{

cout<

"<

for(inti=0;i

{

cout<

}

cout<

cout<<"均值为:

"<

cout<<"方差为:

"<

cout<<"最大值为:

"<

cout<<"最小值为:

"<

}

#include"Cstatistics.h"

intmain()

{

cout<<"这是一个统计类!

"<

Cstatisticssta;

sta.input();

sta.getMean();

sta.getVariance();

sta.getMax();

sta.getMin();

sta.print();

system("pause");

return0;

}

五、创建一个雇员类,该类中有数据成员姓名,月工资、家庭地址和邮政编码等。

其功能有获取雇员姓名、修改姓名、修改工资、修改地址、修改邮政编码、显示数据信息。

要求函数定义放在类定义中。

雇员初始化由构造函数完成,同时定义默认构造函数,在默认构造函数中,将姓名初始化为“Noname”,

工资初始化为0,地址初始化为“NoAddress”,邮编初始化为”0”

#pragmaonce

#include

usingnamespacestd;

classEmployee

{

public:

Employee(char*pName,floatsalaryt,char*pAddress,char*pPostalcode)

{

cout<<"1111111"<

name=newchar[strlen(pName)+1];//字符串结束符给一个位置'\0'

strcpy_s(name,strlen(pName)+1,pName);

salary=salaryt;

address=newchar[strlen(pAddress)+1];

strcpy_s(address,strlen(pAddress)+1,pAddress);

strcpy_s(postalcode,strlen(pPostalcode)+1,pPostalcode);

}

Employee()

{

name=newchar[strlen("Noname")+1];

strcpy_s(name,8,"Noname");

salary=0;

address=newchar[strlen("NoAddress")+1];

strcpy_s(address,11,"NoAddress");

strcpy_s(postalcode,7,"000000");

}

~Employee()

{

cout<

delete[]name;

delete[]address;

system("pause");

}

voidmodifyName(char*pName)

{

delete[]name;

name=newchar[strlen(pName)+1];

strcpy_s(name,strlen(pName)+1,pName);

}

voidmodifySalary(floatsalaryt)

{

salary=salaryt;

}

voidmodifyAddress(char*pAddress)

{

delete[]address;

address=newchar[strlen(pAddress)+1];

strcpy_s(address,strlen(pAddress)+1,pAddress);

}

voidmodifyPostalcode(char*pPostalcode)

{

strcpy(postalcode,pPostalcode);

}

voiddisplay()

{

cout<<"姓名:

"<

<<"工资:

"<

<<"地址:

"<

<<"邮编:

"<

}

char*Getname()

{

returnname;

}

private:

char*name;

floatsalary;

char*address;

charpostalcode[7];

};

#include"Employee.h"

intmain()

{

//cout<<"1111111"<

Employeeem1;

Employeeem2("张强",6000,"北京","100011");

Employeeem3("王明",7000,"天津","300232");

em1.display();

em2.display();

em3.display();

cout<

"<

em1.modifyName("张晓强");

em1.modifySalary(6500);

em1.modifyAddress("廊坊");

em1.modifyPostalcode("440000");

em1.display();

return0;

}

六、设计一个用户电话类Utele,可以添加成员、修改成员信息,升位成员电话号码,统计共构建多少成员,升位多少成员

#pragmaonce

#include

#include

usingnamespacestd;

classUtele

{

private:

char*id;

longnumber;

charutype;

staticintusernum;

staticintexpnum;

public:

Utele()

{

id=newchar[strlen("NoId")+1];

strcpy(id,"NoId");

number=0;

utype='';

usernum++;

};

Utele(char*a,longb,charc)

{

id=newchar[strlen(a)+1];

strcpy(id,a);

number=b;

utype=c;

usernum++;

}

Utele(Utele&g)

{

id=newchar[strlen(g.id)+1];

strcpy(id,g.id);

number=g.number;

utype=g.utype;

usernum++;

cout<

}

voidmodify(char*a,longb,charc)

{

delete[]id;

id=newchar[strlen(a)+1];

strcpy(id,a);

number=b;

utype=c;

cout<

"<

}

voidlist();

voidExpand();

staticvoiddisp();

~Utele();

};

#include"Utele.h"

voidUtele:

:

list()

{

cout<<"用户编号:

"<

cout<<"电话号码:

"<

cout<<"用户类型:

"<

}

voidUtele:

:

Expand()

{

cout<<"电话号码"<

if(number>10000000)return;

longa=number/1000000;

if(utype=='A')

{

switch(a)

{

case2:

case3:

case4:

case5:

number=number+80000000;

break;

case6:

case7:

case8:

case9:

number=number+70000000;

break;

}

}

else

{

switch(a)

{

case2:

case3:

case4:

case5:

number=number+60000000;

break;

case6:

case7:

case8:

case9:

number=number+50000000;

break;

}

cout<<"已升位为:

"<

}

expnum++;

}

Utele:

:

~Utele()

{

delete[]id;

cout<

}

intUtele:

:

usernum=0;

intUtele:

:

expnum=0;

voidUtele:

:

disp()

{

cout<

"<

cout<<"共升位用户数:

"<

}

#include"Utele.h"

voidmain()

{

Utelea,b("10011001",3792345,'A');

Utelec(b),d("1001102",4466223,'B'),e(d);

a.list();

a.modify("60010001",8804455,'A');

a.list();

b.list();

c.list();

d.list();

d.Expand();

d.list();

a.Expand();

a.list();

e.list();

Utele:

:

disp();

system("pause");

}

七、设计一个坐标点类point(提示不要写成Point),数据成员有横坐标X,纵坐标Y,成员函数有构造函数(对X,Y初始化),拷贝构造函数,getX函数(返回X的值),getY函数(返回Y的值)设计一个Rectangle类,数据成员有point对象left和right,分别对应矩形的两个点坐标,area对应矩形的面积,成员函数有构造函数(通过参数传递给两个坐标赋值,并在构造函数中根据两个坐标值计算矩形面积,赋值给area,计算面积可有两种选择,一种计算以这两点为左上角坐标和右上角坐标计算面积,一种计算调用max函数,实现以这两点坐标为底边,计算对应正方形面积),拷贝构造函数,getarea函数(返回area值)。

#pragmaonce

#include

#include

usingnamespacestd;

classpoint

{

public:

point(floatxx,floatyy)

{

X=xx;

Y=yy;

}

point(point&p)

{

X=p.X;

Y=p.Y;

}

floatgetX()

{

returnX;

}

floatgetY()

{

returnY;

}

private:

floatX,Y;

frienddoublemax(pointleftp,pointrightp);

};

classRectangle

{

public:

Rectangle(pointlp,pointrp);

Rectangle(Rectangle&);

doublegetarea()

{

returnarea;

}

private:

pointleft,right;

doublearea;

};

 

Rectangle:

:

Rectangle(pointlp,pointrp):

left(lp),right(rp)

{

intflag;

floatlength,wide;

cout<<"求对角

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1