怎样才可以停下这个while语句

#include<bits/stdc++.h>
using namespace std;
char kz;
int a[10],n,w=0,x=0,d=0,br=0;
int main(){
    cout<<"欢迎来到抽奖系统,每抽一次奖,将会使用5个点,有高达99.9%的机率中奖!输入’k‘即可开始"<<endl;
    cin>>kz;
    while(kz=='k')
    {
        srand((unsigned)time(NULL));
        for(int i=1;i<=10;i++)
        {
            a[i]=rand();
        }
        sort(a+1,a+10+1);
        n=rand();
        while(n>10)
        {
        n=rand();
        }
        if(a[n]>=a[6]) cout<<endl<<"你抽到了:武器卡"<<endl;
            else if(a[n]<=a[5]&&a[n]>=a[1]) cout<<endl<<"你抽到了:效果卡"<<endl;
                else cout<<endl<<"谢谢参与,下次再来"<<endl;
    }
    cout<<"继续or退出?继续请按k,退出请按t"<<endl;
    cin>>kz;
    if(kz=='t') 
    {
        return 0;
    }
    return 0;
}


```###### 这个while语句无法停止了

######
 
###### 无法上传截图,描述一下吧:一直在死循环输出一些结果

###### 我尝试return 0;过,但不可以再次访问了

###### 每输出一次结果后可以重新询问

后面的输入与判断语句放到循环语句外面了,移动循环内部就可以了,修改如下:

#include<bits/stdc++.h>
using namespace std;
char kz;
int a[10],n,w=0,x=0,d=0,br=0;
int main(){
    cout<<"欢迎来到抽奖系统,每抽一次奖,将会使用5个点,有高达99.9%的机率中奖!输入’k‘即可开始"<<endl;
    cin>>kz;
    while(kz=='k')
    {
        srand((unsigned)time(NULL));
        for(int i=1;i<=10;i++)
        {
            a[i]=rand();
        }
        sort(a+1,a+10+1);
        n=rand();
        while(n>10)
        {
        n=rand();
        }
        if(a[n]>=a[6]) cout<<endl<<"你抽到了:武器卡"<<endl;
            else if(a[n]<=a[5]&&a[n]>=a[1]) cout<<endl<<"你抽到了:效果卡"<<endl;
                else cout<<endl<<"谢谢参与,下次再来"<<endl;
        cout<<"继续or退出?继续请按k,退出请按t"<<endl;
        cin>>kz;
        if(kz=='t') 
        {
            return 0;
        }
    }
    
    return 0;
}


while循环条件是kz=='k'
只要不等于k就结束了。
后面cin>>kz代码放错位置了吧,没在循环内。


#include<bits/stdc++.h>
using namespace std;
char kz;
int a[10],n,w=0,x=0,d=0,br=0;
int main(){
    cout<<"欢迎来到抽奖系统,每抽一次奖,将会使用5个点,有高达99.9%的机率中奖!输入’k‘即可开始"<<endl;
    cin>>kz;
    while(kz=='k')
    {
        srand((unsigned)time(NULL));
        for(int i=1;i<=10;i++)
        {
            a[i]=rand();
        }
        sort(a+1,a+10+1);
        n=rand();
        while(n>10)
        {
        n=rand();
        }
        if(a[n]>=a[6]) cout<<endl<<"你抽到了:武器卡"<<endl;
            else if(a[n]<=a[5]&&a[n]>=a[1]) cout<<endl<<"你抽到了:效果卡"<<endl;
                else cout<<endl<<"谢谢参与,下次再来"<<endl;
cout<<"继续or退出?继续请按k,退出请按t"<<endl;
    cin>>kz;
    if(kz=='t') 
    {
        return 0;
    }
    }
    return 0;
}

你的kz始终没有改成别的值,那while(kz=='k')始终成立
你只要改下kz的值就可以了