2016-03-26 11 views
-1
#include <iostream> 
using namespace std; 
int main(){ 
    char letter,letter1; 
    cin>>letter; 
    char change_to_lower(letter); 
    char change_to_upper(letter); 
    char swap(letter); 
    return 0; 
} 

char change_to_lower(char a){ 
    if(a=='a'&& a<='z'){ 
     char b= toupper(a); 
     return b; 
    } 
} 

char change_to_upper(char a){ 
    if(a=='A'&& a<='Z'){ 
     char b = tolower(a); 
     return b; 
    } 
} 

char swap(char a){ 
    char letter1,letter2; 
    a=change_to_lower(letter1); 
    char b=change_to_upper(letter1); 
    char temp = a; 
    a=b; 
    b=temp; 
    cout<< a<<" "<< b<<endl; 
    return b; 
} 
+0

機能や文字列に新しいが、誰かが私を助けることができるかどうか疑問に思っていました。 – dav

+0

私は小文字を大文字に入れ替える必要があります。 plz lemmeどこが間違っているか知ってください – dav

+0

質問に質問を追加し、コメントに投稿してはいけません。 – Galik

答えて

0

すべての大文字を小文字と小文字に大文字に変換することを意味しますか?

void swapuplo(char *s) 
{ 
    size_t i; 

    for (i = 0; s[i]; ++i) 
     if (isupper(s[i])) 
      s[i] = tolower(s[i]); 
     else if (islower(s[i])) 
      s[i] = toupper(s[i]); 
} 

これは、呼び出すルーチン

int main() 
{ 
    char buf[] = "HeLLo WORLD"; 
    swapuplo(buf); 
    printf("%s\n", buf); 

    getchar(); 
    return 0; 
} 

出力されます。文字のテスト関数の宣言が含まれている、<ctype.h>を含めるようにしてください

hEllO world 

+0

ご協力いただきありがとうございます。 charをlowerまたは大文字に変更しようとしています。例えば、入力がaの場合、出力はAでなければならず、逆の場合は – dav

+0

となります。なぜポインタを使用するのですか?それははるかに簡単になりますか?それはポインタなしで行うことができる他の方法はありますか? – dav

+0

**文字列の最初の文字のアドレスを 'swapuplow'に渡します。なぜなら、**関数**に渡されたときに配列がポインタに崩壊するからです。 – stackptr

関連する問題