您的位置:首页 > 编程语言 > C语言/C++

C++第四版摘录的部分代码1-3

2013-10-19 11:43 295 查看
输入2个(){
cout << "Enter x and y:";
cin >> x >> y;  // 输入2个
}
选择分支switch(){    cin >> day;
switch (day) {
//选择分支
case 6:    cout << "Saturday" << endl;    break;
default:cout << "Day out of range Sunday .. Saturday" << endl;    break;
}
}
反转数字(){  //反转数字
int n, right_digit, newnum = 0;
cout << "Enter the number: ";
cin >> n;

cout << "The number in reverse order is ";
do {
right_digit = n % 10;
cout << right_digit;
n /= 10;
} while (n != 0);
}
求因子(){    for (int k = 1; k <= n; k++)
if (n % k == 0)  //求因子不过怀疑有问题
cout << k << "  ";
cout << endl;
}
统计输入的正负数(){cin >> n;
while (n != 0) {  //统计输入的正负数字的个数
if (n > 0) i += 1;
if (n < 0) j += 1;
cin >> n;
}
}
枚举的应用(){
enum GameResult { WIN, LOSE, TIE, CANCEL };
//枚举的应用
//int main() {
GameResult result;                  //声明变量时,可以不写关键字enum
enum GameResult omit = CANCEL;      //也可以在类型名前写enum

for (int count = WIN ; count <= CANCEL ; count++) {    //隐含类型转换
result = GameResult(count);        //显式类型转换
if (result == omit)
}
}
完整程序结构体使用(){
//#include <iomanip>  //结构体使用
//#include <string>

struct Student {    //学生信息结构体
int num;        //学号
string name;    //姓名
char sex;        //性别
int age;        //年龄
} stu = { 97001, "Lin Lin", 'F', 19};

//int main() {
cout << setw(7) << stu.num;
}
结构体和联合体使用(){
struct Aircraft {
int wingspan;    //翼幅
int passengers; //乘客
union {                    //无名联合作为结构体的内嵌成员
float fuelLoad;     //战斗机装载的燃料
float bombLoad;     //轰炸机装载的炸弹
int pallets;         //运输机的货盘
};
} fighter;

int main() {
fighter.wingspan = 40;
fighter.fuelLoad = 12000.0;
cout << "The fighter carries " << fighter.pallets << " pallets." << endl;
}
}
结构体_枚举_位域(){
enum Level { FRESHMAN, SOPHOMORE, JUNIOR, SENIOR };
enum Grade { A, B, C, D };
struct Student {
unsigned number : 27;
Level level : 2;
Grade grade : 2;
};
int main() {
Student s = { 12345678, SOPHOMORE, B };
cout << "Size of Student: " << sizeof(Student) << endl;
cout << "Number:    " << s.number << endl;
cout << "Level:     ";
switch (s.level) {
case SENIOR:    cout << "senior"; break;
}
cout << endl;
cout << "Grade:     ";
switch (s.grade) {
case D: cout << "D"; break;
}}}
double 计算x的n次方power(double x, int n) {
double val = 1.0;
while (n--)
val *= x;
return val;
}
double 正切函数arctan(double x) {
double sqr = x * x;
double e = x;
double r = 0;
int i = 1;
while (e / i > 1e-15) {  //无限小  1e-15
double f = e / i;
r = (i % 4 == 1) ? r + f : r - f;
e = e * sqr;
i += 2;
}
return r;
}
bool 回文数symm(unsigned n) {
unsigned i = n;
unsigned m = 0;
while (i > 0) {
m = m * 10 + i % 10;
i /= 10;
}
return m == n;
}
游戏状态使用while(状态){
cin >> seed;//输入随机数种子
srand(seed);//将种子传递给rand()

sum = rollDice(); //第一轮投骰子、计算和数
switch (sum) {
case 7:   //如果和数为7或11则为胜,状态为WIN
status = WIN;
break;
case 2:   //和数为2、3或12则为负,状态为LOSE
status = LOSE;
break;
default:   //其它情况,游戏尚无结果,状态为PLAYING,记下点数,为下一轮做准备
status = PLAYING;
myPoint = sum;
cout << "point is " << myPoint << endl;
break;
}

while (status == PLAYING) { //只要状态仍为PLAYING,就继续进行下一轮
sum = rollDice();  //再一次运行
if (sum == myPoint)    //某轮的和数等于点数则取胜,状态置为WIN
status = WIN;
else if (sum == 7)    //出现和数为7则为负,状态置为LOSE
status = LOSE;
}

}
函数调用函数(){
int fun2(int m) {
return m * m;
}
int fun1(int x,int y) {
return fun2(x) + fun2(y);
}
//fun1(a, b)
}
unsigned 计算n的阶乘fac(unsigned n) {
unsigned f;
if (n == 0)
f = 1;
else
f = 计算n的阶乘fac(n - 1) * n;
return f;
}
int 组合数comm(int n, int k) {
if (k > n)
return 0;
else if (n == k || k == 0)
return 1;
else
return comm(n - 1, k) + comm(n - 1, k - 1);
}
void 形参调用交换swap(int a, int b) {
int t = a;
a = b;
b = t;
}
void 实参调用交换swap(int &a, int &b) {
int t = a;
a = b;
b = t;
}
void 实形参混合(int in1, int &in2) {
in1 = in1 + 100;
in2 = in2 + 100;
cout << "The values are ";
cout << setw(5) << in1;
cout << setw(5) << in2 << endl;
//  去除本行的//  }
int v1 = 7, v2 = 12;
实形参混合(v1, v2);;
getchar();

}
inline double 内联函数calArea(double radius) {
return 3.1415926* radius * radius;
//  引用 double area    = 内联函数calArea(r);
}
int 算体积的getVolume(int length, int width/* = 2 */, int height/* = 3 */) {
//声明 int getVolume(int length, int width = 2, int height = 3);
cout << setw(5) << length << setw(5) << width << setw(5) << height << '\t';
return length * width * height;
//算体积的,默认参数可以省略
//必须后面开始有参数省略
}
重载函数(){

int sumOfSquare(int a, int b) {
return a * a + b * b;
}

double sumOfSquare(double a, double b) {
return a * a + b * b;
}
//调用 sumOfSquare(m, n)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: