|
|
C/C++讨论区~~(会写C/C++的大大们请进来下下...)
[复制链接]
|
|
|
发表于 27-6-2008 05:36 PM
|
显示全部楼层
请问怎样可以 limit user 的input数量?
就是只限user type 一个字,然后就evaluate 下一个statement |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 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",你就明白我讲什么的啦。
噢噢,我看看啊... |
|
|
|
|
|
|
|
|
|
|
发表于 28-6-2008 02:54 PM
|
显示全部楼层
没有人可以帮到我? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 28-6-2008 11:27 PM
|
显示全部楼层
原帖由 exhellsing 于 28-6-2008 02:54 PM 发表 
没有人可以帮到我?
不好意思,我刚才忙,你的code看起来怪怪的,我跟你改了一下- #include <iostream>
- using namespace std;
- int main ()
- {
- char input,x;
- cout<<"Enter Your decision (Y/N) : ";
- cin>>input;
- if ( input == 'Y' || input == 'y' || input == 'N'|| input == 'n')
- {
- if ( input == 'Y' || input == 'y' )
- {
- cout<<"You choose YES "<<endl;
- cout<<"Enter Your Gender (M/F) : ";
- }
- else
- {
- cout<<"You choose NO."<<endl;
- return 0;
- }
- }
- else
- {
- cout<<"Invalid Input"<<endl;
- return 0;
- }
-
-
- cin>>x;
- if ( x == 'm' || x == 'M' || x == 'f'|| x == 'F')
- {
- if (x == 'm' || x == 'M')
- cout<<"You are male."<<endl;
- else
- cout<<"You are female."<<endl;
- }
- else
- cout<<"Invalid Input"<<endl;
- return 0;
- }
复制代码
由于我不大suggest用else if,所以我帮你改成了nested if,
你之前有问题的关系是应该你把两个save的procedure(input, x)都放进了一个if里面才会产生那样的问题
(你可能不明白我讲什么,你看看我的code就应该会懂了)
[ 本帖最后由 无言的豆腐 于 28-6-2008 11:30 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

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

楼主 |
发表于 29-6-2008 03:57 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
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 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~~  |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 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..." 就 ...
哦哦哦... 受教啦,谢谢  |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|