首页 > 编程语言 >c++primer 9.52答案

c++primer 9.52答案

时间:2024-04-07 23:33:51浏览次数:23  
标签:std const string c++ Month Date u32 9.52 primer

萌新业余时间学c++中,学过一点c之前,下面一个自己写的9.52答案,尽量用到了前面学到的知识,与大加分享交流一下,希望能互相讨论学习。

/**
****************************************************************************************
* @FilePath: MyDate.h
* @Author: YMM
* @Date: 2024-04-07 22:00:13
* @LastEditors:
* @LastEditTime: 2024-04-07 22:00:13
* @Copyright: 2024 xxxTech CO.,LTD. All Rights Reserved.
* @Descripttion:
****************************************************************************************
*/
#ifndef _MYDATE_
#define _MYDATE_
#include <string>
#include <vector>
class MyDate
{
public:
    MyDate(const std::string &Date)
    {
        int i = 1;
        Month = 0;
        for (const auto &it : MonthVector)
        {

            if (Date.find(it) != std::string::npos) // 匹配到月份单词
            {
                Month = i;
            }
            ++i;
        }
        std::string str(" /");
        auto be = Date.begin() + Date.find_first_of(str);
        auto en = Date.begin() + Date.find_last_of(str);
        std::string Y(en + 1, Date.end()),M(Date.begin(),be), D(be + 1, en);
        Year = stoi(Y);
        if(0 ==Month)
        {
            Month = stoi(M);
        }
        Day = stoi(D);
    }
    using u32 = unsigned int;
    u32 GetYear() const { return this->Year; }
    u32 GetMonth() const { return this->Month; }
    u32 GetDay() const { return this->Day; }
private:
    u32 Year;
    u32 Month;
    u32 Day;
    std::vector<std::string> MonthVector{
        "January", "February", "March", "April", "May", "June", "August",
        "September", "October", "November", "December"};
};

#endif

标签:std,const,string,c++,Month,Date,u32,9.52,primer
From: https://blog.csdn.net/weixin_45706621/article/details/137482223

相关文章

  • C++之静态变量和全局变量的区别
    全局变量和静态变量的存储方式是一样的,只是作用域不同。静态局部变量具有局部作用域只对定义自己的函数可见,只被初始化一次,自从初始化一次之后直到程序运行期间一直都在。静态全局变量具有全局作用域作用于定义它的程序文件但是不能作用于项目里的其它文件,这一点和全局变......
  • C++学习笔记九--模版
    目录前言1.函数模版1.函数模版的概念和定义2.函数模版的实例化2.类模版1.类模版的概念和定义2.类模版的实例化3.示例代码前言        这篇文章介绍下C++中的模版,包括函数模版和类模版。1.函数模版    在编程的过程中,编写函数都会考虑将其写......
  • C++智能指针学习——小谈引用计数
    目录前言控制块简介共享控制块引用计数与弱引用计数创建过程__shared_ptr__shared_count_Sp_counted_base弱引用计数增加过程再谈共享控制块__weak_count引用计数增加过程弱引用计数的减少过程弱引用计数减为0引用计数的减少过程引用计数减为0参考文章前言本文结合源码讨论std::......
  • C++基础——函数
    C++语言函数基础:(这部分基础内容也是C语言的基础函数内容)函数是用函数名来调用执行的具有特定功能的语句块。为降低编写大程序的复杂度,必须将其分解为较小、较简单的模块。函数和类是构造C++程序的基本模块。函数分为:函数声明、函数定义、函数调用函数声明声明函数,这通常......
  • C++笔记打卡第五天(指针、结构体)
    1.指针inta=10;//指针定义的语法:数据类型*指针变量名int*p;p=&a;//也可以直接定义为:int*p=&acout<<&a<<endl;cout<<p<<endl;//可以通过解引用的方式来找到指针指向的内存(可以修改a的值)*p=1000;cout<<*p<<endl;cout<<a<&......
  • C++笔记打卡第六天(通讯录管理系统)
    1.结构体案例1每名老师带领5个学生,总共有3个老师。设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员。学生的成员有姓名、考试分数,创建数组存放3名老师,通过函数给每个老师及所带的学生赋值。最终打印出老师数据以及老师所带学生数据。#......
  • C++ Break、Continue 和 数组操作详解
    C++Break和Continuebreak语句还可以用来跳出循环。在以下示例中,当i等于4时跳出循环:for(inti=0;i<10;i++){if(i==4){break;}cout<<i<<"\n";}C++Continue以下示例跳过了值为4的情况:for(inti=0;i<10;i++){if(i==4)......
  • C++中的类与对象丶this指针和构造函数与析构函数 (一)
    C++中的类与对象和this指针(一)一丶类与对象1.类的引入2.类的实例化3.类的类型的大小I.计算类或对象的大小II.规定空类占一个字节大小4.类中的访问权限5.类中的构造函数和析构函数I.构造函数II.析构函数二丶this指针1.this指针的引出2.this指针的特性3.th......
  • 上海计算机学会2020年5月月赛C++丙组T2计算GPA
    题目背景GPA是GradePointAverage的简写,是高校采用的一种评估学生成绩的制度。题目描述要计算一个学生的GPA,先将每门学科的等第换算成为一个绩点,规则为:等第 A 为 44 分;等第 B 为 33 分;等第 C 为 22 分;等第 D 为 11 分;如果有 + 号后缀,则加 0.30.3 ......
  • 【每周例题】蓝桥杯 C++ 鸡哥的蛋糕大作战
    鸡哥的蛋糕大作战题目鸡哥的蛋糕大作战 题目分析1.使用一个for循环遍历全数,寻找最大洞的数2.使用一个while进行数位拆分,寻找洞的数量3.使用if从两个条件寻找最大洞的最小数符合最大洞的数洞数相同中的最小数代码#include<iostream>#include<bits/stdc++.h>using......