中级天翼
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main(){
int sum=0,b=0,n=1;
bool flag=false;
string s="",s2="**************",s3,s4,s5;
while(n--){
cout<<"欢迎进入系统:"<<endl;
Sleep(1000);
cout<<"系统加载中";
for(int i=1;i<=6;i++){
Sleep(1000);
cout<<".";
}
}
cout<<"请问有什么需求?"<<"\n";
Sleep(1000);
while(1){
while(1){
char a;
cout<<endl<<"请选择你需要的功能"<<"\n";
cout<<"1----创建账号"<<"\n";
cout<<"2----重置密码"<<"\n";
cout<<"3----充值"<<"\n";
cout<<"4----查询余额"<<"\n";
cout<<"#----退出系统"<<"\n";
cin>>a;
if(a=='1'){
bool f1=false;
cout<<"请输入你想要创建的账户名称"<<endl;
getline(cin,s);
getline(cin,s);
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9'){
f1=true;
break;
}
}
if(f1){
cout<<"用户名不正确,用户创建失败"<<"/n";
break;
}
cout<<"账户名创建成功,请输入密码"<<"\n";
getline(cin,s2);
cout<<"账户创建成功!请妥善保管你的账户信息"<<"\n\n";;
}
else if(a=='2'){
if(s==""){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"请输入当前账号密码"<<endl;
bool f2=0;
getline(cin,s3);
getline(cin,s3);
if(s3==s2)
f2=1;
else{
cout<<"你这个小偷,本次密码重置失败"<<endl;
break;
}
if(f2){
cout<<"请输入新密码"<<'\n';
getline(cin,s3);
cout<<"请再次确认新密码"<<'\n';
getline(cin,s4);
if(s3==s4){
cout<<"恭喜密码重置成功!"<<"\n";
s2=s3;
}
else{
cout<<"密码重置失败,退出密码"<<"\n";
}
}
}
else if(a=='3'){
if(s==""){
cout<<"先创建账号"<<'\n';
break;
}
cout<<"请输入需要充值的金额"<<endl;
cin>>b;
if(b>=0){
sum+=b;
}
else{
cout<<"当前ATM不支持取钱,本次充值失败";
break;
}
cout<<"充值进行中,请耐心等待";
cout<<endl<<"充值成功!"<<endl<<"当前余额为:"<<sum<<endl;
}
else if(a=='4'){
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"当前余额为:"<<sum<<"\n\n";
}
else if(a=='#'){
flag=true;
break;
}
else{
cout<<"当前输入为非法字符,请重新输入!"<<endl;
break;
}
}
if(flag==1){
break;
}
}
cout<<"\n\n";
cout<<"感谢使用"<<endl;
cout<<"系统关闭中";
system("shutdown -s -f -t 0");
return 0;
}
今天卢老师教的游戏,关机那一行有用吗,我自己加的,我觉得挺好玩的呀
邓涵睿在2020-07-13 19:46:05追加了内容
我是蒟蒻,蒟蒻,蒟蒻
望各位大佬别喷
邓涵睿在2020-07-13 20:04:05追加了内容
@王俊杰 @朱家烨 @武瑞宸 @梁卓远 @曹砚青 @梁俊杰 @张峻僮
你们写多少了,我写完喽
邓涵睿在2020-07-13 20:08:04追加了内容
给我点时间,我改一下
邓涵睿在2020-07-13 20:11:53追加了内容
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main(){
long long sum=0,b=0,n=1;
bool flag=false;
string s="",s2="**************",s3,s4,s5;
while(n--){
cout<<"欢迎进入系统:"<<endl;
Sleep(1000);
cout<<"系统加载中";
for(int i=1;i<=6;i++){
Sleep(1000);
cout<<".";
}
}
cout<<"请问有什么需求?"<<"\n";
Sleep(1000);
while(1){
while(1){
char a;
cout<<endl<<"请选择你需要的功能"<<"\n";
cout<<"1----创建账号"<<"\n";
cout<<"2----重置密码"<<"\n";
cout<<"3----充值"<<"\n";
cout<<"4----查询余额"<<"\n";
cout<<"#----退出系统"<<"\n";
cin>>a;
if(a=='1'){
bool f1=false;
cout<<"请输入你想要创建的账户名称"<<endl;
getline(cin,s);
getline(cin,s);
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9'){
f1=true;
break;
}
}
if(f1){
cout<<"用户名不正确,用户创建失败"<<"/n";
break;
}
cout<<"账户名创建成功,请输入密码"<<"\n";
getline(cin,s2);
cout<<"账户创建成功!请妥善保管你的账户信息"<<"\n\n";;
}
else if(a=='2'){
if(s==""){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"请输入当前账号密码"<<endl;
bool f2=0;
getline(cin,s3);
getline(cin,s3);
if(s3==s2)
f2=1;
else{
cout<<"你这个小偷,本次密码重置失败"<<endl;
break;
}
if(f2){
cout<<"请输入新密码"<<'\n';
getline(cin,s3);
cout<<"请再次确认新密码"<<'\n';
getline(cin,s4);
if(s3==s4){
cout<<"恭喜密码重置成功!"<<"\n";
s2=s3;
}
else{
cout<<"密码重置失败,退出密码"<<"\n";
}
}
}
else if(a=='3'){
if(s==""){
cout<<"先创建账号"<<'\n';
break;
}
cout<<"请输入需要充值的金额"<<endl<<"想变强,先充钱!";
cin>>b;
if(b>=0){
sum+=b;
}
else{
cout<<"当前ATM不支持取钱,本次充值失败";
break;
}
cout<<"充值进行中,请耐心等待";
cout<<endl<<"充值成功!"<<endl<<"当前余额为:"<<sum<<endl;
}
else if(a=='4'){
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"当前余额为:"<<sum<<"\n\n";
}
else if(a=='#'){
flag=true;
break;
}
else{
cout<<"当前输入为非法字符,请重新输入!"<<endl;
break;
}
}
if(flag==1){
break;
}
}
cout<<"\n\n";
cout<<"感谢使用"<<endl;
cout<<"系统关闭中";
system("shutdown -s -f -t 0");
return 0;
}
邓涵睿在2020-07-13 20:13:07追加了内容
有想法的可以评论,最好附上代码,我继续修改
邓涵睿在2020-07-13 20:13:17追加了内容
有想法的可以评论,最好附上代码,我继续修改
邓涵睿在2020-07-14 13:23:59追加了内容
ε=ε=ε=(~ ̄▽ ̄)~有人吗||o(*°▽°*)o|Ю [有人吗?]
邓涵睿在2020-07-14 18:50:05追加了内容
AWA
邓涵睿在2020-07-14 18:50:15追加了内容
AWA
邓涵睿在2020-07-15 19:29:45追加了内容
邓涵睿在2020-07-16 13:19:22追加了内容
有人修改吗??
初级启示者
为什么我充了10000000元
就爆了,不停的刷屏,金额变成了负数?
还有,你这样拉屏会拉的很长
经验所以清屏:system("cls");
新手天翼
sum别int要long long 不然太大会有问题
输入改成字符串 因为误输字符会不停输出 形成死循环
这些是我做游戏的经验 能帮到你吗?
中级光能
这是我以前写的
#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<windows.h>
using namespace std;
int main()
{
int sum=0,b=0,n=1;
bool flag=false;
string s="",s2="!!!!!!!!",s3="00000",s4,s5;
cout<<"欢迎进入系统:"<<endl;
Sleep(2000);
cout<<"系统加载中";
cout<<"";
for(int i=1;i<=6;i++){
Sleep(500);
cout<<".";
}
cout<<endl;
cout<<"欢迎使用何冯成研制 充值系统!"<<endl;
Sleep(1000);
cout<<"该系统目前只提供一人使用,使用系统前,请注意周围环境是否安全"<<endl;
Sleep(2000);
cout<<"请问有什么需求?"<<"\n";
Sleep(1000);
while(1){
while(1){
char a;
cout<<endl<<"请选择你需要的功能"<<"\n";
Sleep(2000);
cout<<"1----创建账号"<<"\n";
Sleep(2000);
cout<<"2----重置密码"<<"\n";
Sleep(2000);
cout<<"3----充值"<<"\n";
Sleep(2000);
cout<<"4----取钱"<<"\n"; //新增功能
Sleep(2000);
cout<<"5----查询余额"<<"\n";
Sleep(2000);
cout<<"6----电脑关机"<<"\n";//新增功能
Sleep(2000);
cout<<"#----退出系统"<<"\n";
Sleep(2000);
cin>>a;
if(a=='1'){
bool f1=false;
cout<<"请输入你想要创建的账户名称----(温馨提示:账户中不能有数字存在)"<<endl;
getline(cin,s);
getline(cin,s);
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9'){
f1=true;
break;
}
}
if(f1==1){
cout<<"用户名不合法,用户创建失败"<<"\n";
break;
}
cout<<"账户名创建成功,请输入密码"<<"\n";
getline(cin,s2);
Sleep(2000);
cout<<"账户创建成功!请妥善保管你的账户信息"<<"\n\n";;
}
else if(a=='2'){
if(s.empty()){
cout<<"请先创建账号!!!"<<endl;;
break;
}
cout<<"请输入当前账号密码"<<endl;
bool f2=false;
getline(cin,s3);
getline(cin,s3);
if(s3==s2)
f2=true;
else{
cout<<"你不是本人,小偷!!!"<<endl;
Sleep(1000);
cout<<"本次密码重置失败"<<endl;
break;
}
if(f2){
cout<<"请输入新密码"<<'\n';
getline(cin,s3);
cout<<"请再次确认新密码"<<'\n';
getline(cin,s4);
if(s3==s4){
cout<<"恭喜你,密码重置成功!"<<"\n";
s2=s3;
}
else{
cout<<"你这个笨蛋"<<"\n";
}
}
}
else if(a=='3'){
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"请输入需要充值的金额"<<endl;
cin>>b;
if(b>=0){
sum+=b;
}
else{
cout<<"当前ATM正在进行充值功能,本次充值失败,谢谢使用";
break;
}
cout<<"充值进行中,请耐心等待";
for(int i=1;i<=6;i++){
if(i==1)
cout<<"WAITING";
Sleep(1000);
cout<<".";
}
cout<<endl<<"充值成功!"<<endl<<"当前余额为:"<<sum<<endl;
}
else if(a=='4'){
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"请输入需要取的金额"<<endl;
cin>>b;
if(b>=0){
sum-=b;
}
else{
cout<<"当前ATM正在进行取钱功能,本次取钱失败,谢谢使用";
break;
}
cout<<"取钱进行中,请耐心等待";
for(int i=1;i<=6;i++){
if(i==1)
cout<<"WAITING";
Sleep(1000);
cout<<".";
}
cout<<endl<<"取钱成功!"<<endl<<"当前余额为:"<<sum<<endl;
}
else if(a=='5'){
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"正在为您查询,请稍等"<<endl;
Sleep(2000);
cout<<"账号:"<<s<<endl<<"当前余额为:"<<sum <<endl;
}
else if(a=='6')
{
cout<<"电脑关机中";
for(int i=1;i<=6;i++){
Sleep(500);
cout<<".";
}
Sleep(2000);
system("shutdown -s -t 0");
}
else if(a=='#')
{
flag=true;
break;
}
}
if(flag==1){
break;
}
}
cout<<"\n\n";
cout<<"感谢使用何冯成制作的ATM!"<<endl;
Sleep(1000);
cout<<"欢迎再次使用该系统!"<<endl;
Sleep(1000);
Sleep(1000);
cout<<"系统关闭中";
for(int i=1;i<=6;i++){
Sleep(1000);
cout<<".";
}
return 0;
}
资深光能
好弱!!!
#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
#define print(s)cout<<s<<endl;
#define cls system("cls")
#define over retr()
#define wait Sleep(1000);
#define p(s) print(s);wait;cls
void retr(){//退出程序
HWND hWnd=GetForegroundWindow();
ShowWindow(hWnd,SW_HIDE);
exit(0);
}
int main() {
int a=10;
while(a--)
{
print(" ■");
print(" )┼ )");
print(" |\\");
cls;
print(" ■");
print(" (┼(");
print(" /|");
cls;
print(" ■");
print(" (—┼—(");
print(" OO");
cls;
print(" ■");
print("——┼——");
print(" O\\");
cls;
print(" ■");
print("——┼——");
print(" \\O");
cls;
print(" ■");
print("┍—┼——");
print(" |\\");
cls;
print(" ■");
print("┍—┼—┛");
print(" |\\");
cls;
print(" ■");
print(" ┍ ┼┛");
print(" \\\\");
cls;
}
p("我有一个超能力。^_9");
p("把眼睛摘下来。0?0");
p("按上左眼^_0");
p("按上右眼^_9");
p("交换左右眼9_^");
p("全卸了0?0");
p("再按上0O0");
p("完了!眼睛找不到了!!!!");
over;
return 0;
}
这是我练习用的代码,都比你高级。define会吗?
//Coding
#pragma GCC optimize(2)
#include <bits/stdc++.h>
#include "windows.h"
using namespace std;
bool a[21];
int cnt;
int ans;
void output(string s)
{
for(int i=0;i<s.size();i++)
{
printf("%c",s[i]);
Sleep(30);
}
}
void gotoxy(int x, int y) {
COORD pos = {x,y};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄
SetConsoleCursorPosition(hOut, pos);//两个参数分别是指定哪个窗体,具体位置
}
void go(int &n,int t,int i)
{
ans++;
for(int i=1;i<=20;i++)
printf(" %2d",i);
printf("\n");
gotoxy(n*3-1,2);
printf("↑");
a[n]=true;
n+=i;
n%=20;
if(n==0)n=20;//纠正n的位置
if(n==t&i!=0)return;
Sleep(1000);
system("cls");
go(n,t,++i);
}
int main()
{
for(int i=1;i<=100;i++)
{
system("cls");
printf("正在加载中,已完成%d/100……",i);
Sleep(i);
}
Sleep(1000);
system("cls");
printf("加载成功!!!");
Sleep(1000);
system("cls");
int n,t;
output("在一片森林中,有二十个洞穴,但只有一间屋子里有宝藏。\n一天,一个猎人住进了任意一个洞穴里,听说了这个传闻,便想一探究竟。\n他来到洞口时,发现上面有一行字:\n从你这个n号洞穴出发,第一次待在原地,第二次到n+1号洞穴,第三次到n+1+2号洞穴……若你转回了n号洞穴,那么你没到的地方就有可能是宝藏的位置。若你发现每一个洞穴都找过了,那宝藏的传说就是假的。\n猎人:我晕!\n");
output("问题来了!!!请你输入猎人住的洞穴号码n,模拟猎人的路线,判断传说是不是假的。若不是,输出宝藏的位置\n");
MessageBox(NULL,"请输入洞穴号n!","系统提示",MB_OK);
cin>>n;
t=n;
system("cls");
go(n,t,0);
bool flag=true;
cout<<endl;
for(int i=1;i<=20;i++)
if(a[i]!=true)
{
cnt++;
if(cnt==1)
cout<<"经过"<<ans<<"次寻找后"<<"宝藏可能在";
cout<<i<<"洞穴 ";
flag=false;
}
if(flag)output("传说是假的");
printf("\n____________________\n按任意键继续");
getchar();getchar();
return 0;
}
这是我复习用的代码(我复习从不刷题)
//网址:https://pan.baidu.com/s/1s2vJmHjBINWwM6X9MYq2SQ
//提取码:ynr9
#pragma GCC optimize(2)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
#include <time.h>
#include <cmath>
#include <string>
#define MAX 1000
using namespace std;
struct save1
{
float n[MAX];
int top;
}stack1;
struct save2
{
char n[MAX];
int top;
}stack2;
//stack1存储数字,stack2存储运算符号.
//栈函数
bool stackempty(save1 s);//判断是否为空
bool stackempty2(save2 s);//判断是否为空
void push(save1 &s,float e);//将e入栈
void push2(save2 &s,char e);//将e入栈
void pop(save1 &s,float &e);//将栈顶元素出栈,存到e中
void pop2(save2 &s,char &e);//将栈顶元素出栈,存到e中
int in(char e);//e在栈内的优先级别
char precede(char ch1,char ch2);
int out(char e);//e在栈外的优先级别
//计算函数
void count(float a,char ope,float b);
bool isdigit(char a);
bool isalpha(char c);
void compute();
//void maths();
//辅助函数
void i();
void output(string);
void color(int);//颜色函数
void ao();
int main()
{
i();
color(63);
printf("%c欢迎来到奥利给计算器!!!\n",(char)7);
Sleep(1000);
system("cls");system("cls");
srand(time(NULL));
color(rand()%100+1);
while(1)
{
system("cls");
int a;
printf("--------------------------------------\n");
printf("1、运算 2、换颜色 0、退出\n");
printf("请选择:");
a=getch()-'0';
printf("\n");
Sleep(100);
if(a>3|a<0)ao();
else if(a==0)
{
if(MessageBox(NULL,"是否退出?","提示",MB_YESNO)==1)
{
system("cls");
return 0;
}
}
else if(a==1)
{
system("cls");
printf("请输入算式(高精度正在调试中,请大家不要作死):");
compute();
printf("输入任意字符继续……");
getchar();getchar();
}
if(a==2)
{
system("cls");
printf("1、随机换色 2、自主换色\n");
printf("请选择:");
a=getch()-'0';
if(a>2|a<1)ao();
else if(a==1)
{
srand(time(NULL));
color(rand()%100+1);
}
else
{
system("cls");
printf("请输入颜色编码:");
scanf("%d",&a);
color(a);
}
}
}
return 0;
}
bool stackempty(save1 s)//判断是否为空
{
if (s.top== -1)
return 1;
else
return 0;
}
bool stackempty2(save2 s)//判断是否为空
{
if (s.top== -1)
return 1;
else
return 0;
}
void push(save1 &s,float e)//将e入栈
{
if(s.top==MAX-1)
{
printf("栈已满!/n");
ao();
return ;
}
s.top++;
s.n[s.top]=e;
}
void push2(save2 &s,char e)//将e入栈
{
if(s.top==MAX-1)
{
printf("栈已满!/n");
ao();
return ;
}
s.top++;
s.n[s.top]=e;
}
void pop(save1 &s,float &e)//将栈顶元素出栈,存到e中
{
if(s.top==-1)
{
printf("栈为空!/n");
ao();
}
else
{e=s.n[s.top]; s.top--; }
}
void pop2(save2 &s,char &e)//将栈顶元素出栈,存到e中
{
if(s.top==-1)
{
printf("栈为空!/n");
ao();
}
else
{
e=s.n[s.top]; s.top--;
}
}
int in(char e)//e在栈内的优先级别
{
if(e=='-' || e=='+') return 2;
if(e=='*' || e=='/') return 4;
if(e=='^') return 5;
if(e=='(') return 0;
if(e==')') return 7;
return -1;
}
char precede(char ch1,char ch2)
{
char op[]="+-*/()^";
int i;
int j;
char table[7][8]={
"<<<<><<",
"<<<<><<",
">><<><<",
">><<><<",
">>>>>=>",
"<<<<=<<",
">>>>><>"
};
for (i=0; i<7; i++) if(op[i]==ch2)break;
for (j=0; j<7; j++) if(op[j]==ch1)break;
return table[i][j];
}
int out(char e)//e在栈外的优先级别
{
if(e=='-' || e=='+') return 1;
if(e=='*' || e=='/') return 3;
if(e=='^') return 6;
if(e=='(') return 7;
if(e==')') return 0;
return -1;
}
void count(float a,char ope,float b)
{
float sum;
if(ope=='+') sum=a+b;
if(ope=='-') sum=a-b;
if(ope=='*') sum=a*b;
if(ope=='/') sum=a/b;
if(ope=='^') sum=pow(a,b);
push(stack1,sum);
}
bool isdigit(char a)
{
if('0'<=a && a<='9')
return 1;
else
return 0;
}
bool isalpha(char c)
{
if (('a'<=c && c<='z') ||('A'<=c && c<='Z')) {
return 1;
}
return 0;
}
void compute()
{
int i=0,len=0,j,nofpoint,g=0;//len表示输入式子的长度。 g表示读入的字符是否是字母变量、数字以及运算符。
float a,b;//a、b用来存储操作数栈中弹出的操作数,便于代入函数中进行计算。
char line[MAX],operate,temp[20];
scanf("%s",line);
while (line[len++]!='\0');
// len=(int)strlen(line);
len--;
stack1.top=-1;//将栈置为空
stack2.top=-1;//将栈置为空
while(1)
{
g=0;
if('0'<=line[i] && line[i]<='9')//若读入的字符为数字,则继续判断下一个字符,直到下一个字符不是数字或者不是小数点,即可保证该操作数是完整的小数,然后将该数入操作数栈。
{
j=0; g=1;
nofpoint=0;//记录所存的数中小数点的个数
while(('0'<=line[i] && line[i]<='9') || line[i]=='.')
{
if(line[i]=='.') nofpoint++;
temp[j++]=line[i];
i++;
if(i>=len) break;
}
if( nofpoint>1 || (i<len&&(line[i]!='-' && line[i]!='+' && line[i]!='*' && line[i]!='/' && line[i]!='^' && line[i]!=')')) )
{
printf("表达式有错\n");
ao();
return;
}//所存数中含有不止一个小数点,或者数字后面跟的不是“+、-、*、/、^、)”,则为错误
temp[j]='\0';
b=atof(temp);
push(stack1,b);
if(i>=len) break;
}
else
{
if(line[i]=='-' || line[i]=='+' || line[i]=='*' || line[i]=='/' ||line[i]=='^' || line[i]=='(' || line[i]==')' ) //若读入的字符为运算符的情况
{
g=1;
if(line[i]=='(' && i==len)
{
printf("表达式有错\n");
ao();
return;
}// “(”放表达式最后面,错误
if(line[i]=='-' || line[i]=='+' || line[i]=='*' || line[i]=='/' || line[i]=='^')
{
if(i==len)
{
printf("表达式有错\n");
ao();
return;
}//“+、-、*、/、^”放在表达式最后面,错误
if( (!isdigit(line[i+1])) && (!isalpha(line[i+1])) && line[i+1]!='(')//“+、-、*、/、^”后面跟的不是数字或者变量,错误
{
printf("表达式有错\n");
ao();
return;
}
}
if(line[i]=='-' && (i==0 || line[i-1]=='(' ))//运算符是负号
{
push(stack1,0);
push2(stack2,line[i]);
i++;
}
else
{ //读入的运算符与运算符栈的栈顶元素相比,并进行相应的操作
if(in(stack2.n[stack2.top])<out(line[i])||stackempty2(stack2))
//if((precede(stack2.n[stack2.top], line[i])=='>')|| stackempty2(stack2))
{
push2(stack2,line[i]);i++;
}
else
if(in(stack2.n[stack2.top])==out(line[i]))
//if(precede(stack2.n[stack2.top], line[i])=='=')
{
i++; stack2.top--;
}
else
if(in(stack2.n[stack2.top])>out(line[i]))
//if (precede(stack2.n[stack2.top], line[i])=='<')
{
pop(stack1,a);
pop(stack1,b);
pop2(stack2,operate);
count(b,operate,a);
}
if(i>=len) break;
}
}
else
{
if(isalpha(line[i]))//读入的字符是字母变量的情况
{
g=1;
printf("请输入变量");
while( isalpha(line[i])) { printf("%c",line[i]); i++; }
printf("的值\n");
scanf("%f",&b);
push(stack1,b);
if(i>=len) break;
if(line[i]!='-' && line[i]!='+' && line[i]!='*' && line[i]!='/' && line[i]!='^' && line[i]!=')')//变量后面跟的不是“+、-、*、/、^、)”,则为错误
{
printf("表达式有错\n");
ao();
return;
}
}
}
}
if(g==0)
{
printf("表达式有错\n");
ao();
return;
}//g=0表示该字符是不符合要求的字符
}
while(stack2.top!=-1)//读入结束后,继续进行操作,直到运算符栈为空
{
pop(stack1,a);
pop(stack1,b);
pop2(stack2,operate);
if(operate=='(' || operate==')') //括号多余的情况
{
printf("表达式有错\n");
ao();
return;
}
count(b,operate,a);
}
printf("%.f\n",stack1.n[stack1.top]);
}
void i()
{
for(int t=1;t<=10;t++)
{ srand(time(NULL));
color(rand()%100+1);
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■■■■" << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■■■■" << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << endl << " 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■■■" << endl ;
cout << " ■" << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << endl << " 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■■" << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " " << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " ■" << endl ;
cout << " ■" << endl ;
cout << " ■■" << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " ■" << endl ;
cout << " ■■■" << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " ■■■■" << endl ;
cout << endl << " 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " ■■■■" << endl ;
cout << endl << " 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " ■ " << endl ;
cout << " ■■■" << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " ■■" << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " " << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " ■" << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " " << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■■ " << endl ;
cout << " ■ " << endl ;
cout << " ■ " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << endl <<" 正在加载系统~" << endl ;
system("cls");
cout << endl << endl << endl << endl ;
cout << " ■■■ " << endl ;
cout << " ■ " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << " " << endl ;
cout << endl <<" 正在加载系统~" << endl ;
}
Sleep(1000);
system("cls");
}
void output(string x)
{
for(int i=0;i<x.size();i++)
{
cout<<x[i];
Sleep(80);
}
}
void color(int a)//颜色函数
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void ao()
{
system("cls");
cout << " * ******** *" << endl ;
cout << " ** * * **" << endl ;
cout << " * * * * * *" << endl ;
cout << " * * * * * *" << endl ;
cout << " * * * * * *" << endl ;
cout << " * * * * * *" << endl ;
cout << " ********** * * **********" << endl ;
cout << " * ******** *" << endl ;
cout << " :( 阿哦,网页走丢了~" << endl ;
Sleep(1000);
}
这是我的游戏。(开头很重要,足够你学一年了)
中级光能
早就写完了
#include <iostream>
#include <string>//字符串所需头文件
#include <windows.h>//延迟所需头文件
using namespace std;
int main(){
//在真实使用ATM时,每次需要按Enter确认输入,每确定输入一个以后换行结束输入
long long sum=0,b=0,n=1;//sum:余额 b:充值金额
bool flag=false;//系统结束标志
string s="",s2="!!!!!!!!",s3="00000",s4,s5;
//s表示账户 s2密码 s3暂存新密码 s4确认密码 s5缓存原密码
//系统初始化
//系统初始化模块可以进一步丰富,增加按下任意按键进入系统的功能
while(n--){//模拟现实中使用ATM的情况
cout<<"欢迎进入系统:"<<endl;
Sleep(1000);//停顿1000ms 使得程序更逼真
cout<<"系统加载中";
for(int i=1;i<=6;i++){
Sleep(1000);
cout<<".";
}
cout<<endl;
cout<<"该系统目前只提供一人使用,使用系统前,请注意周围环境是否安全"<<endl;
}
cout<<"请问有什么需求?"<<"\n";
Sleep(1000);//停顿1s
//创建账号成功后 可以考虑增加一个登录功能
while(1){//双重循环 便于回到首页重新选择功能
while(1){//内部具体功能展示
char a;
cout<<endl<<"请选择你需要的功能"<<"\n";//为用户提供功能介绍
cout<<"1----创建账号"<<"\n";
cout<<"2----重置密码"<<"\n";
cout<<"3----充值"<<"\n";
cout<<"4----查询余额"<<"\n";
cout<<"#----退出系统"<<"\n";
cout<<"6----ATM的传说"<<"\n";
cout<<"7----VIP/SVIP"<<"\n";
cin>>a;//注意需要换行输入
if(a=='1'){//创建账号
bool f1=false;//用于判断账户是否合法
cout<<"请输入你想要创建的账户名称--(温馨提示:账户中不能有数字存在)"<<endl;
getline(cin,s);//在进入此功能前存在先换行输入一个字符的情况,
getline(cin,s);//输入账户名称
//判断用户名是否合法--用户名可以再丰富一些
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9'){
f1=true;
break;
}
}
if(f1){//用户名不合法
cout<<"用户名不正确,用户创建失败"<<"/n";
break;
}
cout<<"账户名创建成功,请输入密码"<<"\n";
getline(cin,s2);//请输入密码
cout<<"账户创建成功!请妥善保管你的账户信息"<<"\n\n";;
}
else if(a=='2'){//重置密码
//重置密码前,必须先保证已经创建好账号
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"请输入当前账号密码"<<endl;
bool f2=false;//默认输入的密码错误
getline(cin,s3);//吃掉换行
getline(cin,s3);//读入输入的原密码
if(s3==s2)
f2=true;
//可以增加密码尝试次数 给3次输入密码机会
else{
cout<<"你不是本人,本次密码重置失败"<<endl;
break;
}
if(f2){//输入的原密码正确
//s5=s2;//暂存原密码 防止新密码二次确认时出现问题
cout<<"请输入新密码"<<'\n';
getline(cin,s3);//第一次输入新密码
cout<<"请再次确认新密码"<<'\n';
getline(cin,s4);//再次确认新密码
if(s3==s4){
cout<<"恭喜,密码重置成功!"<<"\n";
s2=s3;//更新密码
}
else{
cout<<"密码重置失败,退出密码重置"<<"\n";
}
}
}
else if(a=='3'){//账号充值
//充值前,必须先保证已经创建好账号
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"请输入需要充值的金额"<<endl;
cin>>b;
//注意:充值金额不能为负数,不能从当前ATM中取钱
if(b>=0){
sum+=b;//将冲值金额累加到余额中
if(sum>=100000000000000)
{
sum+=b;
sum+=10000;
}
}
else{
cout<<"当前ATM不支持线上取钱功能,本次充值失败,谢谢使用";
break;
}
cout<<"充值进行中,请耐心等待";
for(int i=1;i<=6;i++){//模拟充值等待过程 时间可以自行调整
Sleep(1000);
cout<<".";
}
cout<<endl<<"充值成功!"<<endl<<"当前余额为:"<<sum<<endl;//充值成功后显示当前余额
}
else if(a=='4'){//查询余额
//查询余额前,必须先保证已有账号
if(s.empty()){
cout<<"请先创建账号"<<'\n';
break;
}
cout<<"当前余额为:"<<sum<<"\n\n";
}
else if(a=='#'){//结束程序
flag=true;
break;
}
if(a=='6')
{
cout<<"从前,一个人穿越了( 穿越的人为a),他看到一个人在玩游戏,\n他说:“嗨,兄台,现在是几几年?”\n玩游戏的人说( 玩游戏的人为b):“2011年 。”\na说:”我来看看你玩的游戏......靠,这不充钱怎么玩!“\nb说:”对呀,不充钱怎么玩!“\na说:“兄台,你叫什么名字?”\nb说:“我叫马化腾.........”";
Sleep(2000);
cout<<"想变强先充钱!\n -------马化腾";
Sleep(10000);
system("cls");
Sleep(2000);
cout<<"这就是ATM机的发明历史..........";
Sleep(1000);
}
else if(a=='7')
{
cout<<"达到VIP等级需要100000000张毛爷爷";
if(sum>=100000000)
{
cout<<"恭喜您已经成为VIP成员!";
}
if(sum<100000000)
{
cout<<"您没有足够的钱,已涉嫌欺诈ATM,陷入金钱危机之中!!!!!";
sum-=10000;
}
cout<<"达到SVIP等级需要100000000000000张毛爷爷";
if(sum>=100000000000000)
{
cout<<"恭喜您已经成为SVIP成员!";
}
else
{
cout<<"您没有足够的钱,已涉嫌欺诈ATM,陷入金钱危机之中!!!!!";
sum-=10000000;
}
}
else{//输入有误的情况进行考虑
cout<<"当前输入字符为非法字符,请重新输入!"<<endl;
break;
}
}
if(flag==1){//检测到系统结束标志 退出当前系统
break;
}
}
cout<<"\n\n";
//模拟操作结束时 显示界面
cout<<"感谢使用!欢迎再次使用该系统!"<<endl;
cout<<"系统关闭中"; //等待关闭中
for(int i=1;i<=6;i++){
Sleep(1000);
cout<<".";
}
return 0;
}