C++學習筆記(三)——關於cin.get() 順便求助各位大佬
阿新 • • 發佈:2022-01-20
來自C++Primer程式設計練習6.11-1
編寫一個小程式,讀取鍵盤輸入,直到遇到@符號為止,並回顯輸入(數字除外),同時將大寫字元轉換為小寫,將小寫字元轉換為大寫。
#include<iostream>
using namespace std;
int main()
{
char a[50];
char ch;
int i = 0;
do
{
cin.get(ch);
a[i] = ch;
i++;
}
while(ch != '@');
i = 0;
int j = 97-65;
while(a[i] != '@')
{
if(a[i] >= '0' && a[i] <= '9')
{
i++;
continue;
}
else if(a[i] >= 'A' && a[i] <= 'Z')
{
a[i] = a[i]+j;
}
else if(a[i] >= 'a' && a[i] <= 'z')
{
a[i] = a[i]-j;
}
cout << a[i++];
}
}
一開始的寫法是:
char ch[50];
int i = 0;
do
{
cin.get(ch[i]);
i++;
}
while(ch[i] != '@');
但執行報錯,到目前為止還沒有找到原因……先記下來等過一陣學得更多了再回頭看。
有大佬知道原因可以幫幫我嗎?