佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

12
返回列表 发新帖
楼主: 无言的豆腐

C/C++讨论区~~(会写C/C++的大大们请进来下下...)

[复制链接]
发表于 27-6-2008 05:36 PM | 显示全部楼层
请问怎样可以 limit user 的input数量?
就是只限user type 一个字,然后就evaluate 下一个statement
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 27-6-2008 07:44 PM | 显示全部楼层
原帖由 exhellsing 于 27-6-2008 05:36 PM 发表
请问怎样可以 limit user 的input数量?
就是只限user type 一个字,然后就evaluate 下一个statement

set如果user type多过一个字就出error咯,还是把repetition statement里面的counter set成while (count < 1)/ for (count=0,count<1,count++)
(好像是这样啦,我也不大懂 )
回复

使用道具 举报

发表于 27-6-2008 08:54 PM | 显示全部楼层
原帖由 无言的豆腐 于 27-6-2008 07:44 PM 发表

set如果user type多过一个字就出error咯,还是把repetition statement里面的counter set成while (count < 1)/ for (count=0,count


很blur下,可以type完整的code给我可以吗?谢谢
回复

使用道具 举报

 楼主| 发表于 27-6-2008 11:30 PM | 显示全部楼层
原帖由 exhellsing 于 27-6-2008 08:54 PM 发表


很blur下,可以type完整的code给我可以吗?谢谢

-------------if / else----------
if ( input >= "a" && input <= "z" || input >= "A" && input <= "B" || input < 10 )
{
    *你要走的程序*;
}

else
{
    cout<<"You have entered a error input, please try again.";
}
回复

使用道具 举报

发表于 28-6-2008 01:42 AM | 显示全部楼层
我的意思是limit user 的input 啦。
#include <iostream>
using namespace std;

int main ()
{
        char input,x;

        cout<<"Enter Your decision (Y/N) : ";
        cin>>input;

if ( input == 'Y' || input == 'y')
        cout<<"You choose YES "<<endl;   
else if (input == 'N'|| input == 'n')
    cout<<"You choose NO."<<endl;
else
        cout<<"Invalid Input"<<endl;

        cout<<"Enter Your Gender (M/F) : ";
        cin>>x;

if ( x == 'm' || x == 'M')
        cout<<"You are male."<<endl;   
else if (x == 'f'|| x == 'F')
    cout<<"You are female."<<endl;
else
        cout<<"Invalid Input"<<endl;
}


试下compile这些statement,execute,然后在第一个input你type "YM",你就明白我讲什么的啦。
回复

使用道具 举报

 楼主| 发表于 28-6-2008 11:14 AM | 显示全部楼层
原帖由 exhellsing 于 28-6-2008 01:42 AM 发表
我的意思是limit user 的input 啦。


试下compile这些statement,execute,然后在第一个input你type "YM",你就明白我讲什么的啦。

噢噢,我看看啊...
回复

使用道具 举报

Follow Us
发表于 28-6-2008 02:54 PM | 显示全部楼层
没有人可以帮到我?
回复

使用道具 举报

 楼主| 发表于 28-6-2008 11:27 PM | 显示全部楼层
原帖由 exhellsing 于 28-6-2008 02:54 PM 发表
没有人可以帮到我?

不好意思,我刚才忙,你的code看起来怪怪的,我跟你改了一下
  1. #include <iostream>
  2. using namespace std;

  3. int main ()
  4. {
  5.         char input,x;

  6.         cout<<"Enter Your decision (Y/N) : ";
  7.         cin>>input;

  8.         if ( input == 'Y' || input == 'y' || input == 'N'|| input == 'n')
  9.         {
  10.             if ( input == 'Y' || input == 'y' )
  11.             {
  12.             cout<<"You choose YES "<<endl;
  13.             cout<<"Enter Your Gender (M/F) : ";
  14.             }
  15.             else
  16.             {
  17.             cout<<"You choose NO."<<endl;
  18.             return 0;
  19.             }
  20.         }
  21.         else
  22.         {
  23.             cout<<"Invalid Input"<<endl;
  24.             return 0;
  25.         }
  26.         
  27.         
  28.         cin>>x;
  29.         if ( x == 'm' || x == 'M' || x == 'f'|| x == 'F')
  30.         {
  31.             if (x == 'm' || x == 'M')
  32.             cout<<"You are male."<<endl;   
  33.             else
  34.             cout<<"You are female."<<endl;
  35.         }
  36.         else
  37.             cout<<"Invalid Input"<<endl;
  38.         return 0;
  39. }
复制代码

由于我不大suggest用else if,所以我帮你改成了nested if,
你之前有问题的关系是应该你把两个save的procedure(input, x)都放进了一个if里面才会产生那样的问题
(你可能不明白我讲什么,你看看我的code就应该会懂了)

[ 本帖最后由 无言的豆腐 于 28-6-2008 11:30 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 29-6-2008 01:08 AM | 显示全部楼层
有谁可以大概跟我讲解array是怎样用的吗?我看那个cprogramming.com看到我blur blur
(英文不好 = =)
回复

使用道具 举报

发表于 29-6-2008 03:38 AM | 显示全部楼层
原帖由 无言的豆腐 于 28-6-2008 11:27 PM 发表

不好意思,我刚才忙,你的code看起来怪怪的,我跟你改了一下#include
using namespace std;

int main ()
{
        char input,x;

        coutinput;

        if ( input == 'Y' || input == 'y' || ...


这不是我要的东西啦
因为如果user accidentally type "YM",就有问题了。
回复

使用道具 举报

 楼主| 发表于 29-6-2008 03:57 AM | 显示全部楼层
原帖由 exhellsing 于 29-6-2008 03:38 AM 发表


这不是我要的东西啦
因为如果user accidentally type "YM",就有问题了。

不过我的type "YM"是没问题的,你的type有问题的关系就在于这边
  1. else
  2.         cout<<"Invalid Input"<<endl;

  3.         cout<<"Enter Your Gender (M/F) : ";
  4.         cin>>x;
复制代码

你把input和x连在一起所以它乱了

[ 本帖最后由 无言的豆腐 于 29-6-2008 03:58 AM 编辑 ]
回复

使用道具 举报

发表于 30-6-2008 12:24 AM | 显示全部楼层
豆腐你的code打YM不會有問題嗎?我想exhellsing 說的問題是打了YM就直接出"u type yes“ , ”u are male",沒給機會打M/F。對嗎?如果是的話,exhellsing 試試在你原本的code加一行

cin.ignore();

在第一個 cin>>x; 的后面。

至于豆腐你用兩個變數,其實還是一樣的。因為單單用cin>>xxx他只是拿出一個字,如果你一開始打兩個字,比如“YM",cin會先拿出 ‘Y' 這個字,放進x。然后第二次用cin的時候,就把M拿出來,所以程式不用你打就繼續下去了~

cin.ignore()的功能是把input的緩沖清除掉,當作你沒用過。所以第二次用cin的時候就不會用之前的數據了。

要解決問題有不少方法,找些資料再去試試啊。

[ 本帖最后由 咕咕叫 于 30-6-2008 12:26 AM 编辑 ]
回复

使用道具 举报

发表于 30-6-2008 12:45 AM | 显示全部楼层

回复 29# 无言的豆腐 的帖子

阵列简单来说就是“变数的变数”。很奇怪吧?先看这个例子就容易了。比如你有array1,array2,array3....这堆变数,然后你要给array1=1,array2=2,........你要一个一个打吗?你会想到用for,可是array1,array2...这些变数名称都固定了,不能用啊~所以阵列就来了。

比如宣告一个array[2]的阵列,里面的元素有array[0],array[1],array[2],框框里的可以是个变数来的,那你就可以用for了~“变数的名称"也可以变了,所以叫”变数的变数“~

这是一个简单的例子。

cprogramming.com不够清楚咩?!我在那里学的叻~

介绍你另外一个www.cplusplus.com:)

[ 本帖最后由 咕咕叫 于 30-6-2008 12:46 AM 编辑 ]
回复

使用道具 举报

发表于 1-7-2008 07:21 PM | 显示全部楼层
關于英文的部分。。。
“it contains” 就好了, 不用 it's,因為 it's 是 it is 的短寫
還有, “to 某動詞” 是 infinitive ,接下來的動詞應該是 不加 ing 的,除非是gerund 的應用。"to change bla bla..." 就好了。。
回复

使用道具 举报

 楼主| 发表于 1-7-2008 09:46 PM | 显示全部楼层
原帖由 咕咕叫 于 30-6-2008 12:45 AM 发表
阵列简单来说就是“变数的变数”。很奇怪吧?先看这个例子就容易了。比如你有array1,array2,array3....这堆变数,然后你要给array1=1,array2=2,........你要一个一个打吗?你会想到用for,可是array1,array2...这些变 ...

还是看不懂 = =
我看写个example来看看下我会比较懂
里面的英文太深了(对我来说...   少时不努力 )
回复

使用道具 举报

 楼主| 发表于 1-7-2008 09:49 PM | 显示全部楼层
原帖由 咕咕叫 于 30-6-2008 12:24 AM 发表
豆腐你的code打YM不會有問題嗎?我想exhellsing 說的問題是打了YM就直接出"u type yes“ , ”u are male",沒給機會打M/F。對嗎?如果是的話,exhellsing 試試在你原本的code加一行

cin.ignore();

在第一個 c ...

我的是没问题d~~
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 1-7-2008 09:51 PM | 显示全部楼层
原帖由 tensaix2j 于 1-7-2008 07:21 PM 发表
關于英文的部分。。。
“it contains” 就好了, 不用 it's,因為 it's 是 it is 的短寫
還有, “to 某動詞” 是 infinitive ,接下來的動詞應該是 不加 ing 的,除非是gerund 的應用。"to change bla bla..." 就 ...

哦哦哦... 受教啦,谢谢
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-12-2025 04:52 PM , Processed in 4.553397 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表