回 帖 发 新 帖 刷新版面

主题:求帮忙改下该程序、、

#include<stdio.h>
#include"windows.h"
#include<stdlib.h>   
#include<time.h>
int main() 
{
void print_star();
void print_message();
void print_hen();
void print_o();
int z=0,d,l=10;
int e[4];
start:
print_star();
printf("                   猜  字  游  戏<第二版>\n");
print_hen();
print_message();
print_hen();
printf("请输入你的选择:\n");
scanf("%d",&d);
    if(d==1)
    {
        int i=0,n=1,c,x1,x2,x3,x4,q,w,w1,w2,w3,w4,t,t1,t2,t3,t4;
        
        {
        srand(time(0));  
        x1=rand()%10;
        x2=rand()%10;
        x3=rand()%10;
        x4=rand()%10;
        if(x1==x2||x1==x3||x1==x4) q=0;
        else if(x2==x3||x2==x4) q=0;
        else if(x3==x4) q=0;
        else q=1;
        }
        while (q==0);
        
loop:
        do
        { 
            printf("请输入你猜测的4位不同的数(0~9之间):");
            scanf("%d %d %d %d",&e[0],&e[1],&e[2],&e[3]);
            if(e[0]==e[1]||e[0]==e[2]||e[0]==e[3]||e[1]==e[2]||e[1]==e[3]||e[2]==e[3]) 
            {
                printf("你输入的数重复,请重新输入!\n");
                goto loop;
            }
            if(x1==e[0]) w1=1;
            else w1=0;
            if(x2==e[1]) w2=1;
            else w2=0;
            if(x3==e[2]) w3=1;
            else w3=0;
            if(x4==e[3]) w4=1;
            else w4=0;
            w=w1+w2+w3+w4;
            if(x1==e[1]||x1==e[2]||x1==e[3]) t1=1;
            else t1=0;
            if(x2==e[0]||x2==e[2]||x2==e[3]) t2=1;
            else t2=0;
            if(x3==e[1]||x3==e[0]||x3==e[3]) t3=1;
            else t3=0;
            if(x4==e[1]||x4==e[2]||x4==e[0]) t4=1;
            else t4=0;
            t=t1+t2+t3+t4;
            printf("有%d个数的数值和位置相同,有%d个数的数值相同但位置不同\n",w,t);
            n++;
            z=100-10*i;
            i++;
            if(x1==e[0]&&x2==e[1]&&x3==e[2]&&x4==e[3]) break;
        }
        while(n<=l);
        if(x1==e[0]&&x2==e[1]&&x3==e[2]&&x4==e[3]) 
        {
            printf("恭喜你通过了,你的总分为:%d\n",z);
        
        }
        else 
        {
            printf("你未能通过,你的总分为:0\n");
            printf("\n输入0返回上一级菜单\n");
            z=0;
            scanf("%d",&c);
        if(c==0)
        {
            system("cls");
            goto start;
        }
        }

    }
    if(d==2)
    {
        int c;
        printf("你上次的成绩为:%d\n",z);
        printf("\n输入0返回上一级菜单\n");
        scanf("%d",&c);
        if(c==0)
        {
            system("cls");
            goto start;
        }
    }

    if(d==3)
    {
        int c;
        print_o();
        printf("游戏规则:在屏幕上输入4个不同的数,与系统生成的四个数进行比较,如果数字的数值和位置都正确,则胜出!总共可以尝试10次,但每尝试一次扣10分。\n");
        print_o();
        printf("输入0返回上一级菜单\n");
        scanf("%d",&c);
        if(c==0)
        {
            system("cls");
            goto start;
        }
    }
    

    if(d==0);
    {
        int r;
        r=0;
            
    }
    return 0;
}
    
void print_star()
{
printf("**************************************************************************\n");
}
void print_message()
{
printf("1:开始游戏!\n2:查看上一次成绩!\n3:输出帮助信息!\n0:退出游戏!\n");
}
void print_hen()
{
printf("--------------------------------------------------------------------------\n");
}
void print_o()
{
    printf("===========================================================================\n");
}

回复列表 (共1个回复)

沙发


求大神们帮我将这段代码改下、、、程序运行界面2.查询上次成绩改成为积分榜。3.    若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。操作菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成绩及用户姓名显示出来。。最好能在主菜单中添加一项游戏设置(1设置猜数个数。2设置可尝试次数。0返回主菜单)谢谢了。。。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册