vc++整理总结文档格式.docx
《vc++整理总结文档格式.docx》由会员分享,可在线阅读,更多相关《vc++整理总结文档格式.docx(63页珍藏版)》请在冰豆网上搜索。
![vc++整理总结文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/5/a982c300-59db-4230-8348-07e5ef04fb7a/a982c300-59db-4230-8348-07e5ef04fb7a1.gif)
day=0;
month+=1;
if(month>
12)
{
month=0;
year+=1;
}
}
}
}
}
cout<
<
year<
"
"
month<
day<
hour<
minute<
second<
endl;
system("
pause"
);
return0;
}
二、1、字符串数组编程
设定一个字符串,设计一个函数,打印该字符串;
设定一个字符串,设计一个函数,获取字符串的长度;
设定一个字符串,设计一个函数,实现字符串的拷贝
#include<
voidorder(int&
int&
voidmain()
inta,b,c;
Pleaseinputthethreenumber:
;
a>
b>
c;
endl<
Beforesort:
a="
a<
b="
b<
c="
c<
order(a,b,c);
Aftersore:
ra,int&
rb,int&
rc)
intt;
if(ra<
rb)
t=ra;
ra=rb;
rb=t;
if(ra<
rc)
t=ra;
ra=rc;
rc=t;
if(rb<
t=rb;
rb=rc;
};
三、2、在主程序中从键盘输入三个整数,设计一个函数,将这三个数从小到大排列,要求参数设为引用参数,在主程序中按照从大到小的顺序输出。
voidprintString(constchar*str);
intgetLength(constchar*str);
voidcopyString(constchar*sourceStr,char*destStr);
char*sourceStr="
abcdefg"
Sourcestringis:
printString(sourceStr);
intlength=getLength(sourceStr);
Lengthofsourcestringis:
length<
char*destStr=newchar[length];
copyString(sourceStr,destStr);
Thecopystringis:
printString(destStr);
voidprintString(constchar*str)
//cout<
str;
while(*str!
='
\0'
)
cout<
*str;
str++;
intgetLength(constchar*str)
intcount=0;
count++;
returncount;
voidcopyString(constchar*sourceStr,char*destStr)
for(inti=0;
i<
length;
i++)
*destStr++=*sourceStr++;
*destStr='
四、构建一个类用于计算数据的统计信息,类名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
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(void)
voidCstatistics:
input()
请输入数据个数:
N;
if(N>
0)
data=newdouble[N];
请输入"
N<
个数据:
N;
cin>
data[i];
getMean()
if(data!
=NULL)
doublesum=0;
for(inti=0;
sum+=data[i];
mean=sum/N;
getVariance()
if(mean==0)
getMean();
sum+=(data[i]-mean)*(data[i]-mean);
variance=sum/N;
getMax()
=NULL)
max=data[0];
for(inti=1;
if(data[i]>
max)
max=data[i];
getMin()
min=data[0];
if(data[i]<
min)
min=data[i];
print()
个数据为:
data[i]<
均值为:
mean<
方差为:
variance<
最大值为:
max<
最小值为:
min<
#include"
这是一个统计类!
Cstatisticssta;
sta.input();
sta.getMean();
sta.getVariance();
sta.getMax();
sta.getMin();
sta.print();
五、创建一个雇员类,该类中有数据成员姓名,月工资、家庭地址和邮政编码等。
其功能有获取雇员姓名、修改姓名、修改工资、修改地址、修改邮政编码、显示数据信息。
要求函数定义放在类定义中。
雇员初始化由构造函数完成,同时定义默认构造函数,在默认构造函数中,将姓名初始化为“Noname”,
工资初始化为0,地址初始化为“NoAddress”,邮编初始化为”0”
classEmployee
Employee(char*pName,floatsalaryt,char*pAddress,char*pPostalcode)
1111111"
name=newchar[strlen(pName)+1];
//字符串结束符给一个位置'
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,"
salary=0;
address=newchar[strlen("
NoAddress"
strcpy_s(address,11,"
strcpy_s(postalcode,7,"
000000"
~Employee()
name<
析构函数被调用"
delete[]name;
delete[]address;
system("
voidmodifyName(char*pName)
delete[]name;
voidmodifySalary(floatsalaryt)
voidmodifyAddress(char*pAddress)
address=newchar[strlen(pAddress)+1];
voidmodifyPostalcode(char*pPostalcode)
strcpy(postalcode,pPostalcode);
voiddisplay()
姓名:
\t"
<
工资:
salary<
地址:
address<
邮编:
postalcode<
char*Getname()
returnname;
char*name;
floatsalary;
char*address;
charpostalcode[7];
Employee.h"
Employeeem1;
Employeeem2("
张强"
6000,"
北京"
"
100011"
Employeeem3("
王明"
7000,"
天津"
300232"
em1.display();
em2.display();
em3.display();
em1.Getname()<
的信息被修改为:
em1.modifyName("
张晓强"
em1.modifySalary(6500);
em1.modifyAddress("
廊坊"
em1.modifyPostalcode("
440000"
六、设计一个用户电话类Utele,可以添加成员、修改成员信息,升位成员电话号码,统计共构建多少成员,升位多少成员
string>
classUtele
char*id;
longnumber;
charutype;
staticintusernum;
staticintexpnum;
Utele()
id=newchar[strlen("
NoId"
strcpy(id,"
number=0;
utype='
'
usernum++;
};
Utele(char*a,longb,charc)
id=newchar[strlen(a)+1];
strcpy(id,a);
number=b;
utype=c;
Utele(Utele&
g)
id=newchar[strlen(g.id)+1];
strcpy(id,g.id);
number=g.number;
utype=g.utype;
拷贝构造函数被调用"
voidmodify(char*a,longb,charc)
delete[]id;
信息已修改!
voidlist();
voidExpand();
staticvoiddisp();
~Utele();
Utele.h"
voidUtele:
list()
用户编号:
id<
电话号码:
number<
用户类型:
utype<
Expand()
电话号码"
number;
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;
else
number=number+60000000;
number=number+50000000;
已升位为:
expnum++;
Utele:
~Utele()
delete[]id;
intUtele:
usernum=0;
expnum=0;
disp()
共创建用户数:
usernum<
共升位用户数:
expnum<
Utelea,b("
10011001"
3792345,'
Utelec(b),d("
1001102"
4466223,'
B'
),e(d);
a.list();
a.modify("
60010001"
8804455,'
b.list();
c.list();
d.list();
d.Expand();
a.Expand();
e.list();
Utele:
disp();
七、设计一个坐标点类point(提示不要写成Point),数据成员有横坐标X,纵坐标Y,成员函数有构造函数(对X,Y初始化),拷贝构造函数,getX函数(返回X的值),getY函数(返回Y的值)设计一个Rectangle类,数据成员有point对象left和right,分别对应矩形的两个点坐标,area对应矩形的面积,成员函数有构造函数(通过参数传递给两个坐标赋值,并在构造函数中根据两个坐标值计算矩形面积,赋值给area,计算面积可有两种选择,一种计算以这两点为左上角坐标和右上角坐标计算面积,一种计算调用max函数,实现以这两点坐标为底边,计算对应正方形面积),拷贝构造函数,getarea函数(返回area值)。
math.h>
classpoint
point(floatxx,floatyy)
X=xx;
Y=yy;
point(point&
p)
X=p.X;
Y=p.Y;
floatgetX()
returnX;
floatgetY()
returnY;
floatX,Y;
frienddoublemax(pointleftp,pointrightp);
classRectangle
Rectangle(pointlp,pointrp);
Rectangle(Rectangle&
doublegetarea()
returnarea;
pointleft,right;
doublearea;
Rectangle:
Rectangle(pointlp,pointrp):
left(lp),right(rp)
intflag;
floatlength,wide;
求对角