《字串与数值函数ppt课件》由会员分享,可在线阅读,更多相关《字串与数值函数ppt课件(57页珍藏版)》请在金锄头文库上搜索。
1、第六章第六章 字串與數值函數字串與數值函數 參考書籍:古頤榛,參考書籍:古頤榛,Visual C+ 6教學範本教學範本 ,碁峰資訊股份。碁峰資訊股份。 前言前言 n就像运用變數必須先宣告一樣,就像运用變數必須先宣告一樣,C 語言的語言的函數必須先引入對應的標題檔才干在程式函數必須先引入對應的標題檔才干在程式敘述中出現。敘述中出現。 本章內容所引入的標題檔本章內容所引入的標題檔 nyes.nctu.edu.tw/VC/Ref/include/include.htm 範例程式範例程式Vc601.cpp(获得字串長度获得字串長度)n原始程式碼:原始程式碼: / Vc601.cpp/ 获得字串長度練習
2、获得字串長度練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔int main() char instr80; cout 請輸入字串:請輸入字串:; / 顯示訊息字串顯示訊息字串 cin.getline (instr, 80, n); / 获得輸入字串列获得輸入字串列 cout 字串長度為:字串長度為: strlen(instr) / 顯示字串長度顯示字串長度 endl endl; return 0;Vc601.cpp(获得字串長度获得字串長度)n解說解說 : Vc601.cpp(获得字串長度获得字串長度)n
3、輸出範例:輸出範例: Vc602.cpp(複製字串複製字串)n原始程式碼:原始程式碼: / Vc602.cpp/ 複製字串練習複製字串練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔int main() char source80, target80; cout 請輸入來源字串:請輸入來源字串:; / 顯示訊息字串顯示訊息字串 cin.getline (source, 80, n); / 获得來源字串获得來源字串 strcpy(target, source); / 複製字串複製字串 cout 複製後目的字串
4、:複製後目的字串: target / 顯示目的字串顯示目的字串 endl endl; return 0;Vc602.cpp(複製字串複製字串)n解說解說 :Vc602.cpp(複製字串複製字串)n輸出範例:輸出範例:Vc603.cpp(比較字串檢查密碼比較字串檢查密碼)n原始程式碼:原始程式碼: / Vc603.cpp/ 比較字串練習比較字串練習 (檢查密碼檢查密碼)#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔int main() char password80 = 2000; / 定義並啟始密碼定義並啟始
5、密碼 char instring80; cout 您有您有 3 次機會,次機會,;Vc603.cpp(比較字串檢查密碼比較字串檢查密碼)n原始程式碼:原始程式碼: for (int i = 1; i =3; i+) / 輸入密碼迴圈輸入密碼迴圈 cout 請輸入密碼:請輸入密碼:; cin.getline (instring, 80, n); / 获得來源字串获得來源字串 int flag = strcmp(password, instring); / 比較字串比較字串 if (flag = 0) cout 祝贺您!密碼正確。祝贺您!密碼正確。; / 顯示目的字串顯示目的字串 break; /
6、 中斷迴圈中斷迴圈 else if (i != 3) / 以計數值決定,以計數值決定, cout 還有還有 3-i 次機會,次機會,; / 顯示的字串顯示的字串 else cout 對不起!沒機會了。對不起!沒機會了。; Vc603.cpp(比較字串檢查密碼比較字串檢查密碼)n原始程式碼:原始程式碼: cout endl endl; return 0;Vc603.cpp(比較字串檢查密碼比較字串檢查密碼)n解說解說 :Vc603.cpp(比較字串檢查密碼比較字串檢查密碼)n解說解說 :Vc603.cpp(比較字串檢查密碼比較字串檢查密碼)n解說解說 :Vc603.cpp(比較字串檢查密碼比較字
7、串檢查密碼)n輸出範例:輸出範例:Vc604.cpp(串接字串串接字串)n原始程式碼:原始程式碼: / Vc604.cpp/ 附加字串練習附加字串練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔int main() char first80, last80, full160 = ; cout 請輸入英文名字:請輸入英文名字:; / 顯示訊息字串顯示訊息字串 cin.getline (first, 80, n); / 获得名字字串获得名字字串 cout 請輸入英文姓氏:請輸入英文姓氏:; / 顯示訊息字串顯示
8、訊息字串 cin.getline (last, 80, n); / 获得姓氏字串获得姓氏字串 strcat(full, first); / 串接名字字串串接名字字串 strcat(full, ); / 串接空白字串串接空白字串 strcat(full, last); / 串接姓氏字串串接姓氏字串 cout 您的全名為:您的全名為: full / 顯示全名字串顯示全名字串 endl endl; return 0;Vc604.cpp(串接字串串接字串)n解說解說 :Vc604.cpp(串接字串串接字串)n輸出範例:輸出範例:Vc605.cpp(檢查字串字數計算檢查字串字數計算)n原始程式碼:原始程
9、式碼: / Vc605.cpp/ 檢查字串練習檢查字串練習 (字數計算字數計算)#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔#include / 引入字元測試與轉換函數標題檔引入字元測試與轉換函數標題檔int main() int print = 0, digit = 0, lower = 0, upper = 0; int punct = 0, space = 0, control = 0, chinese = 0; char string = Developer Studio 是一個整合式的開發環境是一
10、個整合式的開發環境 (Integrated Development Environment;IDE), 它提供它提供 Visual Basic、Visual C+、與其他程式的開發環境。、與其他程式的開發環境。; int len = strlen(string); / 获得字串長度获得字串長度Vc605.cpp(檢查字串字數計算檢查字串字數計算)for (int i = 0; i = len; i+) / 字元檢查迴圈字元檢查迴圈 if (isprint(stringi) != 0) / 假设為可列印字元假设為可列印字元 print+; if (isdigit(stringi) != 0) /
11、 為數字字元為數字字元 digit+; else if (islower(stringi) != 0) / 為小寫字元為小寫字元 lower+; else if (isupper(stringi) != 0) / 為大寫字元為大寫字元 upper+; else if (ispunct(stringi) != 0) / 為符號字元為符號字元 punct+; else / 否則為空白字元否則為空白字元 space+; else if (iscntrl(stringi) != 0) / 假设為控制符號字元假设為控制符號字元 control+; else / 否則為全形文字中文字元否則為全形文字中文字
12、元 chinese+; i+; / 全形字為全形字為2bytes,要多移一個字元,要多移一個字元 Vc605.cpp(檢查字串字數計算檢查字串字數計算)n原始程式碼:原始程式碼: cout 英數符號字數:英數符號字數: print; / 顯示訊息字串顯示訊息字串 cout n大寫字數:大寫字數: upper; / 顯示訊息字串顯示訊息字串 cout n小寫字數:小寫字數: lower; / 顯示訊息字串顯示訊息字串 cout n數字字數:數字字數: digit; / 顯示訊息字串顯示訊息字串 cout n空白字數:空白字數: space; / 顯示訊息字串顯示訊息字串 cout n符號字數:符
13、號字數: punct; / 顯示訊息字串顯示訊息字串 cout n控制符號字數:控制符號字數: control; / 顯示訊息字串顯示訊息字串 cout n全形文字字數:全形文字字數: chinese; / 顯示訊息字串顯示訊息字串 cout endl endl; return 0;Vc605.cpp(檢查字串字數計算檢查字串字數計算)n解說解說 :Vc605.cpp(檢查字串字數計算檢查字串字數計算)n解說解說 :Vc605.cpp(檢查字串字數計算檢查字串字數計算)n解說解說 :Vc605.cpp(檢查字串字數計算檢查字串字數計算)n輸出範例:輸出範例:Vc606.cpp(大寫轉小寫大寫轉
14、小寫)n原始程式碼:原始程式碼: / Vc606.cpp/ 大寫轉小寫練習大寫轉小寫練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔#include / 引入字元測試與轉換函數標題檔引入字元測試與轉換函數標題檔int main() char string = Developer Studio; cout 字串轉換前:字串轉換前: string endl; / 顯示轉換前字串顯示轉換前字串 int len = strlen(string); / 获得字串長度获得字串長度 for (int i = 0; i =
15、 len; i+) / 轉成小寫迴圈轉成小寫迴圈 if (isupper(stringi) != 0) / 假设為大寫字元假设為大寫字元 stringi = tolower(stringi); / 轉成小寫字元轉成小寫字元 cout 轉換小寫後:轉換小寫後: string endl / 顯示轉換後字串顯示轉換後字串 endl; return 0;Vc606.cpp(大寫轉小寫大寫轉小寫)n解說解說 :Vc606.cpp(大寫轉小寫大寫轉小寫)n輸出範例:輸出範例:Vc607.cpp(小寫轉大寫小寫轉大寫)n原始程式碼:原始程式碼: / Vc607.cpp/ 小寫轉大寫練習小寫轉大寫練習#inc
16、lude / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入字串函數標題檔引入字串函數標題檔#include / 引入字元測試與轉換函數標題檔引入字元測試與轉換函數標題檔int main() char string = Developer Studio; cout 字串轉換前:字串轉換前: string endl; / 顯示轉換前字串顯示轉換前字串 int len = strlen(string); / 获得字串長度获得字串長度 for (int i = 0; i = len; i+) / 轉成大寫迴圈轉成大寫迴圈 if (islower(stringi) !=
17、 0) / 假设為小寫字元假设為小寫字元 stringi = toupper(stringi); / 轉成大寫字元轉成大寫字元 cout 轉換大寫後:轉換大寫後: string endl / 顯示轉換後字串顯示轉換後字串 endl; return 0;Vc607.cpp(小寫轉大寫小寫轉大寫)n解說解說 :Vc607.cpp(小寫轉大寫小寫轉大寫)n輸出範例:輸出範例:Vc608.cpp(設定欄位寬度九九乘法表設定欄位寬度九九乘法表)n原始程式碼:原始程式碼: / Vc608.cpp/ 設定欄位寬度練習設定欄位寬度練習 (九九乘法表九九乘法表)#include / 引入標準輸入輸出函數標題檔引
18、入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔int main() for (int i = 1; i = 9; i+) / 被乘數迴圈被乘數迴圈1至至9 for (int j = 2; j = 9; j+) / 乘數迴圈乘數迴圈2至至9 cout j * i = / 輸出乘數被乘數輸出乘數被乘數 setw(2) j * i t; / 設定輸出字元長度設定輸出字元長度 cout endl; cout endl; return 0;Vc608.cpp(設定欄位寬度九九乘法表設定欄位寬度九九乘法表)n解說解說 :Vc608.cpp(設定欄
19、位寬度九九乘法表設定欄位寬度九九乘法表)n輸出範例:輸出範例:Vc609.cpp(三角函數三角函數)n原始程式碼:原始程式碼: / Vc609.cpp/ 三角函數練習三角函數練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔#include / 數值函數標題檔數值函數標題檔int main() double degree = (3.1415926) / 180; / degree=徑度徑度/度度 double x; / 宣告變數宣告變數 cout setw(3) i / 輸出欄位名稱輸
20、出欄位名稱 setw(20) sin(i) setw(20) cos(i) setw(20) tan(i) endl endl;Vc609.cpp(三角函數三角函數)n原始程式碼:原始程式碼: for (double i = 0; i 390; i += 30) / 輸出函數值迴圈輸出函數值迴圈 x = degree * i; / 角度換算角度換算 cout setw(3) i / 輸出三角函數輸出三角函數 setw(20) sin(x) setw(20) cos(x) setw(20) tan(x) endl; cout endl; / 跳一行跳一行 return 0;Vc609.cpp(三
21、角函數三角函數)n解說解說 :Vc609.cpp(三角函數三角函數)n輸出範例:輸出範例:Vc610.cpp(指數與對數指數與對數)n原始程式碼:原始程式碼: / Vc610.cpp/ 指數與對數練習指數與對數練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔#include / 數值函數標題檔數值函數標題檔int main() cout setw(2) i / 輸出欄位名稱輸出欄位名稱 setw(12) log(i) setw(18) log10(i) setw(14) exp(i)
22、 endl endl; for (double i = 1; i = 10; i+) / 輸出函數值迴圈輸出函數值迴圈 cout setw(2) i t / 輸出函數值輸出函數值 log(i) setw(8) t log10(i) setw(8) t exp(i) endl; cout endl; / 跳一行跳一行 return 0;Vc610.cpp(指數與對數指數與對數)n解說解說 :Vc610.cpp(指數與對數指數與對數)n輸出範例:輸出範例:Vc611.cpp(次方與根號次方與根號)n原始程式碼:原始程式碼: / Vc611.cpp/ 次方與根號練習次方與根號練習#include /
23、 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔#include / 數值函數標題檔數值函數標題檔int main() cout setw(2) i t / 輸出欄位名稱輸出欄位名稱 setw(15) 2的的i次方次方 setw(15) 根號根號i endl endl; for (double i = 1; i = 10; i+) / 輸出函數值迴圈輸出函數值迴圈 cout setw(2) i t / 輸出函數值輸出函數值 setw(12) pow(2, i) tt sqrt(i) endl; cout e
24、ndl; / 跳一行跳一行 return 0;Vc611.cpp(次方與根號次方與根號)n解說解說 :Vc611.cpp(次方與根號次方與根號)n輸出範例:輸出範例:Vc612.cpp(取整數取整數)n原始程式碼:原始程式碼: / Vc612.cpp/ 取整數練習取整數練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔#include / 數值函數標題檔數值函數標題檔int main() cout it / 輸出欄位名稱輸出欄位名稱 setw(15) 小數進位小數進位 setw(15)
25、 刪除小數刪除小數 endl endl; for (double i = 1; i = 5; i += 0.5) / 輸出函數值迴圈輸出函數值迴圈 cout i t / 輸出函數值輸出函數值 setw(12) ceil(i) setw(15) floor(i) endl; cout endl; / 跳一行跳一行 return 0;Vc612.cpp(取整數取整數)n解說解說 :Vc612.cpp(取整數取整數)n輸出範例:輸出範例:Vc613.cpp(取絕對值取絕對值)n原始程式碼:原始程式碼: / Vc613.cpp/ 取絕對值練習取絕對值練習#include / 引入標準輸入輸出函數標題檔
26、引入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔#include / 數值函數標題檔數值函數標題檔int main() cout it / 輸出欄位名稱輸出欄位名稱 setw(15) 絕對值絕對值 endl endl; for (double i = -1; i = 1; i += 0.2) / 輸出函數值迴圈輸出函數值迴圈 if (i -1.0e-10) / 假设假设i趨近於趨近於0 i = 0; / 則令則令i=0 cout i t / 輸出函數值輸出函數值 setw(12) fabs(i) endl; cout endl; /
27、跳一行跳一行 return 0;Vc613.cpp(取絕對值取絕對值)n解說解說 :Vc613.cpp(取絕對值取絕對值)n輸出範例:輸出範例:Vc614.cpp(字串轉換數值字串轉換數值)n原始程式碼:原始程式碼: / Vc614.cpp/ 字串轉換數值練習字串轉換數值練習#include / 引入標準輸入輸出函數標題檔引入標準輸入輸出函數標題檔#include / 引入串列型態資料處理函數標題檔引入串列型態資料處理函數標題檔#include / 轉換數值函數標題檔轉換數值函數標題檔int main() char *s; double x; int i; long l; cout setw(
28、11) 字串字串tt 數值數值 endl; s = -1998.12E-25 ; / 定義字串定義字串 x = atof( s ); / 轉換成浮點數轉換成浮點數 cout setw(15) s tt x endl; s = 686 pigs ; / 定義字串定義字串 i = atoi( s ); / 轉換成整數轉換成整數 cout setw(15) s tt i endl; s = 98686 dollars; / 定義字串定義字串 l = atol( s ); / 轉換成長整數轉換成長整數 cout setw(15) s tt l endl; cout endl; / 跳一行跳一行 return 0;Vc614.cpp(字串轉換數值字串轉換數值)n解說解說 :Vc614.cpp(字串轉換數值字串轉換數值)n輸出範例:輸出範例:The end