当前位置: 首页 > news >正文

潍坊网站建设报价费用广州制片公司网站

潍坊网站建设报价费用,广州制片公司网站,免费创建网站平台有哪些,网站建设的售后《类与对象》实验 《类与对象》实验任务书 一、实验要求 本次《类与对象》实验#xff0c;是基于 “高级程序设计”和“高级程序设计实验”课程学习内容的重要实践环节#xff0c;实验目的是通过综合性实验#xff0c;培养学生面向对象程序设计思想#xff0c;掌握类和对象… 《类与对象》实验 《类与对象》实验任务书 一、实验要求 本次《类与对象》实验是基于 “高级程序设计”和“高级程序设计实验”课程学习内容的重要实践环节实验目的是通过综合性实验培养学生面向对象程序设计思想掌握类和对象相关概念和编程技能培养和提高学生的独立分析问题、解决实际问题的能力和计算机语言编程能力。要求学生独立完成相关设计题所规定的任务。进度安排建议如下1、阅读设计题目、任务内容规划设计进度并进行软件各相关功能模块的设计。2、在编译环境下用面向对象的程序设计思想进行软件设计、开发及调试。3、整理实验按cg上要求完成实验总结。 二、实验目的 能够使用面向对象程序设计思想构造灵活、具有一定弹性和扩展型的面向对象程序。通过程序调试加深对抽象、封装、类、对象等面向对象概念的理解掌握方法重载、访问控制及构造函数等机制的实现方法。三、实验任务 本次实验的任务为设计实现一个“小型学生成绩管理系统”用于管理学生各科成绩信息并能提供各种数据分析和处理功能。要求系统设计具有一定弹性和可扩展性使得后续维护和扩展功能更容易增加或修改系统功能变得更简单。基本要求和功能如下1、管理的信息包括但不限于学生姓名学号班级专业课程名称课程编号课程成绩等课程成绩2到3门即可2、系统可以显示全部信息可以增加、删除、修改和查询各种情况的学生信息3、系统可以统计和分析相关成绩例如平均成绩最高分成绩最低分成绩等四、成绩评定要素 本次实验成绩占期末总评成绩的20%实验成绩百分制。实验考核标准如下1. 程序设计类的定义是否合理封装是否完好等程序的可用性实用性通用性可扩充性(程序设计源代码)40%2. 实验操作调试程序的能力30%3. 实验总结总结的完成情况30%源码如下 #include iostream // 引入输入输出流库用于控制台的输入输出操作 #include string // 引入字符串库用于处理字符串 #include vector // 引入向量库用于动态数组操作 #include algorithm // 引入算法库用于排序、查找等算法操作 #include cstdlib // 引入标准库包含一些常用的函数和宏定义 #include map // 引入映射库用于键值对的存储// 学生类定义 class Student { public:std::string name; // 学生姓名std::string id; // 学生学号std::string className; // 学生所在班级std::string major; // 学生所学专业// 构造函数用于创建Student对象时初始化成员变量Student(const std::string name, const std::string id, const std::string className, const std::string major): name(name), id(id), className(className), major(major) {} };// 课程类定义 class Course { public:std::string name; // 课程名称std::string code; // 课程编号// 构造函数用于创建Course对象时初始化成员变量Course(const std::string name, const std::string code): name(name), code(code) {} };// 成绩类定义 class Score { public:std::string studentId; // 学生学号std::string courseCode; // 课程编号int grade; // 成绩// 构造函数用于创建Score对象时初始化成员变量Score(const std::string studentId, const std::string courseCode, int grade): studentId(studentId), courseCode(courseCode), grade(grade) {} }; // 学生成绩管理类 class StudentScoreManager { private:// 存储学生信息的向量std::vectorStudent students;// 存储课程信息的向量std::vectorCourse courses;// 存储成绩信息的向量std::vectorScore scores;public:// 添加学生到学生信息向量中void addStudent(const Student student){students.push_back(student);}// 添加课程到课程信息向量中void addCourse(const Course course){courses.push_back(course);}// 添加成绩到成绩信息向量中void addScore(const Score score){scores.push_back(score);}// 显示所有信息包括学生、课程和成绩void displayAll() const{// 遍历学生信息向量并打印for (const auto student : students){std::cout 姓名: student.name \n ID: student.id \n 班级: student.className \n 专业: student.major \n std::endl;}// 遍历课程信息向量并打印for (const auto course : courses){std::cout 课程名称: course.name , 课程代码: course.code std::endl;}// 遍历成绩信息向量并打印for (const auto score : scores){std::cout 学生ID: score.studentId , 课程代码: score.courseCode , 成绩: score.grade std::endl;}// 暂停程序等待用户按键Windows系统system(pause);// 清除控制台屏幕Windows系统system(cls);}// 统计分析成绩每个科目独立void analyzeScores() const{// 创建一个映射键为课程代码值为成绩向量std::mapstd::string, std::vectorint courseGrades;// 遍历成绩向量将成绩按课程代码分类存储for (const auto score : scores){courseGrades[score.courseCode].push_back(score.grade);}// 如果没有成绩可以分析则输出提示信息并退出函数if (courseGrades.empty()){std::cout 没有可以分析的成绩 std::endl;system(pause); // 暂停程序等待用户按键system(cls); // 清除控制台屏幕return;}// 遍历映射对每一门课程计算平均分、最高分和最低分for (const auto entry : courseGrades){const std::string courseCode entry.first; // 获取课程代码const std::vectorint grades entry.second; // 获取成绩向量int sum 0;for (int grade : grades){sum grade; // 计算成绩总和}double average static_castdouble(sum) / grades.size(); // 计算平均分int maxGrade *std::max_element(grades.begin(), grades.end()); // 获取最高分int minGrade *std::min_element(grades.begin(), grades.end()); // 获取最低分// 输出课程代码、平均分、最高分和最低分std::cout 课程代码: courseCode \n;std::cout 平均分: average \n;std::cout 最高分: maxGrade \n;std::cout 最低分: minGrade \n\n;}system(pause); // 暂停程序等待用户按键system(cls); // 清除控制台屏幕}// 删除学生信息void deleteStudent(const std::string studentId){// 使用remove_if算法查找并移除匹配给定学生ID的学生信息auto it std::remove_if(students.begin(), students.end(), [studentId](const Student student){ return student.id studentId; });// 移除从it到end()之间的元素完成删除操作students.erase(it, students.end());}// 修改学生信息void modifyStudent(const std::string studentId, const Student newStudent){// 遍历学生列表for (auto student : students){// 如果找到ID匹配的学生if (student.id studentId){// 使用新的学生信息替换旧的学生信息student newStudent;// 修改成功退出循环return;}}// 如果没有找到匹配的学生则此函数不会输出任何信息可能需要添加提示信息}// 查询学生信息void queryStudent(const std::string studentId){// 遍历学生列表for (const auto student : students){// 如果找到ID匹配的学生if (student.id studentId){// 输出学生的信息std::cout 姓名: student.name \n ID: student.id \n 班级: student.className \n 专业: student.major \n std::endl;// 暂停程序等待用户按键system(pause);// 清除控制台屏幕system(cls);// 查询成功退出函数return;}}// 如果没有找到匹配的学生输出提示信息std::cout 学生未找到. std::endl;// 暂停程序等待用户按键system(pause);// 清除控制台屏幕system(cls);}// 删除课程信息void deleteCourse(const std::string courseCode){// 使用remove_if算法查找并移除匹配给定课程代码的课程信息auto it std::remove_if(courses.begin(), courses.end(), [courseCode](const Course course){ return course.code courseCode; });// 移除从it到end()之间的元素完成删除操作courses.erase(it, courses.end());}// 修改课程信息void modifyCourse(const std::string courseCode, const Course newCourse){// 遍历课程列表for (auto course : courses){// 如果找到课程代码匹配的课程if (course.code courseCode){// 使用新的课程信息替换旧的课程信息course newCourse;// 修改成功退出循环return;}}// 如果没有找到匹配的课程则此函数不会输出任何信息可能需要添加提示信息}// 查询课程信息void queryCourse(const std::string courseCode){// 遍历课程列表for (const auto course : courses){// 如果找到课程代码匹配的课程if (course.code courseCode){// 输出课程名称和课程代码std::cout 课程名称: course.name , 课程代码: course.code std::endl;// 暂停程序等待用户按键system(pause);// 清除控制台屏幕system(cls);// 查询成功退出函数return;}}// 如果没有找到匹配的课程输出提示信息std::cout 课程未找到. std::endl;// 暂停程序等待用户按键system(pause);// 清除控制台屏幕system(cls);}// 删除成绩信息void deleteScore(const std::string studentId, const std::string courseCode){// 使用remove_if算法查找并移除匹配给定学生ID和课程代码的成绩信息auto it std::remove_if(scores.begin(), scores.end(), [studentId, courseCode](const Score score){ return score.studentId studentId score.courseCode courseCode; });// 移除从it到end()之间的元素完成删除操作scores.erase(it, scores.end());}// 修改成绩信息void modifyScore(const std::string studentId, const std::string courseCode, int newGrade){// 遍历成绩列表for (auto score : scores){// 如果找到匹配的学生ID和课程代码的成绩if (score.studentId studentId score.courseCode courseCode){// 使用新的成绩替换旧的成绩score.grade newGrade;// 修改成功退出循环return;}}// 如果没有找到匹配的成绩则此函数不会输出任何信息可能需要添加提示信息}// 查询成绩信息void queryScore(const std::string studentId, const std::string courseCode){// 遍历成绩列表for (const auto score : scores){// 如果找到匹配的学生ID和课程代码的成绩if (score.studentId studentId score.courseCode courseCode){// 输出学生ID、课程代码和成绩std::cout 学生ID: score.studentId , 课程代码: score.courseCode , 成绩: score.grade std::endl;// 暂停程序等待用户按键system(pause);// 清除控制台屏幕system(cls);// 查询成功退出函数return;}}// 如果没有找到匹配的成绩输出提示信息std::cout 成绩未找到. std::endl;// 暂停程序等待用户按键system(pause);// 清除控制台屏幕system(cls);} };int main() {StudentScoreManager manager;int choice;do{std::cout 学生成绩管理系统 std::endl;std::cout 请选择操作 std::endl;std::cout 1. 添加学生 std::endl;std::cout 2. 添加课程 std::endl;std::cout 3. 添加成绩 std::endl;std::cout 4. 分析成绩 std::endl;std::cout 5. 显示所有信息 std::endl;std::cout 6. 删除学生信息 std::endl;std::cout 7. 修改学生信息 std::endl;std::cout 8. 查询学生信息 std::endl;std::cout 9. 删除课程信息 std::endl;std::cout 10. 修改课程信息 std::endl;std::cout 11. 查询课程信息 std::endl;std::cout 12. 删除成绩信息 std::endl;std::cout 13. 修改成绩信息 std::endl;std::cout 14. 查询成绩信息 std::endl;std::cout 0. 退出 std::endl;std::cin choice;switch (choice){case 1:{system(cls);std::string name, id, className, major;std::cout 请输入学生姓名: ;std::cin name;std::cout 请输入学生ID: ;std::cin id;std::cout 请输入学生班级: ;std::cin className;std::cout 请输入学生专业: ;std::cin major;manager.addStudent(Student(name, id, className, major));std::cout 学生添加成功 std::endl;system(pause);system(cls);break;}case 2:// 添加课程逻辑{system(cls);std::string courseName, courseCode;std::cout 请输入课程名称: ;std::cin courseName;std::cout 请输入课程代码: ;std::cin courseCode;manager.addCourse(Course(courseName, courseCode));std::cout 课程添加成功 std::endl;system(pause);system(cls);break;}case 3:// 添加成绩{system(cls);std::string studentId, courseCode;int score;std::cout 请输入学生ID: ;std::cin studentId;std::cout 请输入课程代码: ;std::cin courseCode;std::cout 请输入成绩: ;std::cin score;manager.addScore(Score(studentId, courseCode, score));std::cout 成绩添加成功 std::endl;system(pause);system(cls);break;}case 4:{// 分析成绩system(cls);manager.analyzeScores();break;}case 5:{// 显示所有信息system(cls);manager.displayAll();break;}case 6:{// 删除学生信息system(cls);std::string studentId;std::cout 请输入要删除的学生ID: ;std::cin studentId;manager.deleteStudent(studentId);std::cout 学生信息删除成功 std::endl;system(pause);system(cls);break;}case 7:{// 修改学生信息system(cls);std::string studentId, newName, newClassName, newMajor;std::cout 请输入要修改的学生ID: ;std::cin studentId;std::cout 请输入新的学生姓名: ;std::cin newName;std::cout 请输入新的班级: ;std::cin newClassName;std::cout 请输入新的专业: ;std::cin newMajor;manager.modifyStudent(studentId, Student(newName, studentId, newClassName, newMajor));std::cout 学生信息修改成功 std::endl;system(pause);break;}case 8:{// 查询学生信息system(cls);std::string studentId;std::cout 请输入要查询的学生ID: ;std::cin studentId;manager.queryStudent(studentId);system(pause);system(cls);break;}case 9:{// 删除课程信息system(cls);std::string courseCode;std::cout 请输入要删除的课程代码: ;std::cin courseCode;manager.deleteCourse(courseCode);std::cout 课程信息删除成功 std::endl;system(pause);system(cls);break;}case 10:{// 修改课程信息system(cls);std::string courseCode, newName;std::cout 请输入要修改的课程代码: ;std::cin courseCode;std::cout 请输入新的课程名称: ;std::cin newName;manager.modifyCourse(courseCode, Course(newName, courseCode));std::cout 课程信息修改成功 std::endl;system(pause);system(cls);break;}case 11:{// 查询课程信息system(cls);std::string courseCode;std::cout 请输入要查询的课程代码: ;std::cin courseCode;manager.queryCourse(courseCode);system(pause);system(cls);break;}case 12:{// 删除成绩信息system(cls);std::string studentId, courseCode;std::cout 请输入要删除成绩的学生ID: ;std::cin studentId;std::cout 请输入要删除成绩的课程代码: ;std::cin courseCode;manager.deleteScore(studentId, courseCode);std::cout 成绩信息删除成功 std::endl;system(pause);system(cls);break;}case 13:{// 修改成绩信息system(cls);std::string studentId, courseCode;int newGrade;std::cout 请输入要修改成绩的学生ID: ;std::cin studentId;std::cout 请输入要修改成绩的课程代码: ;std::cin courseCode;std::cout 请输入新的成绩: ;std::cin newGrade;manager.modifyScore(studentId, courseCode, newGrade);std::cout 成绩信息修改成功 std::endl;system(pause);system(cls);break;}case 14:{// 查询成绩信息system(cls);std::string studentId, courseCode;std::cout 请输入要查询成绩的学生ID: ;std::cin studentId;std::cout 请输入要查询成绩的课程代码: ;std::cin courseCode;manager.queryScore(studentId, courseCode);system(pause);system(cls);break;}case 0:{// 退出程序std::cout 退出程序。 std::endl;break;}default:{system(cls);std::cout 无效的选择请重新输入。 std::endl;system(pause);system(cls);break;}}} while (choice ! 0);return 0; }今天的内容就分享这么多 求三连 求关注
http://www.zqtcl.cn/news/114144/

