Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
楼主: fuiyooo
打印 上一主题 下一主题

请教下如何利用c语言设计一个简单的数字游戏??

[复制链接]

1

主题

0

好友

178

积分

高级会员

Rank: 3Rank: 3Rank: 3

21#
发表于 2009-4-18 08:04 PM |只看该作者
同感同感...上了大学以后,我要去问教授了。。。em0017


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

22#
发表于 2009-4-18 11:20 PM |只看该作者
原帖由 JulyAngel 于 2009-4-18 07:29 PM 发表
我也有一題想問 知道為什麼麻煩告訴我

float a = 0.1;
float b = 0.2;
float c = 0.3;

為什麼c>a+b?em0010

c的數目為什麼會大過a+b?
這樣有比較清楚嗎


把你的编程完整写出来吧,但但這樣不明白你的用意


回复

使用道具 举报

13

主题

0

好友

6850

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

23#
发表于 2009-4-18 11:50 PM |只看该作者
dim a as integer = 0 'a as first value
dim b as integer = 100 'b as last value
dim c as integer = 0 'c as answer
dim d as integer = 0 'd as input value

if d <= a or d => b then
        message : please input value between a to b
       
        if d = c then
                boom!!!!!!
        else if d < c then
        a = d
        else if d > c then
        b = d
        end if
       
end if

差不多是这样吧,是吗?


回复

使用道具 举报

0

主题

9

好友

69

积分

中级会员

Rank: 2Rank: 2

24#
发表于 2009-4-19 12:08 AM |只看该作者
原帖由 Super-Tomato 于 2009-4-18 23:20 发表


把你的编程完整写出来吧,但但這樣不明白你的用意


其實很短....

例子1:
#include <iostream>
using namespace std;
int main(){
   float a = 0.1;
   float b = 0.2;
   float c = 0.3;


   if(c>a+b)cout<<"BOOM"<<endl;

system("pause");
}

輸出結果:
BOOM
press any key to continue...


例子2:
#include <iostream>
using namespace std;
int main(){
   float a = 0.1;
   float b = 0.3;
   float c = 0.4;


   if(c>a+b)cout<<"BOOM"<<endl;

system("pause");
}

輸出結果:
press any key to continue...


例子一 就是我的問題 c>a+b?為什麼?
例子二 就是我對它的認識
知道答案 請指點我em0034

[ 本帖最后由 JulyAngel 于 2009-4-19 12:13 AM 编辑 ]


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

25#
发表于 2009-4-19 12:29 AM |只看该作者
原帖由 JulyAngel 于 2009-4-19 12:08 AM 发表


其實很短....

例子1:
#include
using namespace std;
int main(){
   float a = 0.1;
   float b = 0.2;
   float c = 0.3;

   if(c>a+b)cout



你是用 Dev-C++ 的 gcc 編譯??
但我用 gcc, bcb 與 vc2008 的編譯器測試都沒這個問題啊




[ 本帖最后由 Super-Tomato 于 2009-4-19 12:47 AM 编辑 ]


回复

使用道具 举报

0

主题

9

好友

69

积分

中级会员

Rank: 2Rank: 2

26#
发表于 2009-4-19 08:42 AM |只看该作者
原帖由 Super-Tomato 于 2009-4-19 00:29 发表



你是用 Dev-C++ 的 gcc 編譯??
但我用 gcc, bcb 與 vc2008 的編譯器測試都沒這個問題啊



我的是Dev-C++沒錯
在測試階段的時候 發現的問題
實際原因我也不了解


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

27#
发表于 2009-4-19 12:24 PM |只看该作者
原帖由 fuiyooo 于 2009-4-18 05:38 PM 发表
我是明白了,不过我要执行的时候,有点问题。。。
所以我希望你们可以帮下我咯。。。



先自己編寫出現錯誤的地方才是別人幫忙的部分, 不勞而獲的東西永遠無法變成自己的.



原帖由 JulyAngel 于 2009-4-19 08:42 AM 发表

我的是Dev-C++沒錯
在測試階段的時候 發現的問題
實際原因我也不了解



升級一下你的編譯器, 或嘗試把 Dev-C++ 改成其他的編譯器進行編譯


回复

使用道具 举报

3

主题

0

好友

312

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

28#
发表于 2009-4-19 10:19 PM |只看该作者
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main(void)
{        char choice,ch;
        int a,b,c;
    int answer;
        b=0;
        c=100;
        srand(time(NULL));
s3:     answer =(rand()%100)+1;
s1:
        printf("Press Y to start Game,Press N to Quit\n");
        scanf("%c",&choice);
      
      
        if(choice=='y'){printf("Start Game!\n");
                        printf("enter a number 1~100,0 to Quit\n");
s2:                        scanf("%d",&a);
                           if (a<b){
                           printf("enter number between %d and %d:\n",b,c);                           
                           goto s2;
                           }
                           else if(a>c){
                           printf("enter number between %d and %d:\n",b,c);
                           goto s2;                           
                           }
                        if(a==0)
                        return 0;
                        else if(a<=-1||a>100){
                             printf("Cant enter a number less than 0 and more than 100....");
                             goto s2;
                        
                                
                                }
                        else {
                                printf("Wrong number!Guess Again!\n");
                                if(a==answer)
                                {a==answer;
                                printf("Correct!Do you want to play again?Y or N\n");
                                scanf("%c",&ch);
                                if(ch=='Y')
                                goto s3;
                                else if(ch=='N'){
                                printf("Goodbye\n");
                                }
                                
                                }
                                else if(a<answer)
                                {b=a;
                                printf("enter number between %d and %d:\n",b,c);
                                goto s2;
                                }
                                else if(a>answer)
                                {c=a;
                                printf("enter number between %d and %d:\n",b,c);
                                goto s2;                              
                                }
                              
                        }
                       
                        }
        else {printf("Goodbye!");
        return 0;
        }
}



想请问下,为什么当我执行的时候,答案对了就直接关闭程序的??
请问我哪里出现问题了啊?

[ 本帖最后由 fuiyooo 于 2009-4-19 10:21 PM 编辑 ]


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

29#
发表于 2009-4-20 05:36 AM |只看该作者
原帖由 fuiyooo 于 2009-4-19 10:19 PM 发表
#include
#include
#include

int main(void)
{        char choice,ch;
        int a,b,c;
    int answer;
        b=0;
        c=100;
        srand(time(NULL));
s3:     answer =(rand()%10 ...


厄.... 拿了網友的程式修改卻不明白自己改了哪些??
編程基礎學習有很大的問題哦, 建議拿回講義再複習吧


回复

使用道具 举报

1

主题

0

好友

178

积分

高级会员

Rank: 3Rank: 3Rank: 3

30#
发表于 2009-4-20 06:19 PM |只看该作者
自己修改一下...顺序排好....=.=
首先你的{}用的很乱...刚开始都会的...
排法也不明确...
应该是
1)选Y or N
2)然后是比较a的值...零,<-1,>100,和在他们之间
3)当然是a==answer时,会goto哪里
4)再来就是a!=answer时...以及让b=a,c=a的地方...

你把a==answer的次序放入了a!=answer及b=a,c=a之间...这样会造成混乱...

[ 本帖最后由 冥 于 2009-4-20 07:22 PM 编辑 ]


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-11-29 08:28 AM , Processed in 0.095176 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部