前言:
最近一段时间没有怎么修改我的博客了,当我看到我那少得可怜的文章数,我决定拿出我珍藏多年(就几个月)的超(la)强(ji)小游戏——猜数字游戏。
一个简单休闲小游戏。

温馨提示:这个小游戏只是好玩,并没有什么用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <ctime>
#include <cstdlib>
#include "str2int.h"
using namespace std;
int ans = 0;
int randomn = 0;
int max= 100;
int min = 0;
int score = 0;
void jmp();
int zzz(){
char ai[501];
cin.getline(ai,501);
if(ai[1]=='\0'){
switch(ai[0]){
case 'Y':
jmp();
break;
case 'N':
return 0;
break;
default:
cout<<"无效输入"<<endl;
}
}
}
void ne(){
for(;::ans>::randomn;){
if(::ans<=100){
if(::ans<::max){
::max = ::ans;
}
cout<<"大了,"<<::min<<"-"<<::max<<"之间"<<endl;
::ans = s2i();
}
else{
cout<<"超出了范围,请重新输入"<<endl;
::ans = s2i();
ne();
}
}
for(;::ans<randomn;){
if(::ans>=0){
if(::ans>::min){
::min = ::ans;
}
cout<<"小了,"<<::min<<"-"<<::max<<"之间"<<endl;
::ans = s2i();
}
else{
cout<<"超出了范围,请重新输入"<<endl;
::ans = s2i();
ne();
}
}
}
int main(){
cout<<"猜数字游戏即将开始,请做好准备"<<endl;
cout<<"答题时将会把答题区的数字自动提取"<<endl;
Sleep(3000);//休息3秒
srand((unsigned)time(NULL));
::randomn=rand()%101;//生成随机数字
cout<<"随机数字已生成,范围0-100"<<endl;
::ans = s2i();
for(;::ans!=::randomn;){
ne();
}
cout<<"猜中了!恭喜(分数+1)"<<endl;
::score += 1;
cout<<"您的分数为"<<::score<<"分";
cout<<"您是否要继续?(Y/N)"<<endl;
zzz();
}
void jmp(){
::ans = 0;
::randomn = 0;
::max= 100;
::min = 0;
main();
}

(这缩进有些不对,以后再改改)

这才是重点:这段程序引用了头文件。可以将字符串中的数字提取出来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef __STR2INT_H__
#define __STR2INT_H__
#include <iostream>
using namespace std;
int s2i(){
char a[501];
int cnt_int=0; //cnt_int 用于存放字符串中的数字.
cin.getline(a,501);
for(int i=0;a[i]!='\0';++i) //当a数组元素不为结束符时.遍历字符串a.
{
if(a[i]>='0'&& a[i]<='9') //如果是数字.
{
cnt_int*=10;
cnt_int+=a[i]-'0'; //数字字符的ascii-字符'0'的ascii码就等于该数字.
}
}
int k = cnt_int; //输出数字.
return k;
}
#endif

如果有人想分别输出的话,加上输出字符就行了。

最后,若大家发现有错误,到github去改,或者在评论区留言吧。

啊其实我是来水文章的(huaji)。