在教小孩子們於C語言中進行一個數字小遊戲的製作時,
單純的用數字(int)來進行程式的編寫本身並沒有問題,
但在後面進行所謂的(例外錯誤)的檢測時,
發現C語言本身的型態轉換並不容易,
因此找了一下如何解決這個問題的方法,
最後還是發現使用(char)型態來運行整個程式的輸入及檢查
其中的重點就在於C語言中文字型態和數字型態的互相轉換
---------------------------------程式碼---------------------------------
int transfer(char n[],int temp[])
{
//上方的char n[]為輸入的字元陣列
//temp[]則是轉換成功後得到的數字陣列
int i,j;
i=0;
while(n[i]!='\0') /*讀取整個陣列,因為字元陣列最後必為\0,此乃預設值。*/
{
j=n[i];/*此處進行字元ASCII碼的轉換,以便之後的數字判斷*/
/*由int 型態的j來儲存字元char,得到ASCII碼*/
if(!(j>=49&&j<=57)) //在此處進行數字1-9的判斷
{
printf("請輸入1-9的數字\n");
return 0;
}
temp[i] = n[i]-'0';/*在此進行char轉int的動作*/
/*其實就是把ASCII碼多的部份減掉*/
i++;
}
if(i!=4)
{
printf("請輸入4個數字,不要多也不要少!!\n");
return 0;
}
else if(temp[0]==temp[1]||temp[0]==temp[2]||temp[0]==temp[3]||temp[1]==temp[2]||temp[1]==temp[3]||temp[2]==temp[3])
{
printf("請勿輸入重覆的數字\n");
return 0;
}
return *temp;
}
---------------------------------END---------------------------------
這裡是程式碼中的一小段,主要是檢查輸入4個不同的數字所需的檢查及判斷過程
沒有留言:
張貼留言