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

众创空间那个网站做的好漯河网站建设茂睿科技

众创空间那个网站做的好,漯河网站建设茂睿科技,网页设计站点,法律平台网站建设方案一.项目需求 1.比赛规则 学校举行一场演讲比赛#xff0c;共有12个人参加。比赛共两轮#xff0c;第一轮为淘汰赛#xff0c;第二轮为决赛。每名选手都有对应的编号#xff0c;如 10001~ 10012比赛方式#xff1a;分组比赛#xff0c;每组6个人#xff1b;第一轮分为两…一.项目需求 1.比赛规则 学校举行一场演讲比赛共有12个人参加。比赛共两轮第一轮为淘汰赛第二轮为决赛。每名选手都有对应的编号如 10001~ 10012比赛方式分组比赛每组6个人第一轮分为两个小组 整体按照选手编号进行抽签后顺序演讲.十个评委分别给每名选手打分**去除最高分和最低分**求的平均分为本轮选手的成绩当小组演讲完后淘汰组内排名最后的三个选手前三名晋级进入下一轮的比赛第二轮为决赛前三名胜出每轮比赛过后需要显示晋级选手的信息 2.程序功能 开始演讲比赛完成整届比赛的流程每个比赛阶段需要给用户一个提示用户按任意键后继续下一个阶段查看往届记录查看之前比赛前三名结果每次比赛都会记录到文件中文件用.csv后缀名保存清空比赛记录将文件中数据清空退出比赛程序可以退出当前程序 二.界面实现 实际开发过程中先写主界面一些部分可以用伪代码注释以后再慢慢实现 #include iostream #include ctime #include speechmanger.h using namespace std;int main() {Speechmanger sm;int choice 0;srand((unsigned int)time(NULL));while (true){sm.showmenu();cout 请您输入您的选择 endl;cin choice;switch (choice){case 1:sm.startgame(); //开始比赛break;case 2:sm.showrecord(); //查看记录break;case 3:sm.clearfile(); //清空文件break;case 0:sm.exitsystem(); //退出系统break;default:system(cls);break;}}system(pause);return 0; }三.管理类头文件 speechmanger.h头文件 #pragma once #include iostream #include string #include speaker.h #include vector #include map #include algorithm #include deque #include functional #include numeric #include fstream using namespace std;//演讲管理类 class Speechmanger { public:Speechmanger(); //构造函数~Speechmanger(); //析构函数void showmenu(); //显示菜单void exitsystem(); //退出系统void initspeech(); //初始化容器和属性void creatspeaker(); //创建选手void startgame(); //开始比赛void speechdraw(); //抽签void contest(); //比赛打分double avg_score(); //计算成绩void showscore(); //显示得分(1)void showhonor(); //显示决赛获奖名单void saverecord(); //保存本届决赛记录void loadrecord(); //读取比赛记录void showrecord(); //显示往届记录void clearfile(); //清空文件//成员属性vectorint v1; //保存第一轮选手编号vectorint v2; //保存第二轮选手编号也就是第一轮晋级选手编号vectorint v3; //保存最后胜出3名选手编号mapint, Speaker m_s; //存放编号及其具体对应选手的容器int index; //记录当前比赛轮次bool fileempty; //文件空标志mapint, vectorstring m_record; //存放往届记录的容器 };像我这样属性和方法分开写。 四.方法实现 speechmanger.cpp源文件实现 #include speechmanger.hSpeechmanger::Speechmanger() {this-initspeech();this-creatspeaker();this-loadrecord(); }Speechmanger::~Speechmanger() {}//显示菜单 void Speechmanger::showmenu() {cout ******************************************** endl;cout ************* 欢迎参加演讲比赛 ************ endl;cout ************* 1.开始演讲比赛 ************* endl;cout ************* 2.查看往届记录 ************* endl;cout ************* 3.清空比赛记录 ************* endl;cout ************* 0.退出比赛程序 ************* endl;cout ******************************************** endl;cout endl; }//退出系统 void Speechmanger::exitsystem() {cout 欢迎下次使用 endl;exit(0); }//初始化容器和属性 void Speechmanger::initspeech() {//容器都置空this-v1.clear();this-v2.clear();this-v3.clear();this-m_s.clear();this-m_record.clear();//比赛轮次初始为1this-index 1;}//创建12名选手 void Speechmanger::creatspeaker() {string namesed ABCDEFGHILKL;for (int i 0; i namesed.size(); i){string name 选手;name namesed[i];Speaker sp;sp.m_name name;for (int j 0; j 2; j){sp.m_score[j] 0;}this-v1.push_back(i 10001); //创建选手编号放入v1容器中this-m_s.insert(make_pair(i 10001, sp)); //记录编号和选手对应关系} }//开始比赛 void Speechmanger::startgame() {//第一轮开始比赛//1.抽签this-speechdraw();//2.比赛打分this-contest();//3.显示晋级名单this-showscore();//第二轮开始比赛this-index;//1.抽签this-speechdraw();//2.比赛打分this-contest();//3.显示获奖名单this-showhonor();//4.结果保存到文件中this-saverecord();//重置环境this-initspeech();this-creatspeaker();this-loadrecord();cout 本届比赛结束 endl;system(pause);system(cls); }//抽签 void Speechmanger::speechdraw() {cout 第 this-index 轮选手正在抽签 endl;cout -------------------------------------- endl;cout 抽签后的结果如下 endl;if (this-index 1){random_shuffle(v1.begin(), v1.end());for (vectorint::iterator it v1.begin(); it ! v1.end(); it){cout *it ;}cout endl;}else if (this-index 2){random_shuffle(v2.begin(), v2.end());for (vectorint::iterator it v2.begin(); it ! v2.end(); it){cout *it ;}cout endl;}elsecout 程序出现错误 endl;cout -------------------------------------- endl;system(pause);cout endl; }//比赛打分 void Speechmanger::contest() {cout ---第 this-index 轮比赛开始--- endl;vectorint v_src; //比赛容器if (this-index 1)v_src v1;if (this-index 2)v_src v2;multimapdouble, int, greaterdouble groupscore; //临时容器存放小组成绩int num 0; //记录人数6个人一组//遍历所有选手开始打分for (vectorint::iterator it v_src.begin(); it ! v_src.end(); it){num;double score this-avg_score();this-m_s[*it].m_score[index - 1] score; //第四种插入方式groupscore.insert(make_pair(score,*it));if (num % 6 0){cout 第 num / 6 小组的成绩如下 endl;for (multimapdouble, int, greaterdouble::iterator dit groupscore.begin(); dit ! groupscore.end(); dit){cout 编号 dit-second 姓名 this-m_s[dit-second].m_name 成绩 this-m_s[dit-second].m_score[this-index - 1] endl;}//取走前3名int count 0;for (multimapdouble, int, greaterdouble::iterator fit groupscore.begin(); fit ! groupscore.end() count3; fit,count){if (this-index 1){v2.push_back((*fit).second);}elsev3.push_back((*fit).second);}groupscore.clear();cout endl;}}cout ---第 this-index 轮比赛结束--- endl;system(pause); }//计算成绩 double Speechmanger::avg_score() {dequedouble d;for (int i 0; i 10; i){double score (rand() % 401 600) / 10.f;d.push_back(score);}sort(d.begin(), d.end(),greaterdouble()); //降序排序//去除最高分和最低分d.pop_back();d.pop_front();double sum accumulate(d.begin(), d.end(), 0.0f);double avg sum / (double)d.size();return avg; }//显示得分(1) void Speechmanger::showscore() {cout 第一轮晋级决赛选手如下 endl;for (vectorint::iterator it v2.begin(); it ! v2.end(); it){cout 选手编号 *it 姓名 this-m_s[*it].m_name 得分 this-m_s[*it].m_score[0]endl;}cout endl;system(pause);system(cls);this-showmenu(); }//显示决赛获奖名单 void Speechmanger::showhonor() {cout 第二轮决赛获奖选手如下 endl;for (vectorint::iterator it v3.begin(); it ! v3.end(); it){cout 选手编号 *it 姓名 this-m_s[*it].m_name 得分 this-m_s[*it].m_score[this-index-1] endl;}cout endl;system(pause);system(cls);this-showmenu(); }//保存本届决赛记录 void Speechmanger::saverecord() {ofstream ofs;ofs.open(speech.csv,ios::out | ios::app); //以追加方式写文件for (vectorint::iterator it v3.begin(); it ! v3.end(); it){ofs *it , this-m_s[*it].m_name , this-m_s[*it].m_score[1] ,;}ofsendl;ofs.close();cout 记录保存完毕 endl;this-fileempty false; }//读取比赛记录 void Speechmanger::loadrecord() {ifstream ifs(speech.csv, ios::in); //读文件//文件不存在if(!ifs.is_open()){this-fileempty true;return;}//文件存在但被清空char ch;ifs ch;if (ifs.eof()){this-fileempty true;ifs.close();return;}//文件不为空this-fileempty false;ifs.putback(ch);string data;int num 0;while (ifs data){vectorstring v;int pos -1; //查找,的位置int start 0; //开始查找的位置while (true){pos data.find(,, start);if (pos -1){//没有找到的情况break;}string temp data.substr(start, pos - start);v.push_back(temp);start pos 1;}this-m_record.insert(make_pair(num, v));num;}ifs.close(); }//显示往届记录 void Speechmanger::showrecord() {if (this-fileempty){cout 文件为空或记录不存在! endl;}else {for (int i 0; i this-m_record.size(); i){cout 第 i 1 届信息 endl;cout 冠军编号 this-m_record[i][0] 冠军姓名 this-m_record[i][1] 冠军得分 this-m_record[i][2] endl;cout 亚军编号 this-m_record[i][3] 亚军姓名 this-m_record[i][4] 亚军得分 this-m_record[i][5] endl;cout 季军编号 this-m_record[i][6] 季军姓名 this-m_record[i][7] 季军得分 this-m_record[i][8] endl;}}system(pause);system(cls); }//清空文件 void Speechmanger::clearfile() {cout 是否确定清空文件 endl;cout 1、是 2、否 endl;int select 0;cin select;if (select 1){ofstream ofs(speech.csv, ios::trunc);ofs.close();this-initspeech();this-creatspeaker();this-loadrecord();cout 清空成功! endl;}system(pause);system(cls); }
http://www.hkea.cn/news/14327043/

