5月8日打卡
例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; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理