相关文章:

  • dedecms织梦搬家公司网站模板贵阳国家经济技术开发区门户网站
  • 网站架构设计师网络工程师的就业前景
  • 网站建设所需人员世界各国o2o响应式网站
  • 成都网站设计最加科技企业宣传片观后感
  • 人社门户网站建设方案非官方网站建设
  • 深圳系统网站开发做家具定制的设计网站
  • 网站制作学费多少钱网络推广的常用方法
  • 个人作品网站模板百度上做网站需要钱吗
  • 苏州网站建设行业研究思路 网站建设
  • 金泉网做网站找谁网站的结构布局
  • 网站开发摊销年限柳州网站建设哪家
  • 佛山市和城乡建设局网站首页武建安装公司新闻
  • 如何宣传商务网站网页制作与设计自考
  • 在国内的服务器上建设国外网站响应式单页网站模板
  • 平湖市住房建设局网站国外代理ip
  • 铁路建设监理网站地推项目发布平台
  • 我的世界做指令的网站网站如何在推广
  • 过年做那个网站致富盘锦网站建设vhkeji
  • 网站semseo先做哪个关键词投放
  • 药品招商网站大全南阳做网站公司电话
  • 优秀手机网站大学生创新产品设计作品
  • 备案期间关闭网站宝应人才网
  • 响应式网站一般做几个版本官网+wordpress
  • 太原网站建设方案服务佛山市建设工程有限公司
  • 智能网站建设平台php mysql 网站源码
  • 夏天做那些网站能致富百度关键词价格怎么查询
  • 厦门微信网站专业从事网站开发公司
  • 网站标题的写法湖南如何做网络营销
  • 设计做兼职的网站求推荐医院英文网站建设
  • 有没得办法可以查询一个网站有没得做竞价呀ai可以用来做网站吗