一個C++程式的問題(要含程式碼喔......)

撰寫一個函數,會以一個string物件的reference作為其參數,並且還會將此string的內容轉換為大寫。(請使用toupper( )函數。撰寫一程式,使用一個迴圈,讓我們可以輸入不童的資料來輸入此函數。以下是此程式的執行樣本:

Enter a string (q to quit): go away

GO AWAY

Next string (q to quit): good grief!

GOOD GRIEF!

Next string (q to quit): q

Bye.

Update:

還請有能力的大大解答

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    我想這應該就是你要的,我已經測試過了,如果有哪裡不清楚再問我.

    #include <string>

    #include <cctype>

    using namespace std;

    string Upper(string input)

    {

    int count=input.length(); //算出長度

    char temp;

    for(int i=0; i<count; i++)

    {

    temp=static_cast<char>(toupper(input[i]));

    input[i]=temp;

    }

    return input;

    }

    Source(s): 自己
  • 丸子
    Lv 4
    1 decade ago

    #include < iostream >

    #include < string >

    #include < cctype >

    using namespace std;

    void strupper(string &s)

    {

    int i;

    for(i=0;i < s.length();i++)

    s[i]=toupper(s[i]);

    }

    int main()

    {

    string s;

    while(1) {

    cout << "Enter a string(q to quit): ";

    getline(cin,s);

    if (!s.compare("q")) break;

    strupper(s);

    cout << s << endl;

    }

    }

    有問題再問.

    Source(s): no
Still have questions? Get your answers by asking now.