我有一個程序在這裏我反轉輸入的字符串的情況。這是我的.cpp文件中的代碼,我正在使用Visual Studio C++ IDE。我不確定在頭文件中需要什麼,或者如果我需要一個這樣的工作。功能調用標識符未找到錯誤
我的函數調用swapCase出錯。主要因爲某些我不確定的原因而看不到swapCase。
#include <cctype>
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char name[30];
cout<<"Enter a name: ";
cin.getline(name, 30);
swapCase(name);
cout<<"Changed case is: "<< name <<endl;
_getch();
return 0;
}
void swapCase (char* name)
{
for(int i=0;name[i];i++)
{
if (name[i] >= 'A' && name[i] <= 'Z')
name[i] += 32; //changing upper to lower
else if(name[i] >= 'a' && name[i] <= 'z')
name[i] -= 32; //changing lower to upper
}
}
讚賞語法或語義的任何其他技巧。
對於用戶輸入使用固定大小的數組非常危險 - 如果輸入40個字符,程序可能會崩潰或更糟。你應該將'name'設爲'std :: string',並將其讀作'getline(cin,name)'。 –