【C++小程序】《我要抽签》b1.0做好了~
也许是的,得横空出世了
如你所见
这款基于\(C++\)能模仿Mrs. Yao抽签系统的cpp终于做完了啦~
初期功能很少。\(BUG\)极多。
所以为了您的体验:) 请遵守格式
代码:
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
map<string,int> mp;
char tag;
int cgo,r,n,nums,tt,cnt;
string s,str[10005];
bool isnum1(char c,int l,int r){ //* 0<=l<=r<=9.
if(c-'0'>=l&&c-'0'<=r){
return 1;
}
return 0;
}
inline int getnum(int r){
return rand()%r+1;
}
void ck(){ //* checking prizes list.
if(cnt==0) exit(0);
for(int i=1;i<=cnt;i++){
if(mp[str[i]]==0){
str[i]="///";
}
}
}
string getpr(){
int fl=1;
string tp1;
while(fl){
tp1=str[getnum(cnt)];
if(tp1!="///"){
fl=0;
}
}
return tp1;
}
int main(){
system("cls");
cout<<"Hello~~~~~你可以在这里体验像 Mrs.Yao一样的幸运抽签~~"<<endl;
Sleep(3000);
system("color 6");
system("cls");
cout<<"Warning:There are many BUGS in this code.Please pay attention to the form.(请注意格式)"<<endl;
Sleep(2000);
cout<<"请在游玩前保存好所有未保存的文件!";
Sleep(1000);
system("cls");
system("color 7");
system("title loading");
Sleep(1000);
for(int i=1;i<=100;i++){
cout<<"Loading...."<<i<<"% <--- 功德"<<endl;
Sleep(50);
}
Sleep(500);
cout<<"加载成功."<<endl;
srand(time(0));
Sleep(100);
system("cls");
while(1){
while(1){
system("title 是否继续");
cout<<"是否运行?是1否0:";
cin>>tag;
if(isnum1(tag,0,1)){
if(tag-'0'){
cout<<"Fine.";
break;
}else{
cout<<endl<<"OK.Thanks for coming!"<<endl;
return 0;
}
}else{
cout<<"你写的不对....Try again...?"<<endl;
cgo=rand()%100;
if(cgo==50){
cout<<"倒霉孩子,程序提前结束.";
exit(0);
}
}
}
system("cls");
system("title setting");
cout<<"请选择(序号)范围:)(1~r,1<=r<=RAND()_MAX):";
cin>>r;
cout<<"选用上次的东西(1)还是重新设置(0)?"<<endl;
cin>>cgo;
if(!cgo){
mp.clear();
cnt=0;
cout<<"OK.请输入奖品类数(1<=n<=10000):"<<endl;
cin>>n;
tt=0;
for(int i=1;i<=n;i++){
cout<<"奖品名称 奖品个数:"<<endl;
cin>>s>>nums;
if(!mp[s]){
mp[s]=nums;
tt+=nums;
str[++cnt]=s;
}
}
}else{
if(tt==0){
cout<<"error!!!there aren't any prizes!";
exit(0);
}
}
ck();
system("cls");
Sleep(1000);
system("color 2");
system("title 让人fafa♂的抽奖~");
cout<<"即将开始刺只因♂的开箱环节~~"<<endl;
Sleep(500);
for(int i=5;i>=1;i--){
cout<<i<<"..."<<endl;
Sleep(1000);
}
system("cls");
for(int i=1;i<=50;i++){ //50个快速
cout<<"序号:"<<getnum(r)<<endl;
Sleep(50);
system("cls");
}
for(int i=1;i<=20;i++){ //20慢速
cout<<"序号:"<<getnum(r)<<endl;
Sleep(200);
system("cls");
}
int ans=getnum(r);
cout<<"恭喜"<<ans<<"号中奖!";
Sleep(5000);
system("cls");
system("title 奖品...");
for(int i=1;i<=50;i++){
cout<<ans<<"号会获得"<<getpr()<<"奖品"<<endl;
Sleep(30);
system("cls");
}
for(int i=1;i<=20;i++){
cout<<ans<<"号会获得"<<getpr()<<"奖品"<<endl;
Sleep(200);
system("cls");
}
system("title 幸(倒)运(霉)天(孩)使(子)");
string tp111=getpr();
cout<<"恭喜"<<ans<<"号 get "<<tp111<<"!";
Sleep(10000);
system("cls");
mp[tp111]--;
tt--;
system("color 7");
}
return 0;
}
//* 作者:cute_chuanpu
//Open Source!
不想复制代码?点这里
【C++小程序】《我要抽签》b1.0做好了~的更多相关文章
- 微信小程序云开发-从0打造云音乐全栈小程序
第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...
- 微信小程序入门与实战 从0到1进行细致讲解 涵盖小程序开发核心技能下载
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- 微信小程序基于最新版1.0开发者工具分享-小试牛刀(视频)+发布流程
第一章:小程序初级入门教程 小试牛刀[含视频] 视频地址:https://v.qq.com/x/page/i0554akzobq.html 这一章节中,我们尝试着写一个最简单的例子,包含 2 个静态页 ...
- 3个微信小程序体验报告
1.小程序摩拜单车.腾讯视频.JD的体报告 2.小程序的入口存在不公平 3.小程序2.0会怎么样?WSO浅谈 KEVIN常用的APP是以摩拜单车与JD商城和大众点评等,那么今天也就通过这上个进行对比 ...
- nodejs+koa2微信app支付,小程序支付
企业付款到零钱文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 1,搞微信支付,先看流程图 https: ...
- 快速入门 WePY 小程序【转】
一.WePY介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 二.WePY 使用 1.WePY的安装或更新都 ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 300道随机四则运算小程序(java编写)
这是由Java编写的300道随机四则运算小程序, 运算数范围为0~100(不包括100),运算结果保留两位小数. 程序代码: import java.util.*; class Yunsuan{ pu ...
- 小程序-demo:小程序示例
ylbtech-小程序-demo:小程序示例 1.返回顶部 0. 1.app.js const openIdUrl = require('./config').openIdUrl App({ ...
- 3-4章 第3章 form表单组件与小程序前后端通信
View它相当于是一个点击触发一个事件,但是它的事件应该是相对来说可能是比较是偏向于页面上的一些展示,或者说是页面上的一些导航的一些跳转.Button它是一个标签, button是一个标签,一般去触发 ...
随机推荐
- C语言学习记录(二)
C语言学习记录(二) 一.知识要点(C语言概述) 1.C语言的发展历史和特点 C语言的发展历史 C语言最早在B语言的基础上开发出来,并于1972年在一台计算机上首次实现. C语言最开始只是为描述和实现 ...
- 手机安装APK文件,出现-应用未安装-软件包无效-安装包异常
在项目的根的gradle.properties文件中添加 android.injected.testOnly=false 即可. 猜想:因为是在打debug包,然后这个属性变为了true?然后手机会因 ...
- Jenkins拉取GitHub上代码
1.github 生成 Personal Access Token 2.github 设置 GitHub webhooks (具体需要持续集成的项目),新建或者设置现有项目的 webhooks 选项, ...
- Prettier 与 ESLint 对函数名后空格的处理
问题 Prettier 格式化 JavaScript 代码之后,默认不会在函数与 () 添加空格,而 ESLint 默认情况下则要求函数与 () 之间必须有一个空格. 保留空格的方案配置 方案 1 在 ...
- ssh 登陆 Host key verification failed.
报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION ...
- mvc和ef如何连接
1.一般加上ef步骤:引入ef包,新建自己的context并继承自DbContext,构造函数里写上链接字符串,属性都是表集合.如何使用:程序中UserContext un = new UserCon ...
- win10系统下mysql安装
1.官网下载压缩包 2.添加环境变量到PATH 3.在bin的同级目录下,新增my.ini,内容如下(严重注意,是斜杠,千万别写成反斜杠!!!): [mysqld] basedir = D://sof ...
- 根据XML生成实体类
因为对接系统的XML所需映射的实体类有几十个,自己来处理不太现实,于是一直找寻找这样的工具,终于让我发现了jaxb2-maven-plugin: http://www.mojohaus.org/jax ...
- Linux如何设置用户登录超时(/etc/profile)
1. 针对所有用户 # vi /etc/profile ... export TMOUT=900 # 设置闲置时间为15分钟,单位为秒;如果没有此行则直接添加进去 ... vi /etc/profil ...
- JS学习-从服务器获取数据
从服务器获取数据 Ajax 通过使用诸如 XMLHttpRequest 之类的API或者 - 最近以来的 Fetch API 来实现. 这些技术允许网页直接处理对服务器上可用的特定资源的 HTTP 请 ...