先说一点题外话,我本人入门学的C++,之前没有接触过其他语言。在C++中的学习中我比较喜欢面向对象这一板块,学的比较好。C语言是因为考试要考,临时抱佛脚学的,所以C++这边就直接从面向对象这边开始。C和C++它们之间差异也就以体现在这里。如果在代码中发现错误,请及时指出,我也是还在学习中,谢谢!
1、计算矩形的周长和面积
源程序 1代码
#include<iostream>
using namespace std;
class REC
{
int a;
int b;
public:
REC(int a1, int b1)
{
a=a1;
b=b1;
}
void circum()//求周长
{
int arr=2*(a+b);
cout<<"矩形的周长为:"<<arr<<endl;
}
void area()//求面积
{
int arr1=a*b;
cout<<"矩形的面积为:"<<arr1<<endl;
}
};
void main()//实例化
{
REC stu(2, 3);
stu.circum ();
stu.area ();
}
源程序 2代码
#include<iostream>
using namespace std;
class REC
{
int a;
int b;
public:
REC(int t1, int t2)
{
a=t1;
b=t2;
}
int circum()
{
return 2*(a+b);
}
int area()
{
return a*b;
}
};
void main()
{
int a1, b1;
cout<<"请输入矩形的边长:";
cin>>a1>>b1;
REC r1(a1, b1);
cout<<"矩形周长"<<r1.circum() <<endl;
cout<<"矩形面积"<<r1.area ()<<endl;
}
2、创建一个购物的订单类Orders:订单号num、用户编号userNum、商品价 格price、商品编号goodsNum,
插入订单insertOreder(),显示订单showOrder(),更新订单updateOrder
要求:showOrder()方法通过一句cout实现所有的订单信息的打印
#include<iostream>
using namespace std;
class Orders
{
char num[20];
char userNum[50];
char goodsNum[50];
double price;
public:
Orders(char *p, char *p1, char *p2,double price1)
{
strcpy(num,p);
strcpy(userNum,p1);
strcpy(goodsNum,p2);
price=price1;
}
void insertOrder()
{
}
void shhowOreder()
{
char *p=num;
char *p1=userNum;
char *p2=goodsNum;
cout<<p<<" "<<p1<<" "<<p2<<" "<<price<<endl;
}
void undateOrder()
{
}
};
void main()
{
Orders orders("鞋子"," 0505","1234567",100);
orders.shhowOreder();
}
3、用户信息类Userlnfo: name姓名、sex性别、num身份证、mobile手机号
显示用户信息的showUser().打印全部的用户的信息
完成对象的实例化以及初始化,调用showUser()方法
#include<iostream>
using namespace std;
class Userlnfo
{
public:
char name[20];
char sex;
int num;
int moblie;
public:
Userlnfo(char *p, char sex1, int num1, int moblie1)
{
strcpy(name, p);
sex=sex1;
num=num1;
moblie=moblie1;
}
void showUser()
{
char *p=name;
cout<<p<<'\t'<<sex<<'\t'<<num<<'\t'<<moblie<<endl;
}
};
void main()
{
Userlnfo use("小明", 'F', 12, 123456789);
use.showUser ();
strcpy(use.name , "小红");
use.sex ='M';
use.num = 15;
use.moblie =987654321;
use.showUser ();
}
4、创建一个Hero类:name 、zhifu、pifu、gongjili、xueliang
规定:职业 战士2,辅助3;
jineng1(
战士:gongjili+10
辅助:xueliang+10
)
jineng2(
战士:gongjili+100
辅助:xueliang+100
)
要求:实例化两个对象,输出对战结果。
#include<iostream>
using namespace std;
class Hero
{
public:
char name[200];
int zhiye;
int pifu;
int gongjili;
int xueliang;
public:
Hero(char *p, int zhiye1, int pifu1, int gongjili1, int xueliang1)
{
strcpy(name, p);
zhiye=zhiye1;
pifu=pifu1;
gongjili=gongjili1;
xueliang=xueliang1;
}
void jineng1()
{
if(zhiye==2)
{
int a=gongjili+=10;
cout<<"战士"<<'\t'<<a<<endl;
}
else
{
int b=xueliang+=10;
cout<<"辅助"<<'\t'<<b<<endl;
}
}
void jineng2()
{
if(zhiye==2)
{
int a1=gongjili+=100;
cout<<"战士"<<'\t'<<a1<<endl;
}
else
{
int b1=xueliang+=100;
cout<<"辅助"<<'\t'<<b1<<endl;
}
}
};
void main()
{
Hero hero1("战士", 2, 5, 100, 150);
hero1.jineng1 ();
Hero hero2("辅助", 3, 4, 80, 200);
hero2.jineng2 ();
if(hero1.gongjili > hero2.xueliang )
{
cout<<"战士赢!!!"<<endl;
}
else
{
cout<<"辅助赢!!!"<<endl;
}
}