Open snoopuppy opened 3 weeks ago
using namespace std;
int calculate(string operation, vector
int main(int argc, char* argv[]) { if (argc != 4) { cerr << "用法: " << argv[0] << " 请输入选择执行运算的文件名" << endl; cerr << "请选择输入: add, minus, multiply, divide" <<"来决定需要进行的计算" << endl; cerr << "示例: " << argv[0] << " add numbers.txt" << endl; cerr << "程序将对文件中的数字进行相对应的加减乘除的操作。" << endl; return 1; }
string operation = argv[1];
string filename = argv[2];
vector<int> numbers;
ifstream file(filename);
if (!file.is_open()) {
cerr << "Error opening file: " << filename << endl;
return 1;
}
int num;
while (file >> num) {
numbers.push_back(num);
}
file.close();
if (numbers.empty()) {
cerr << "Error: File is empty." << endl;
return 1;
}
int result = calculate(operation, numbers);
cout << result << endl;
return 0;
}
GitHub学习笔记 8月21日 在阅读《Git和GitHub讲解》时,基于ppt的描述比较简洁,遇到了很多的困难,在学习这个的使用的时候,大部分参照的是b站的视频以及CSDN中学者分享的笔记。
一、在学习pdf的内容之前,我首先了解了一下Git和GitHub之间的联系与区别: 1、Git是一款分布式版本控制系统,允许我们在本地进行版本控制,跟踪代码的每一次变动,并可以将这些变动记录保存起来,几乎可以用于任何需要版本控制的项目。 2、GitHub则是一个基于Git的远程仓库托管平台,我们可以创建、共享和协作开发各种项目,它提供了一个更加友好的Web界面,让我们可以轻松地查看、下载和提交代码,并且可以进行社交活动,学习别人的code。
二、借助bilibili网站,学习理解pdf的内容: 1、初次运行Git前的配置+常用命令介绍 在这两步中,发现了一些问题,比如在使用命令行输入时,按照pdf的介绍的顺序来才不容易出错,然而由于pdf的介绍比较简单,实际上有一些需要注意的问题存在:①下载的文件夹没有编辑权限,由于默认文件夹处于c盘,可能存在于隐藏文件夹中,所以不易发现,并且权限可能锁定。所以需要注意新建顺手的文件夹,并且在文件夹内右键打开“Git Bash”②在添加文件与提取文件的时候,存在git和github的联动,这也是比较容易出错的点,这个“filename”的选择比较关键,解决方案也在于我们新建的文件夹,可以在其中找到相应的文件名。③添加远程库:创建SSH key的时候,文件夹可能被隐藏,pdf没有解释清楚,可以通过哔哩哔哩学习。 2、Git的分支管理 这部分的内容通过pdf我并不能很好地理解,分支的作用以及git命令行的执行与github的关系我没有摸索清楚,这部分的学习今天并未推进。
一、今天做了什么? 1、下载了Git,学习了关于GitHub和Git的使用,在电脑上配置了Git的环境。2、重新下载VS并写了一个关于calculator的程序。3、使用微信开发者工具进行小程序的开发,设置了两个页面实现组队的信息录入与“摇一摇”功能。 二、今天最有收获的点。 在学习的过程中,网络提供了很大的便利,可以通过CSDN、bilibili等平台解决当前存在的困扰。 三、今天解决了什么问题?解决方案。 1、在下载和配置Git的时候,出现了一系列的问题,比如找不到SSN key所在的文件夹,在使用“Git Bash”的时候,默认的文件夹存在C盘的隐藏文件夹中,无权限打开。在进行“git status”时遇到的问题最大。 解决方案:首先寻求网络的帮助,借助CSDN对该问题进行了检索,寻找到的解决方案经过尝试后发现并不适用。随后寻求计算机系同学的帮助解决了问题:建立一个新建文件夹,并且把需要处理的数据库放在里面,再通过右键打开“Git Bash” 2、使用微信开发者工具的时候发现模板单一,没有我们需要的模板。解决方案:发现代码的书写和曾经使用的“Latex”格式比较类型,内容可以搬用,所以可以自己做出一些书写。同时借助了AI工具进行使用,帮助小程序开发的完成。 四、今天还有什么问题没解决,接下来的大致计划。 1、Git的使用中,还没有对“创建与合并分支”的内容进行学习,需要在接下来的一天内完成学习。 2、在制作小程序的时候,发现模拟器的内容和手机小程序呈现的内容有出入,需要和队友讨论后进行完善。
using namespace std;
/**
@return 操作结果
*/
int calculate(const string& operation, const vector
int result = numbers[0]; size_t size = numbers.size();
if (operation == "add") { for (size_t i = 1; i < size; ++i) { result += numbers[i]; } } else if (operation == "minus") { for (size_t i = 1; i < size; ++i) { result -= numbers[i]; } } else if (operation == "multiply") { for (size_t i = 1; i < size; ++i) { result *= numbers[i]; } } else if (operation == "divide") { for (size_t i = 1; i < size; ++i) { if (numbers[i] == 0) { cerr << "错误:除数为零。" << endl; return 0; } result /= numbers[i]; } } else { cerr << "错误:不支持的操作 '" << operation << "'。" << endl; return 0; } return result; }
int main(int argc, char* argv[]) {
// 检查命令行参数
if (argc != 3) {
cerr << "用法: " << argv[0] << "
string operation = argv[1];
string filename = argv[2];
vector<int> numbers;
// 从文件中读取数字
ifstream file(filename);
if (!file) {
cerr << "打开文件错误: " << filename << endl;
return 1;
}
int num;
while (file >> num) {
numbers.push_back(num);
}
if (file.bad()) {
cerr << "从文件读取错误: " << filename << endl;
return 1;
}
file.close();
if (numbers.empty()) {
cerr << "错误:文件为空或没有找到有效的数字。" << endl;
return 1;
}
// 计算并输出结果
int result = calculate(operation, numbers);
if (result != 0 || (operation == "divide" && numbers.size() == 1)) {
cout << result << endl;
}
return 0;
}
日报8月22日 一、今天做了什么?
8月23日日报
8月24日日报 1、今天做了什么? 项目Beta发布:成功完成了LinkYou小程序的Beta版本发布,经过多轮测试与调整,确保了基础功能的稳定性和用户体验的流畅性。 大作业主题确定:与团队成员共同商讨并确定了接下来一周的大作业主题,明确了项目进一步发展的方向和目标。 成员分工:根据团队成员的专长和能力,详细分配了接下来大作业的具体任务,确保每个关键环节都有人负责,以提高团队协作效率。 问题总结与反思:组织团队进行了项目回顾会议,深入分析了LinkYou小程序开发过程中遇到的问题,包括功能匹配度、团队协作及时间管理等方面,为后续工作提供改进依据。 2、今天最有收获的点。 团队协作意识的增强:通过今天的分工讨论,团队成员更加清晰地认识到各自的角色和责任,增强了团队的整体协作意识和责任感。 明确的方向与目标:大作业主题的确定,为团队接下来的工作指明了方向,帮助大家更加聚焦于项目的核心价值和创新点。 问题反思的价值:对开发过程中问题的深入反思,不仅让我们看到了当前的不足,也为我们提供了宝贵的经验教训,为未来的项目开展奠定了坚实的基础。 3、今天解决了什么问题?解决方案。 问题:预期功能和开发能力不匹配。 解决方案:通过调整项目计划,优先实现核心且可行的功能,对于超出当前技术能力的功能进行延期或寻求外部支持。同时,鼓励团队成员加强学习,提升技术能力。 问题:队友之间配合不够细致。 解决方案:建立更加细致的沟通机制和协作流程,如定期召开站会、使用项目管理工具跟踪进度等,确保每位成员都能及时了解项目动态,减少信息孤岛。 4、今天还有什么问题没有解决?接下来的大致计划。 未解决问题一:分工后各个成员对内容的认领 计划:组织一次明确的分工确认会议,确保每位成员都清楚自己的任务范围、时间节点及预期成果。同时,设立一个反馈机制,以便成员在执行过程中遇到问题时能够及时沟通解决。 未解决问题二:需要开发的小程序与竞品之间的优势和创新点 计划:首先进行市场调研,分析竞品的特点和不足之处。然后,结合LinkYou小程序的实际需求和用户反馈,确定我们的独特卖点和创新方向。最后,制定详细的实施计划,逐步将这些优势和创新点融入到产品开发和推广中。 总结:今天我们在项目Beta发布、大作业主题确定及成员分工等方面取得了显著进展,同时也对开发过程中遇到的问题进行了深入反思。接下来,我们将继续加强团队协作,优化项目管理流程,努力解决剩余问题,推动项目向更高质量、更高效的方向发展。
8月26日日报
8月27日日报
8月28日日报
8月29日日报 1、今天做了什么? 功能测试与优化:今日团队集中对小程序的核心功能进行了全面的测试,包括内容显示、界面交互等,确保已实现的基本功能稳定运行,无重大bug。 文档编写:编写了小程序的用户手册和开发文档,以便后续运维和可能的二次开发能够顺利进行。 问题复盘:各开发针对在制作小程序过程中遇到的问题进行汇总交流,并整合成问题陈述与总结的文档,为发布会进行准备。 发布会准备:分工对发布会内容与PPT进行制作,完成基本汇报内容。 2、今天最有收获的点 团队协作效率提升:通过今日的高效协作与交流,我深刻体会到团队沟通的重要性。在功能测试阶段,及时的信息共享和问题反馈机制极大地加速了问题的解决速度。 3、今天解决了什么问题?解决方案 问题:在测试过程中发现,部分用户在低版本操作系统上运行时,界面渲染存在细微差异,影响美观。 解决方案:经过技术团队讨论,共同对代码进行修改调整,针对不同操作系统版本和屏幕尺寸进行适配,确保界面在不同环境下都能保持良好的显示效果。 4、今天还有什么问题没有解决,接下来的大致计划 未解决问题: 用户吸引力提升:目前小程序虽已具备基本功能,但如何设计新颖的功能或活动来吸引用户关注和使用,仍是待解难题。 外部链接引入:由于小程序平台限制,直接在小程序内打开外部网页链接存在技术障碍,需要探索可行的解决方案,如使用小程序内嵌的web-view组件或引导用户至小程序外操作。 接下来计划: 提升用户粘性:计划开展用户调研,收集目标用户群体的需求和偏好,为提升小程序吸引力提供数据支持。 技术探索:深入研究小程序平台的技术文档和社区资源,利用AI与开源代码,寻找引入外部链接的合规方法,或开发替代方案以满足用户需求。 创意策划:组织创意讨论会,集思广益,设计新颖的活动或功能点,增加小程序的趣味性和互动性,从而吸引更多用户。同时基于用户反馈和数据分析,不断优化小程序的功能和界面,提升用户体验,为最终发布做好充分准备。
8月30日日报 1、今天做了什么? 产品测试:上午时段,我协同队友们对最新开发的小程序进行了全面测试,覆盖了主要功能点、用户体验流程以及性能表现等多个方面,确保产品上线的稳定性和可用性。 PPT补充:根据测试过程中收集到的反馈和发现的问题,我下午对项目演示PPT进行了针对性的补充和修正,确保汇报材料能够准确反映产品当前状态及待改进点。 团队交流:测试结束后,我们组织了团队会议,就测试报告中的亮点与不足进行了深入讨论,每位队友都积极提出了自己的修改意见,通过集思广益,共同确定了后续优化方向。 小程序完善:基于团队讨论结果,我协助技术团队对小程序进行了最后的调整和优化,解决了几个关键bug,确保小程序能够按预期完成并达到上线标准。 2、今天最有收获的点 团队协作的力量:今天深刻体会到了团队间高效沟通与协作的重要性。通过集体测试、反馈收集及快速响应,我们能够在短时间内发现并解决问题,显著提升了工作效率。 3、今天解决了什么问题?解决方案 问题:在今天的测试过程中,我们遇到了几个关键的bug,其中最主要的是页面无法正常跳转的问题。这个问题严重影响了用户在小程序内的导航流畅性和整体体验。 解决方案: 问题定位:首先,我们复现了页面无法跳转的问题,并仔细检查了相关代码。通过日志分析和断点调试,我们定位到了问题所在——跳转逻辑中存在条件判断错误,导致在某些情况下跳转指令被错误地忽略。 代码修正:针对定位到的问题,我们对跳转逻辑进行了修正。调整了条件判断的逻辑,确保在所有预期情况下都能正确执行跳转指令。同时,也增加了跳转失败时的错误处理机制,以便在类似问题再次发生时能够给出明确的提示信息。 回归测试:修正代码后,我们重新进行了回归测试,不仅覆盖了之前出现问题的场景,还增加了额外的测试用例来验证跳转功能的全面性和稳定性。测试结果显示,页面跳转问题已得到彻底解决。 文档更新:为了避免类似问题在未来开发中再次发生,我们还更新了相关的开发文档和测试用例,增加了对跳转功能的详细描述和测试指导。4、今天还有什么问题没有解决,接下来的大致计划 未解决问题:虽然小程序主体功能已完善,但部分边缘场景下的用户体验仍有待提升,如某些复杂交互界面的响应速度及用户引导不够直观。 问题:发现小程序在特定网络环境下加载速度较慢,影响用户体验。 接下来计划: 性能优化:继续对小程序进行性能调优,特别是针对那些用户反馈较多的慢响应场景,确保流畅的用户体验。 持续迭代:发布会分享成果,邀请同学们试用,根据用户反馈和数据分析结果,制定后续迭代计划,持续优化产品功能和用户体验。
8月31日日报
2024年8月20日 1、今天做了什么? 学习了关于产品的基本知识,尤其是在产品需求方面的内容。在读书分享的过程中,对《俞军产品方法论》这本书印象深刻,并且在课堂中也作为了例子使用。学习了一些关于GitHub的基本功能的使用方法,下载了Git,完成了注册,浏览了一下《GitHub学习笔记》。安装并且登录使用了小程序开发工具(教育套件)。 2、今天最有收获的点。 在产品需求的分析中,最有收获的点是:把理论和实例结合理解内涵。在课堂上的讨论时,都是以举例的形式来对问题进行回答,存在即合理吧,能够帮助我更好地理解一个互联网产品为什么会兴盛或衰败。 3、今天解决了什么问题?解决方案。 第一天并没有实际解决什么问题,主要是团队之间的熟悉,进行团队的分工。比较明确的地方是,团队对课程都是抱着比较认真的态度进行的,今天讨论确定了一下之后的团队项目的方向,以及进度上面的安排与推进。此外,对于小程序的制作方面,打算借用已有的平台,选择一些更为集成的工具、并且借助AI来完成任务。在创新方面,各组员交流了一下自己的想法和意见。 4、今天还有什么问题未解决,接下来大致计划(几句话) 浏览了一下《GitHub学习笔记》,接下来是认真学习一下具体内容。以及和团队成员进一步交流意见,分工进行项目的推进与完善。