首页 > 其他分享 >5月8日打卡

5月8日打卡

时间:2023-05-08 21:13:34浏览次数:42  
标签:ExamInfo grade int pass 打卡 string name

例4-8

题目描述:

使用联合体保存成绩信息,并且输出

代码部分:

#include<string>
#include<iostream>
using namespace std;
class ExamInfo {
private:
    string name;
    enum {
        GRADE,
        PASS,
        PERCENTAGE
    }mode;
    union {
        char grade;
        bool pass;
        int percant;
    };
public:
    ExamInfo(string name,char grade):name(name),mode(GRADE),grade(grade){}
    ExamInfo(string name,bool pass):name(name),mode(PASS),pass(pass){}
    ExamInfo(string name,int percant):name(name),mode(PERCENTAGE),percant(percant){}
    void show()
    {
        cout << name << ":";
        switch (mode) {
        case GRADE:cout << grade;
            break;
        case PASS:cout << (pass ? "PASS" : "FALL");
            break;
        case PERCENTAGE:cout << percant;
            break;
        }
        cout << endl;
    }
};
int main()
{
    ExamInfo couse1("English", 'B');
    ExamInfo couse2("Calculus", 'true');
    ExamInfo couse3("C++Programming", 85);
    couse1.show();
    couse2.show();
    couse3.show();
    return 0;
}

例4-9

题目描述:

设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序输出这四种情况。

分析:1.设计一个枚举类型一次输出四种可能的结果。

代码部分:

#include<iostream>
using namespace std;
enum GameResult{WIN,LOSE,TIE,CANCEL};
int main()
{
    GameResult result;
    enum GameResult omit = CANCEL;
    for (int count = WIN; count <= CANCEL; count++)
    {
        result = GameResult(count);
        if (result = omit)
            cout << "The game was cancelled" << endl;
        else {
            cout << "The game was cancelled" << endl;
            if (result == WIN)
            {
                cout << "and we won!";
        }
            if (result == LOSE)
            {
                cout << "and we lost.";
            }
            cout << endl;
        }
        return 0;
    }
}

 

标签:ExamInfo,grade,int,pass,打卡,string,name
From: https://www.cnblogs.com/xuechenhao173/p/17383009.html

相关文章

  • 打卡1
    问题描述:编写一个计算机个人所得税的程序,要求输入收入金额后,能够输出个人所得税,征收如下:起始点为3500元,征收3%1500~4500元,征收10%4500~9000元,征收20%9000~35000元,征收25%35000~55000元,征收30%55000~80000元,征收35%超出80000元,征收45%流程图:  伪代码:start[6]={0,150......
  • 编程打卡: C++ 语言程序设计
    编程打卡:C++语言程序设计#include<iostream>#include<array>usingnamespacestd;intmain(){intn;cin>>n;array<double,100000>scores;for(inti=0;i<n;i++){cin>>scores[i];}......
  • 第十四天打卡
    一、问题描述一个口袋中放有12个球,已知其中3个是红色,3个是白色,6个是黑色,先从中任取8个,问共有多少种可能的颜色搭配?二、设计思路1.设m,n分别记录取出红的和白的,用8-m-n表示黑的;2.利用二重循环依次求出满足条件的m,n;3.在设计if条件满足8-m-n<=6,然后输出结果。三、程序流......
  • 2023.5.8编程一小时打卡
    一、问题描述:初始化int类型数组date1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},应用本章的直接插入排序模板进行排序,对此函数模板稍作修改,加入输出语句,在每一个待排序元素后显示整个数组,观察排序过程中数据的变化,加深对插入排序算法的理解。二、解题思路:首先,定......
  • 每日打卡一小时(第二十二天)
    一.问题描述以点类Point及平面图形类Plane为基类公有派生圆类Circle,再以圆类Circle及立体图形类Solid为基类公有派生球类Sphere,main(void)函数完成对球类Sphere的测试。Point类结构说明:Point类的数据成员包括:①私有数据成员:X坐标x(double型),Y坐标y(double型)。Point类成员函......
  • 第17天打卡
    问题:算法设计直接暴力循环源代码:#include<stdio.h>include<math> intmain(){doublen=0.0;inti;for(i=0;i<=64;i++){n+=n+pow(2,i-1);}pritnf("%lf",n);return0;} ......
  • c++打卡第二十天
    一、问题描述 二、设计思路  最终的里程数为一个对称数,这个数是大于95859的,我们先判断这个五位数的各位数,将结果存储到数组中,继续判断第一位和第五位,第二位和第四位是否相等,如果相等的话,将这个数与95859相减,同时除以时间就得到速度。最终得到新的对称数和速度。三、流程......
  • 带分数(递归)//每日打卡 1
     #include<cstring>#include<cstdio>#include<iostream>#include<algorithm>usingnamespacestd;constintN=30;intsum,m;intnum[N];boolused[N];intcnt;intcalc(intl,intr)//分成三段每一段的值a,b,c分别算出{intres=0;for(int......
  • 每日打卡-18
    一.问题描述给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i]+B[j]=x的数对(i,j)。二.设计思路i指针从a数组从前往后开始遍历j指针从b数组从后往前开始遍历若a[i]+b[j]>k说明要缩小区间使和变小即j–,反之i++三.......
  • 打卡第十七天
    内联函数求圆的面积一、1.定义一个函数作为求圆面积的内联函数二、三、#include<iostream>usingnamespacestd;constdoublepai=3.1415926;inlinedoublemianji(doubler){ returnpai*r*r;}intmain(){ intR; cin>>R; doublearea=mianji(R); cout<<""<<area&......