首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将用户输入字符串转换为int

将用户输入字符串转换为int
EN

Stack Overflow用户
提问于 2013-03-20 14:36:37
回答 4查看 1.4K关注 0票数 0

我正在编写一个使用date类的程序。

用户输入日(int)、月(string)和年(int)。然后,用户为要输出的日期选择4格式中的1

但是,其中两种格式将月份(string)显示为整型。例如,格式1将是Mar 19, 2013。格式2将为3 - 19 - 2013

因此,我的问题是如何获取用户输入的月份(string),将其转换为正确的int,然后显示它?

EN

Stack Overflow用户

发布于 2013-03-20 14:55:26

试试这个方法..

代码语言:javascript
复制
void displayType1(int day, string month, int year)
{
   cout << month <<" "<< day;
   if(day == 1) cout << "st, ";
   if(day == 2) cout << "nd, ";
   if(day == 3) cout << "rd, ";
   if(day > 3) cout << "th, ";
   cout << year << "\n"; 
}

void displayType2(int day, string month, int year)
{
   map<string, int> m;
   m["January"] = 1;
   m["February"] = 2;
   m["March"] = 3;
   m["April"] = 4;
   m["May"] = 5;
   m["June"] = 6;
   m["July"] = 7;
   m["August"] = 8;
   m["September"] = 9;
   m["October"] = 10;
   m["November"] = 11;
   m["December"] = 12;

   cout << m[month] << "-" << day << "-" << year << "\n";
}

.. and so on


void ConvertAndDisplayDate(string date, short type)
{
   ostringstream os(date);
   int day, year;
   string month;
   os >> day >> month >> year;

   switch(type) {
     case 1:
       displayType1(day, month, year);
       break;
    case 2:
       displayType2(day, month, year);
       break;
    case 3:
       displayType3(day, month, year);
       break;
    case 4:
       displayType4(day, month, year);
        break;
   }
}
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15516849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档