1 / 6

句型王

句型王. 實習 7. 讓使用者可輸入一個句子,並且有以下功能: 搜尋字串並顯示該字串出現的次數 刪除特定字串 ( 整句裡有的都要刪掉 ) 取代特定字串 ( 整句裡有的都要取代 ) 輸入另外一個句子並將兩句合併 以上功能都要能重複進行,並且以選單的方式讓使用者選擇 ( 需包含離開的選項 ) ,每個功能請自行設計以”函式”完成。. 參考輸入 ( 該有的功能要有,其他隨意 ): 請輸入文字: To be is not to be(enter) ( 選擇搜尋功能 ) : to 搜尋到: 1 個相同單字 ( 大小寫有差 ) ( 選擇刪除功能 ) : be

ossie
Download Presentation

句型王

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 句型王 實習7

  2. 讓使用者可輸入一個句子,並且有以下功能: • 搜尋字串並顯示該字串出現的次數 • 刪除特定字串(整句裡有的都要刪掉) • 取代特定字串(整句裡有的都要取代) • 輸入另外一個句子並將兩句合併 • 以上功能都要能重複進行,並且以選單的方式讓使用者選擇(需包含離開的選項),每個功能請自行設計以”函式”完成。

  3. 參考輸入(該有的功能要有,其他隨意): • 請輸入文字:To be is not to be(enter) • (選擇搜尋功能):to • 搜尋到:1個相同單字 (大小寫有差) • (選擇刪除功能):be • 目前句子: To is not to (中間都只隔一個空白,而且整句裡面有be的都要刪) • (選擇替代功能):not • 請輸入替代字串:jerry • 目前句子:To is jerry to (每個都只隔一個空白) • (選擇合併句子):go to hell • 目前句子: To is jerry to go to hell • (選擇離開程式):Bye-bye~(隨便高興印什麼)

  4. 助教小語 • 如何讀一整行的句子並且把他放到一個字串(字元陣列)裡面? • fgets(string, 256, stdin) • fgets是一個”超”好用的讀取函式,他可以把螢幕/檔案 上隨意輸入的東西全部存到一個string(自己設的字串變數)裡面,第一個參數是你要存的陣列,第二個參數是每次讀入大小(通常會設跟陣列大小一樣,我習慣設256),第三個參數是file point,之後開讀檔的時候會教,簡單講就是連接到檔案開頭的位置指標,而在這裡用stdin是stand input的縮寫,會把標準輸入(通常是螢幕)當作來源。 • 一般很常見到這種寫法 • while( fgets( line , 256, stdin ) != NULL ){ 做其他事…. • } • 這種寫法會每次讀一行進來,再以字串的方式去處理,讀到沒有為止,如果是螢幕輸入則需設定離開的選項讓這個迴圈停止(螢幕可以一直輸入嘛,不像檔案有結尾),可以用下一頁那一堆函式來處理字串。 • 如何使用fgets,請參考http://www.cplusplus.com/ref/

  5. 助教小語 • 所有函式參考網頁http://www.cplusplus.com/ref/ • 如何比較兩字串有相同? • strstr()、strcmp() • 如何在字串後面接上新的字串? • strcat() • 如何複製字串? • strcpy() • 如何得知字串長度? • strlen() • 使用以上幾個函式就可以寫完本次實習。 • PS: 很難歐….雖然看起來很簡單…

  6. 助教小語 • 如何重複讀取?請參照實習6 • 如何連續判斷相同的字串? 想想看為什麼可以像下面這樣用八…觀念不好懂 • char input[20]; • char *ptr; • int count=0; • ptr = input; • while( (ptr = strstr( ptr , "to" )) ) { • count++; • ptr = ptr+1; • }

More Related