相关文章:

  • 网站建设案例信息正规的徐州网站建设
  • 千山科技做网站好不好自在源码网官网
  • 西安市社交网站制作公司做网站有必要吗
  • 免费的软件网站wordpress捐
  • 在线用代码做网站平面设计平台接单
  • js网站文字重叠全球邮登录入口
  • wordpress ip设置方法seo实战优化
  • 国外最火的网站高端网站案例网站建设
  • 长沙做痔疮东大医院de网站.湖南省住房和城乡建设厅网站
  • vs2010做网站教程阿里+wordpress
  • 怎样做网站底部导航网站制作论文范文
  • 开封网站制作公司淘宝排名
  • 丰都专业网站建设公司安卓app上架费用
  • 做互助盘网站建设电玩网站
  • 各大网站查重率比较wordpress is ssl
  • 网站建设煊煊网甘肃做网站找谁
  • 个人网站logo生成网站设计ps做效果图过程
  • 资阳网站制作百度seo排名规则
  • 蛋糕网站建设的目的制作一个网站需要什么
  • 政务网站系统做网页的软件叫什么dw
  • 学网站开发多久查询网
  • 济南网站推广效果响应式网站的登录设置
  • 重庆网站推广公司哪家好今天的新闻 最新消息
  • 做电影网站怎么拿到版权网站质量需求
  • 网站建设联系php导航网站
  • 网站域名.xinwordpress move插件
  • 商丘网站建设运营公司机械网站精选
  • 门户资源分享网站模板页面设计需求发展
  • 更换网站后台管理系统中国百强城市榜单公布
  • 网站建设咨询话术女人做春梦视频网站