| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 639 人关注过本帖
标题:关于昨天的 猜数字 积分系统 初步做了一个 没学数据库 不能保存 在 学
只看楼主 加入收藏
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
结帖率:90%
收藏
 问题点数:0 回复次数:1 
关于昨天的 猜数字 积分系统 初步做了一个 没学数据库 不能保存 在 学
程序代码:
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# include <malloc.h>

int scanf_1 (void);//此函数用于输入
void judge_1 (int);//此函数用于判断
void kernel_1 (void);//此函数为运行游戏
void kernel_2 (int);//此函数用于重复判断输入结果
void close_1 (void);//此函数用于退出
void close_2 (void);//此函数用于确认退出
void integral_1 (void);//函数功能 待定
void game_1 (void);//此函数用来输出游戏规则 和 介绍
int game_2 (void);//此函数用于随机产生一个数字
int game_3 (int ,int);//此函数用于判断用户输入的数字 和随机数字的大小
int game_4 (int);//此函数为游戏输出你所输入的值是否正确
void Menu_1 (void);//主菜单
int * p = (int *)malloc(sizeof(int)) ;



int main (void)
{
    * p = 0;
    Menu_1 ();
    
    return 0;    
}

void Menu_1 (void)//主菜单
{
    int a, b;//定义两个变量 用于用户选择
    
    do//此循环用于让用户选择 错误再次选择
    {
        printf ("请输入:\n");//输出选择选项
        printf ("        1. 开始游戏\n");
        printf ("        2. 退出游戏\n");
        printf ("        3. 查询积分(暂时不能记录信息)\n");
        
        a = scanf_1 ();
        
        if (a>3)//选择 如果输入 错误 就再次输出 选择选项
        {
            printf ("对不起输入错误 请重新输入\n");
            b = 1;
        }
        
        else if (a<=0)
        {
            printf ("对不起输入错误 请重新输入\n");
            b = 1;
        }
        
        else b = 0;
    }
    while (b);//循环选择 直到输入正确的值
    
    judge_1 (a);//将输入结果给予judge_1进行判断 确定用户选择    
}

int scanf_1 (void)//让用户输入一个值
{
    int opt;
    
    printf ("请输入一个值\n");
    scanf ("%d",&opt);
    fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
    
    return (opt);    
}

void judge_1 (int a)//判断用户选择情况
{
    if (a==1)
    {
        kernel_1 ();
    }
    
    else if (a==2)
    {
        close_1 ();
    }
    
    else 
    {
        integral_1 ();
    }
    
}

void kernel_1 (void)//此函数为运行游戏
{
    int a, spot, accept, result, key;//spot 用于存放随机数 为后面循环 accept 用于接收用户输入的值  result 用于储存判断结果 key 用于储存判断结果 关于 是否正确的
    game_1 ();//此函数用来输出游戏规则 和 介绍
    a = game_2 ();//得到随机数
    spot = a;//将随机数保存
    accept = scanf_1 () ;//让用户输入一个值
    result =  game_3 (spot, accept);//此函数用于判断用户输入的数字 和随机数字的大小
    key = game_4 (result);//用于储存判断结果 关于 是否正确的
    if (key==0)
    {
        kernel_2 (spot);
    }
    else
    {
        close_2 ();
    }
}

void integral_1 (void)//函数功能 待定
{
    char good;
    printf ("你好 你的积分是%d\n", *p);
    printf ("返回游戏请输入 Y 退出 N\n");
    do
    {
        scanf ("%c",&good);//输入选择
        fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
        if (good=='y'||good=='Y') 
        {
            Menu_1 ();
        }
        else if (good=='n'||good=='N') 
        {
            close_1 ();
            break;
        }
        else 
        {
            printf ("对不起 输入错误 请重新输入\n你是否要继续游戏呢?\ny 退出 \nn 继续\n");
        }
    }
    while (1);
}    

void game_1 (void)//此函数用来输出游戏规则 和 介绍
{
    printf ("游戏规则\n1.输入一个数(1~30000) 程序会提示你 输入的数字大了或是小了\n2.直到输入正确游戏记一分\n3.输入错误重新输入\n");
    printf ("\n\n制作人: 小偌 \n");
    printf ("\n希望大家玩的愉快 后期我会加上积分系统的\n这是我第一次做的东西很多不好的地方请指出来谢谢\n");
    printf ("thanks\n\n\n");
}

int game_2 (void)//此函数用于随机产生一个数字
{
    int a;//定义变量 用于储存 随机数
    
    srand(time(NULL));//时间作为种子
    a = rand() % 30000+1;//给a赋予随机值
    
    return a; 
}

int game_3 (int spot,int accept)//此函数用于判断用户输入的数字 和随机数字的大小
{
    int i;//定义变量i 用于储存判断后给予的值
    
    if (spot>accept) i = 1;
    else if (spot<accept) i = 2;
    else i = 3;
    
    return i;
}

int game_4 (int i)//此函数为游戏输出你所输入的值是否正确
{
    int k;//定义变量 k 用于返回判断结果 为后面循环 输入
    
    if (i==1)
    {
        printf ("对不起哦~你所输入的值 小了 再试试吧\n");
        k = 0;
    }
    
    else if (i==2)
    {
        printf ("对不起哦~你所输入的值 大了 再试试吧\n");
        k = 0;
    }
    
    else 
    {
        printf("恭喜你 回答正确!!!\n");
        k = 1;
    }
    
    return k;
}


void close_1 (void)//此函数用于退出
{
    printf ("bey bey\n");
}

void close_2 (void)//此函数用于确认退出
{
    char xxx;//定义变量xxx 用于存放 用户是否要推出的选择
    
    printf ("不得不恭喜你 你猜对了~ 恭喜了~\n你是否要继续游戏呢?\ny 退出 \nn 继续\n");
    
    * p = * p +1;
    
    do
    {
        scanf ("%c",&xxx);//输入选择
        fflush(stdin);//清空磁盘缓冲区 便于重复使用 以及 不影响后面
        if (xxx=='y'||xxx=='Y') 
        {
            close_1 ();
            break;
        }
        else if (xxx=='n'||xxx=='N') 
        {
            Menu_1 ();
        }
        else 
        {
            printf ("对不起 输入错误 请重新输入\n你是否要继续游戏呢?\ny 退出 \nn 继续\n");
        }
    }
    while (1);
}

void kernel_2 (int spot)//此函数用于重复判断输入结果
{
    int accept, result, key;//spot 用于存放随机数 为后面循环 accept 用于接收用户输入的值  result 用于储存判断结果 key 用于储存判断结果 关于 是否正确的
    accept = scanf_1 () ;//让用户输入一个值
    result =  game_3 (spot, accept);//此函数用于判断用户输入的数字 和随机数字的大小
    key = game_4 (result);//用于储存判断结果 关于 是否正确的
    if (key==0)
        kernel_2 (spot);
    else 
        close_2 ();
}
搜索更多相关主题的帖子: color 学数据库 
2011-09-18 10:02
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
对了 请在 void close_1 (void)//此函数用于退出
{
    printf ("bey bey\n");
}
中加上一个 free (p);

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-18 10:10
快速回复:关于昨天的 猜数字 积分系统 初步做了一个 没学数据库 不能保存 在 学
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033598 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved