2 回答

TA貢獻1821條經驗 獲得超6個贊
呃
C++的<string>庫中有一個getline()函數
用法是
istream& getline(istream& is,string& str,char delimiter='\n')
第一個參數是輸入流,
第二個參數是字符串變量,
第三個參數是分隔符,默認分隔符是'\n'。
分隔符只能是半角字符,
如果要用','
那么就是
getline(cin, str_, ',');
完整的程序寫出來就是
#include <string>
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin, s, ',');
//..............
//.............
}
如果輸入是:
56,23
那么,s中的內容就是"56"
這樣,再把字符串轉成數字就不困難了
---------------------------------
那個函數名義上是getline,但實際上可以識別任何指定的分隔符,例如LZ給的逗號、句點之類的符號。
例如
輸入是
1,2,3,4,5
那么
getline(cin, str, ',');
過后,str里面的內容就是"1"。
第二次執行getline(cin,str,',');
str里面的內容就是"2"。

TA貢獻1772條經驗 獲得超8個贊
char mChar;
cin>>a;
cin>>mChar;
if(mChar == ',')
{
cin>>b;
cin>>mChar;
if(mChar == ',')
cin>>c;
else
cout<<"逗號!";
}
else
cout<<"逗號!";
//不輸逗號就死定了
沒必要這么麻煩,空格就空格吧,干嘛換成","或者"."呢?
添加回答
舉報