莫急,莫躁,成长计划刚开始,我想还不晚

作者因职业发展的迷茫与急躁,通过与经理交谈获得启发,决定明确个人发展目标,成为一名专注于应用层开发的软件工程师,并提升自身职业修养。

最近这段时间,又开始莫名的急躁,工资的增长似乎已经不能让心踏实下来,工作上遭遇的瓶颈也让本来就躁动的心更加无所适从,看到公司其他年轻的同事每天那么没心没肺的那么努力工作,忽然发觉自己心态有点老了。

因为一直对自己的定位很模糊,也就造成自己目标总是那么空泛,也使劲却找不到方向,就像一个饿肚子却没有找不到嘴巴的怪物,心急火燎。那天我找到的公司的经理,短暂的交谈使我豁然开朗,我想要的东西太多了,总是左一口又一口的,很难出成绩,个人的职业发展也是很忌讳这种做法的,所以经过两天的思考,把自己的目标清晰化,希望能缓解自己的烦躁情绪,早日踏上激情的奔途!

个人目标:一个具有高度职业修养专注应用层开发的软件工程师

我要把更多的精力放在应用层,不再去弄uboot了,也不没事就弄内核

要对Linux/Window的应用开发精通,再学一门编程序言C#,精通网络编程。

职业修养:这个绝对是最重要的,“态度决定一切”,这句话正在我的工作中得到印证,专业就是专业,业余就是业余,我还差的很多,严格要求自己,早日成大牛!

---------------------------------------------------------------------------------

系统程序员成长起步之----研读李老师的《系统程序员成长计划》

时间:2010-01-07 -- 2010-02-20天

学习内容:关注书本内容以及延伸知识,及时应用到自己的代码中。

学习心得多记录于blog中

---------------------------------------------------------------------------------

 

 

 

<think> 我们有一个字符串输入,格式应该是类似"YYYYMMDD"或者有固定格式的字符串(例如"2023-10-29"),但原代码中索引5、6和8、9的位置,说明可能是格式如"2023-10-29"(即长度为10,索引从0开始:0~9)。所以,第5、6个字符是月份(例如"10"),第8、9个字符是日期(例如"29")。 目标:判断日期是否小于10月29日(注意:小于10月29日,包括10月29日之前的所有日期,以及10月28日等,但不包括10月29日及以后?) 但原代码逻辑是:如果月份大于10或者日期大于29,则输出"QAQ",否则输出"No, It's not too late."。这个逻辑实际上是在判断日期是否大于10月29日(即月份大于10,比如11月、12月,或者月份等于10但日期大于29)。反过来,如果月份小于10,或者月份等于10但日期小于等于29,则输出"No, It's not too late."。 然而,用户要求是判断输入日期是否小于10月29号。注意:这里的小于是指在日历上早于10月29日,即10月29日之前(不包括10月29日当天?还是包括?) 根据原代码的输出字符串,如果日期是10月29日,原代码会输出"No, It's not too late.",因为月份等于10(不大于10),日期等于29(不大于29),所以条件不满足。 但是,用户现在要求判断是否小于10月29号。我们需要明确: - 小于10月29号:即日期在10月29日之前,不包括10月29日。 - 例如:10月28日是小于10月29的,10月30日则不是。另外,9月的任何一天都是小于10月29的。 因此,我们实际上要判断的是:给定日期date,是否满足 date < 10月29日。 我们可以这样考虑: 1. 如果月份小于10,那么一定小于10月29日(因为还在9月或更早)。 2. 如果月份等于10,那么需要日期小于29。 3. 如果月份大于10(比如11月),那么肯定大于等于10月29日(因为已经过了10月)。 所以,条件应该是:月份小于10,或者(月份等于10且日期小于29)。 注意:原代码的条件是“月份大于10 或者 日期大于29”,这个条件成立时输出"QAQ"(表示已经晚了),否则输出“不晚”。实际上,原代码判断的是大于10月29日(即晚于10月29日)的情况。 因此,如果我们要判断是否小于10月29日,那么条件应该是:月份小于10 或者 (月份等于10且日期小于29)。 但是,原代码的输出字符串有两句:"QAQ"和"No, It's not too late."。根据用户要求,我们修改代码,使其判断输入日期是否小于10月29日,如果是,则输出一条信息(比如原代码的“No, It's not too late.”?),否则输出另一条(比如原代码的"QAQ"?)。 实际上,原代码的输出含义: - 条件成立(即月份>10或日期>29)时输出"QAQ"(表示晚了) - 条件不成立时输出"No, It's not too late."(表示不晚) 现在,我们要的是判断“小于10月29日”,那么条件成立(小于10月29日)时应该输出什么?我们可以保持输出字符串不变,即小于10月29日时输出“No, It's not too late.”,否则输出"QAQ"。 所以,我们需要将条件改为:月份小于10 或者 (月份等于10且日期小于29)。注意这个条件是判断“小于10月29日”成立的条件。 因此,修改后的条件表达式: ```cpp (month < 10 || (month == 10 && day < 29)) ``` 然后,我们在这个条件成立时输出“No, It's not too late.”,否则输出"QAQ"。 但是,原代码的条件是相反的(它是判断大于的情况),所以我们也可以反过来写条件:如果满足(月份大于10)或者(月份等于10且日期大于等于29)或者(月份等于10且日期大于等于29实际上就是大于等于10月29日)?注意,原代码的条件是“月份大于10 或者 日期大于29”,这个条件会把10月30日、31日以及11月、12月的日期都包括,但它没有正确处理10月29日(因为10月29日,日期等于29,不大于29,所以不会触发,所以原代码在10月29日输出“No”)。而我们要求小于10月29日,所以10月29日我们希望输出的是“QAQ”(因为不小于)? 所以,我们重新定义: - 当日期小于10月29日时(即月份<10,或者月份=10且日期<29),输出“No, It's not too late.”(表示还不晚)。 - 否则(即大于等于10月29日),输出"QAQ"(表示晚了)。 因此,代码逻辑如下: 1. 提取输入字符串中的月份和日期(转换为整数)。 2. 判断:if (月份 < 10 || (月份 == 10 && 日期 < 29)) cout << "No, It's not too late."; else cout << "QAQ"; 注意:原代码中,输入字符串的格式应该是类似于"2023-10-29"(有分隔符)?因为原代码使用了索引5,6和8,9。如果是没有分隔符的"YYYYMMDD",那么月份应该在索引4,5(从0开始),日期在索引6,7。但是原代码中索引的是5,6和8,9,所以可能是"2023-10-29"这种格式(长度为10,索引0~9:0:'2',1:'0',2:'2',3:'3',4:'-',5:'1',6:'0',7:'-',8:'2',9:'9')。 所以,我们假设输入格式是"YYYY-MM-DD",那么: - 月份子串:索引5和6,即a.substr(5,2) - 日期子串:索引8和9,即a.substr(8,2) 然后转换为整数。 同时,我们需要检查输入字符串长度至少为10。 修改后的代码: ```cpp #include <iostream> #include <string> using namespace std; void ac() { string a; cin >> a; // 检查输入字符串长度 if (a.length() < 10) { cout << "Invalid input" << endl; return; } // 提取月份和日期 string monthStr = a.substr(5, 2); string dayStr = a.substr(8, 2); // 转换为整数 int month = stoi(monthStr); int day = stoi(dayStr); // 判断是否小于10月29日(即月份小于10,或者月份等于10且日期小于29) if (month < 10 || (month == 10 && day < 29)) { cout <<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值