|  | ||
| *停權中*  加入日期: Mar 2010 
					文章: 4
					
				 |  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; } /*這裡就不行了...   */ 初學者中的初學者,希望大家能盡量講的簡單一點 感激不盡      | |||||||
|  2010-06-09, 12:10 AM
			
			
	#1 |   | 
| Major Member  加入日期: Sep 2006 
					文章: 123
					
				 | #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() } | ||
|  2010-06-09, 12:23 AM
			
			
	#2 |   | 
| Advance Member   加入日期: Mar 2010 您的住址: 三界火宅 
					文章: 396
					
				 | 首先,作業不在家作完卻跑來問人,失敗!        再來,以為在78區可以找到正經的答案,更是失敗中的失敗!      | 
|  2010-06-09, 12:27 AM
			
			
	#3 |   | 
| Golden Member     加入日期: Mar 2003 您的住址: 我家 
					文章: 2,584
					
				 | 大哥  你跪錯地方了   這裡不是 摁姆01    | 
|  2010-06-09, 12:33 AM
			
			
	#4 |   | 
| *停權中*  加入日期: Jun 2010 您的住址: 紐開普市 
					文章: 1,545
					
				 | ㊣經藝湘㊣ 請問您跟金義農是什麼關係 | 
|  2010-06-09, 12:54 AM
			
			
	#5 |   | 
| *停權中*  加入日期: May 2010 
					文章: 4
					
				 | 大寫英文字母的ASCII是65~90 小寫英文字母的ASCII是97~122 String 是字元陣列,將輸入的字串存到陣列中,加32是小寫,減32是大寫 此文章於 2010-06-09 01:54 AM 被 ResidentEvil 編輯. | 
|  2010-06-09, 01:52 AM
			
			
	#6 |   | 
| *停權中*  加入日期: May 2010 
					文章: 4
					
				 | 如果要把陣列傳給函數,要使用指標指向陣列起始位置,再把指標當作參數傳給函數 | 
|  2010-06-09, 02:09 AM
			
			
	#7 |   | 
| *停權中*  加入日期: Jun 2002 
					文章: 90
					
				 | ResidentEvil的方向是 1:轉大寫作xor 32 2:轉小寫作or 32 大小寫互轉,把1,2混合,一行就可以判定完成(敵動,我不動口訣) 不過你要作現成的,該用的函數不是知道了,怎麼還有問題? 還用,寫if else不夠漂亮,switch比較有美感 | 
|  2010-06-09, 04:41 AM
			
			
	#8 |   | 
| Advance Member   加入日期: Apr 2002 
					文章: 308
					
				 | 引用: 
 strlwr()照字面看來你是要丟字串進去 但你丟了字元,且....... 宣告a[20],指a陣列有20字元可存 從第0開始,您算算第20是已經是第幾個字元 | |
|  2010-06-09, 06:22 AM
			
			
	#9 |   | 
| *停權中*  加入日期: Jun 2002 
					文章: 90
					
				 | 寫太快@@"前面有誤@@" 基本上你只要抄大小寫轉換那個就好了,至於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] | 
|  2010-06-09, 07:29 AM
			
			
	#10 |   |