IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言---猜数游戏 -> 正文阅读

[C++知识库]C语言---猜数游戏

源代码如下:

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include <conio.h>
#include <time.h>
#include <windows.h>
#define M 100
int n=0,x=0,y=0, random , guess , counter=0;
char random1 , guess1 , name0[20] , fh[100]={'`','~','!','@','$','%','^','&','*','(',')','-','_','=','[',']','{','}',':',';','"',',','.','/','?','+','-','|','*','/'};
double pro;
struct game{
      char name[20];
      int b , c;
      double prob;
}a[M+1];
int main ()
{
    system("title 猜数(字符)游戏");
    system("color F0");
    for(int w=0;w<M;w++)
        a[w].b=0;
    printf("\t\t\t\tplease input your name:");
    gets(name0);
    MENU();
    AGAIN();
    READ();
    system("cls");
    int v=1;
    for(int w=0;w<M+1;w++)
    {
        if(a[w].b!=0){
        printf("\t\t\tNO:%d  %10s  %5d  %5d  %3.2lf\n",v,a[w].name,a[w].b,a[w].c,a[w].prob);
        v++;
        }
    }
    WRITE();

}
void WRITE ()
{
    FILE*w;
    w=fopen("e:\\project.txt","wb");
    fwrite(a,sizeof(struct game),M,w);
    fclose(w);
}
void READ ()
{
    FILE*w;
    int p=0;
    w=fopen("e:\\project.txt","rb");
    fread(a,sizeof(struct game),M,w);

    for(int i=0;i<M+1;i++)
    {
        if(strcmp(a[i].name,name0)==0)
        {
            p++;
            if(a[i].prob<pro)
            {
                strcpy(a[i].name,name0);
                a[i].b=x;
                a[i].c=y;
                a[i].prob=pro;
            }
        }
    }
    if(p==0){
       strcpy(a[M].name,name0);
            a[M].b=x;
            a[M].c=y;
            a[M].prob=pro;
    }
    PPX();
    fclose(w);
}
void PPX ()
{
    int  i ,j , k;
    struct game q;
    for(i=0;i<M;i++){
    k=i;
       for(j=i+1;j<M+1;j++){
        if(a[k].prob<a[j].prob)k=j;
       }
       q=a[i];
       a[i]=a[k];
       a[k]=q;
       }
}

void START ()
{

        random=RANDOM1();
        printf("\t\t\ttype a number from 1 to 1000:");
        scanf("%d",&guess);
        counter++;
        while(random!=guess)
        {
            TABLE();
            counter++;
            printf("\t\t\t  type a number from 1 to 1000:");
            scanf("%d",&guess);

        }
        TABLE();
        x=x+counter;
        y=y+1;
        pro=(double)(1.0/(double)counter);
        printf("\n\t\t\tyour winning probability is %.2lfpersent",pro*100);
        system("pause");
    }
void START1 ()
{

        random1=fh[RANDOM2()];
        printf("\t\t\ttype a symble from the keyboard:");
        scanf("%c",&guess1);
        counter++;
        while(random1!=guess1)
        {
            TABLE1();
            counter++;
            printf("\n\t\t\t  type a symble from the keyboard:");
            scanf("%c",&guess1);

        }
        TABLE1();
        x=x+counter;
        y=y+1;
        pro=(double)(1.0/(double)counter);
        printf("\n\t\t\tyour winning probability is %.2lfpersent",pro*100);
        system("pause");
    }


void MENU ()
{
    printf("\t\t\t╔═══════════════════════════════════════╗\n");
    printf("\t\t\t║                                       ║\n");
    printf("\t\t\t║        欢迎来到猜数(字符)游戏         ║\n");
    printf("\t\t\t║                                       ║\n");
    printf("\t\t\t║                                       ║\n");
    printf("\t\t\t║        ┏━━┓        ┏━━┓       ┏━━┓    ║\n");
    printf("\t\t\t║   猜数:┃ 1┃ 猜字符:┃ 2┃  退出:┃ 3┃    ║\n");
    printf("\t\t\t║        ┗━━┛        ┗━━┛       ┗━━┛    ║\n");
    printf("\t\t\t║                                       ║\n");
    printf("\t\t\t║                                       ║\n");
    printf("\t\t\t╚═══════════════════════════════════════╝\n");

    switch(getch()){
        case '1':
                system("cls");
                START();
                break;
        case '2':
                system("cls");
                START1();
                break;
        case '3':
                exit(0);
                break;
        default:
            printf("error");
        }
}
void TABLE ()
{
    system("cls");
    printf("\t\t\t╔═════════════════════════════");
    printf("═══════════════════════════╗\n");
    printf("\t\t\t║                                                        ║\n");
       if(guess > random)
           printf("\t\t\t║ Too big , type a number from 1 to 1000 again           ║\n");
       else if(guess < random)
           printf("\t\t\t║ Too small , type a number from 1 to 1000 again         ║\n");
       else
           printf("\t\t\t║  congratulations,the number is : %5d                 ║\n" ,random);
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t║ the number of the times you have guessed is: %5d     ║\n", counter);
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t╚══════════════════════════════");
    printf("══════════════════════════╝\n");


}
void TABLE1 ()
{
    system("cls");
    printf("\t\t\t╔═════════════════════════════");
    printf("═══════════════════════════╗\n");
    printf("\t\t\t║                                                        ║\n");
       if(guess1!=random1)
           printf("\t\t\t║ type a symble from the keyboard again                  ║\n");
       else
           printf("\t\t\t║  congratulations,the symble is : %5c                 ║\n" ,random1);
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t║ the symble of the times you have guessed is: %5d     ║\n", counter);
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t║                                                        ║\n");
    printf("\t\t\t╚══════════════════════════════");
    printf("══════════════════════════╝\n");


}
void AGAIN ()
{
    system("cls");
    printf("\t\t\t╔═══════════════════════════╗\n");
    printf("\t\t\t║                           ║\n");
    printf("\t\t\t║         你成功啦          ║\n");
    printf("\t\t\t║                           ║\n");
    printf("\t\t\t║                           ║\n");
    printf("\t\t\t║        ┏━━┓        ┏━━┓   ║\n");
    printf("\t\t\t║   重来:┃ 1┃   退出:┃ 2┃   ║\n");
    printf("\t\t\t║        ┗━━┛        ┗━━┛   ║\n");
    printf("\t\t\t║                           ║\n");
    printf("\t\t\t║                           ║\n");
    printf("\t\t\t╚═══════════════════════════╝\n");
    switch(getch()){
        case '1':
            system("cls");
            counter=0;
            MENU();
            break;
        case '2':
            printf("\t\t\tRECORD WRITTEN\n\t\t\t%s %d %d %.2lf\n",name0,x,y,pro*100);
            system("pause");
            break;
        default:
            printf("error");
        }
}
int RANDOM1 ()
{
    int                   x;
    srand      (time(NULL));
    x=((unsigned)rand()%1000);
    return x;
}
int RANDOM2 ()
{
    int                   x;
    srand      (time(NULL));
    x=((unsigned)rand()%30);
    return x;
}

程序员宿舍淦酒必备,每人猜完自动排名,排最后的进行惩罚哈哈哈。(脑洞有点大)

菜单页面:

?

创建文件并保存排名,游戏结束自动显示排名

?

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 21:57:27  更:2021-12-26 21:58:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:41:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码