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

输入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)
}

 

转载于:https://www.cnblogs.com/yan1345/p/3377689.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值