![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - C++嫩咖一問,跪求大家幫忙
(https://www.pcdvd.com.tw/showthread.php?t=896712)
|
---|
C++嫩咖一問,跪求大家幫忙
使用者輸入一字串並輸入1.2.3.執行
1.轉大寫(用strupr字串轉換函數) 2.轉小寫 strlwr 3.大小寫互轉 重點要用函數表達 #include <iostream> #include <cstdlib> using namespace std; void star(char); int main() { char a[20]; int b; cout<<"input a string"; cin.getline(a,20); cout<<"1.轉大寫2.轉小寫3.大小寫互轉"; cin>>b; if (b=1) star(a[20]); system("pause"); return 0; } void star(char a) { strlwr(a); cout<<a<<endl; } /*這裡就不行了... :cry: */ 初學者中的初學者,希望大家能盡量講的簡單一點 感激不盡 :cry: :cry: :cry: |
#include <iostream>
#include <cstdlib> using namespace std; void star(char); //函數宣告 int main() { char a[20]; //變數宣告 int b; cout<<"input a string"; //印出訊息"input a string" cin.getline(a,20); //輸入訊息至 char a[20] cout<<"1.轉大寫2.轉小寫3.大小寫互轉"; cin>>b; //輸入 int b if (b=1) //如果b =1 , 轉大寫 star(a[20]); //呼叫函數 , 跳至star() system("pause"); return 0; //結束 } void star(char a) { strlwr(a); // 將 string char a[20] -> 小寫 cout<<a<<endl; // 輸出結果 ,返回 main() } |
首先,作業不在家作完卻跑來問人,失敗! :unbelief: :unbelief: :unbelief:
再來,以為在78區可以找到正經的答案,更是失敗中的失敗! :D :D :D |
大哥 你跪錯地方了 這裡不是 摁姆01 :jolin:
|
㊣經藝湘㊣
請問您跟金義農是什麼關係 |
大寫英文字母的ASCII是65~90
小寫英文字母的ASCII是97~122 String 是字元陣列,將輸入的字串存到陣列中,加32是小寫,減32是大寫 |
如果要把陣列傳給函數,要使用指標指向陣列起始位置,再把指標當作參數傳給函數
|
ResidentEvil的方向是
1:轉大寫作xor 32 2:轉小寫作or 32 大小寫互轉,把1,2混合,一行就可以判定完成(敵動,我不動口訣) 不過你要作現成的,該用的函數不是知道了,怎麼還有問題? 還用,寫if else不夠漂亮,switch比較有美感 |
引用:
strlwr()照字面看來你是要丟字串進去 但你丟了字元,且....... 宣告a[20],指a陣列有20字元可存 從第0開始,您算算第20是已經是第幾個字元 |
寫太快@@"前面有誤@@"
基本上你只要抄大小寫轉換那個就好了,至於switch這種東西就不墜述了 PS:直接作加減會有問題,因為可能有破表危機^^"你還要後續檢查,太麻煩了 範例: 大小互轉--xor (input[index]>=65 && input[index]<=90) || (input[index]>=97 && input[index]<=122)?(input[index]^32):input[index] 轉小寫--or (input[index]>=65 && input[index]<=90) || (input[index]>=97 && input[index]<=122)?(input[index]|32):input[index] 轉大寫--先or再xor (input[index]>=65 && input[index]<=90) || (input[index]>=97 && input[index]<=122)?((input[index]|32)^32):input[index] |
所有的時間均為GMT +8。 現在的時間是03:35 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。