首页 > 编程语言 >【C++小程序】《我要抽签》b1.0做好了~

【C++小程序】《我要抽签》b1.0做好了~

时间:2023-02-25 21:15:38浏览次数:45  
标签:cout nums int tt C++ 我要 tag b1.0 mp

也许是的,得横空出世

如你所见
这款基于\(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!

不想复制代码?点这里

标签:cout,nums,int,tt,C++,我要,tag,b1.0,mp
From: https://www.cnblogs.com/chuanpus/p/Randing_like_Mrs_Yao.html

相关文章

  • C/C++停车场管理系统[2023-02-25]
    C/C++停车场管理系统[2023-02-25]选题九:停车场管理系统[问题描述]1)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。2)每一组输入......
  • C++ 临时对象
    目录产生临时对象类型不匹配如何消除临时对象?消除循环体中的临时对象按值传递传参传返回值用operator=()消除临时对象总结参考临时对象对开发人员来说,可能是个意外情况,因......
  • C++函数名修饰规则
    C++函数名修饰规则这是啥函数的名字修饰(DecoratedName)就是编译器在编译期间创建的一个字符串。用来指明函数的定义或原型。修饰规则C++的修饰规则为“?+函数名+标......
  • C++-4 数组
                   ......
  • 记录一下使用VScode运行C/C++程序
    三个文件:c_cpp_properties.json、launch.json、tasks.json1.c_cpp_properties.json的生成第一步:   第二步   则会生成   2.tasks.json  3.la......
  • C++实现分数四则运算
    #include<iostream>usingnamespacestd;//辗转相除法求最大公约数(12和18的最大公约数:6)intgcd(inta,intb){a=(a<0)?(a=-a):(a=a);b=(......
  • 自动洗牌机c++
    首先是字符数组与结构体的两个应用比较,牌组s1,s2,s3...,如果用字符数组是不能够把s1捆绑在一起的,观察发现牌组都是一个花色捆绑一个数字,可以联想到结构体。其次因为涉及交换,......
  • C++类的使用
    类内成员函数声明:返回类型函数名()类内成员函数定义:在类外定义;写法:返回类型类名::函数名类内成员函数调用:类名.函数名例子classBox{public:doublel......
  • C/C++医院排队看病系统[2023-02-25]
    C/C++医院排队看病系统[2023-02-25]题目18医院排队看病系统[说明及要求]病人到医院看病,需要排队等候,先到先看。请编写程序模拟病人看病的过程。(1)后到的病人必须排......
  • c++调用chatgpt api
    前提:要有chatgpt账号,不会注册的关注抖音:21402780125,有免费教程!!要在C++中调用ChatGPTAPI,您可以使用以下步骤:首先,安装C++的HTTP客户端库,例如libcurl或者Poco......