




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)說(shuō)明書(shū)(C程序設(shè)計(jì))班級(jí): 信管B08-1 姓名:_ _設(shè)計(jì)題目:_字符串處理系統(tǒng)_設(shè)計(jì)時(shí)間:_2021.9.7_至_2021.9.11 _指導(dǎo)教師:_ _評(píng) 語(yǔ):_評(píng)閱成績(jī): 評(píng)閱教師: C程序設(shè)計(jì)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告開(kāi)課實(shí)驗(yàn)室:基礎(chǔ)實(shí)驗(yàn)室四 2021年 9月10日實(shí)驗(yàn)題目字符串處理系統(tǒng)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)該課程的學(xué)習(xí),使學(xué)生鞏固和加深C程序設(shè)計(jì)理論知識(shí),進(jìn)一步掌握編程技巧和方法,并通過(guò)課程設(shè)計(jì)實(shí)踐進(jìn)一步加強(qiáng)學(xué)生獨(dú)立分析問(wèn)題和解決問(wèn)題的能力、綜合設(shè)計(jì)及創(chuàng)新能力的培養(yǎng),同時(shí)注意培養(yǎng)學(xué)生調(diào)試程序、綜合應(yīng)用的能力。二、設(shè)備與環(huán)境PC兼容機(jī)、Windows操作系統(tǒng)、Turbo C/Win tc,Vc
2、+軟件等。三、實(shí)驗(yàn)內(nèi)容功能模塊簡(jiǎn)介和系統(tǒng)結(jié)構(gòu)圖:字符串處理系統(tǒng)系統(tǒng)結(jié)構(gòu)圖:13-退出系統(tǒng)12-讀取字符串文件11-保存字符串文件10-讀取數(shù)字文件9-保存數(shù)字文件8-取出字符串7-字符數(shù)組的運(yùn)算1-輸入字符串2-顯示數(shù)字3-將數(shù)字排序4-顯示字母5-顯示特殊字符6-計(jì)算字符串長(zhǎng)度7. 5-返回主菜單7.4-兩個(gè)字符串的比較7.3-字符串逆序排列7.2-字符串的連接7.1-字符串的復(fù)制4. 5-返回主菜單4.4-顯示元音字母4.3-顯示小寫(xiě)字母4.2-顯示大寫(xiě)字母4.1-顯示所有字母該功能模塊一共有一級(jí)菜單13個(gè),二級(jí)菜單10個(gè)。進(jìn)入主界面后共有:1輸入字符串。該模塊的功能是輸入要處理的字符串,
3、輸入后會(huì)提示是否確定輸入,確定后輸出提示“字符串已成功輸入!”。2.顯示數(shù)字。該模塊的功能是將字符串中的連續(xù)數(shù)字作為一個(gè)整數(shù),依次存入數(shù)組a中并輸出。3.將數(shù)字排序。該模塊的功能是將數(shù)組元素按升序排序。4.顯示字母。該模塊的功能是將字符串的所有字母、大寫(xiě)字母、小寫(xiě)字母、元音字母在屏幕上輸出。5.顯示特殊字符。該模塊的功能是輸出字符串中的特殊字符。6.計(jì)算字符的長(zhǎng)度。該模塊的功能是對(duì)字符串進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)出字符串的長(zhǎng)度、數(shù)字的個(gè)數(shù)、字母的個(gè)數(shù)、特殊字符的個(gè)數(shù)。7.字符數(shù)組的運(yùn)算。該模塊的功能是對(duì)字符串進(jìn)行復(fù)制、連接、逆序排列、比較等操作。8.取出字符串。該模塊的功能是取字符串中指定位置的指定個(gè)數(shù)的
4、字符串。9.保存數(shù)字文件。該模塊的功能是將按升序排序后的數(shù)組元素一次存入文件data.out中10.讀取數(shù)字文件。該模塊的功能是從文件讀出輸出到屏幕。11.保存字符串文件。該模塊的功能是將字符串存入一個(gè)文件。12.讀取字符串文件。該模塊的功能是從文件中讀出字符串到屏幕。13.退出系統(tǒng)。該模塊的功能是退出系統(tǒng),返回到Windows狀態(tài)。系統(tǒng)主要界面設(shè)置及運(yùn)行說(shuō)明:1.輸入字符串。將字符串設(shè)為全局變量,用scanf函數(shù)從鍵盤(pán)輸入字符。然后判斷是否確定,若確定,則輸入y,輸出“字符串已成功輸入!”,若否定,則按任意鍵重新輸入。2.顯示數(shù)字。用指針將字符串中的連續(xù)的數(shù)字作為一個(gè)整數(shù)放入a數(shù)組中。要注意
5、將字符轉(zhuǎn)為數(shù)字的方法為用數(shù)字字符的ASCII與零的相減即得。3.將數(shù)字排序。將a數(shù)組里的數(shù)字用冒泡法進(jìn)行升序排列。冒泡法是將前一個(gè)數(shù)與后一個(gè)數(shù)進(jìn)行比較,若前面的數(shù)大,則交換。4-1.顯示所有字母。用if語(yǔ)句判斷字符串是否是字母,是則輸出。同時(shí)計(jì)算字母的個(gè)數(shù),若個(gè)數(shù)為0,則輸出“字符串中沒(méi)有字母!”。4-2.顯示大寫(xiě)字母。用for語(yǔ)句循環(huán),若字符串的字符是大寫(xiě)字母,則輸出。如果大寫(xiě)字母的個(gè)數(shù)為0,則輸出“字符串中沒(méi)有大寫(xiě)字母!”。4-3.顯示小寫(xiě)字母。方法同顯示大寫(xiě)字母。字符為小寫(xiě)字母時(shí)輸出。4-4.顯示元音字母。元音字母有a,e,i,o,u,方法同顯示大寫(xiě)字母。字符為元音字母時(shí)輸出,大小寫(xiě)均要
6、輸出。5.顯示特殊字符。在二級(jí)菜單中按5進(jìn)入主菜單,用ifelse語(yǔ)句,當(dāng)字符不是數(shù)字,也不是字母,就是特殊字符。當(dāng)特殊字符的個(gè)數(shù)為0是,輸出“字符串中沒(méi)有特殊字符!”。6計(jì)算字符串的長(zhǎng)度。用for語(yǔ)句循環(huán),字符串不是0時(shí)字符串個(gè)數(shù)+1,同時(shí)用if語(yǔ)句判斷是否是數(shù)字或字母,計(jì)算個(gè)數(shù)。特殊字符的個(gè)數(shù)為字符串的長(zhǎng)度減去數(shù)字和字母的個(gè)數(shù)。7-1.字符串的復(fù)制。不用字符串函數(shù)做字符串的復(fù)制。先定義一個(gè)字符數(shù)組,將原字符串在循環(huán)中賦給定義的字符數(shù)組,數(shù)組的最后加0,就成為復(fù)制的字符串。7-2.字符串的連接。定義兩個(gè)字符數(shù)組,一個(gè)放輸入的要連接的字符串,一個(gè)復(fù)制原字符串,將輸入的要連接的字符串放在該數(shù)組后
7、面,數(shù)組的最后加0,再輸出連接后的字符串。7-3字符串的逆序排列。先計(jì)算出字符串的長(zhǎng)度,將原字符串的最后一個(gè)字符放在定義的數(shù)組的第一位,用循環(huán)依此類(lèi)推,定義數(shù)組的最后加0,就變成將原字符串逆序排列的字符串,將之輸出。7-4.兩個(gè)字符串的比較。輸入一個(gè)字符串,定義c為原字符串減去新字符串,若c大于0,則原字符串大,若c小于0,則新字符串大,若c等于0,則兩個(gè)字符串相等。8.取出字符串。在二級(jí)菜單中輸入5,返回主菜單。定義一個(gè)新數(shù)組,輸入取出串的位置和取出串的個(gè)數(shù),從取出串的位置處開(kāi)始循環(huán),將指定個(gè)數(shù)的字符放入新數(shù)組中,最后加0即可。9.保存數(shù)字文件。將升序排序后的a數(shù)組一次存入文件data.ou
8、t中。打開(kāi)文件,若打不開(kāi),輸出“不能打開(kāi)文件!”,用fwrite將數(shù)組存入文件中,若不能寫(xiě)入,則輸出“文件打開(kāi)錯(cuò)誤!”。寫(xiě)入后,關(guān)閉文件,輸出“數(shù)字已寫(xiě)入文件,文件關(guān)閉!”。10.讀取數(shù)字文件。打開(kāi)9中保存的文件,若不能打開(kāi),輸出“不能打開(kāi)文件!”,將從文件中讀出的數(shù)輸出到屏幕上,關(guān)閉文件。11.保存字符串文件。定義文件名,輸入文件名并建立文件,將字符串寫(xiě)入文件中,若寫(xiě)入錯(cuò)誤,輸出“文件打開(kāi)錯(cuò)誤!”。關(guān)閉文件,輸出“字符串已寫(xiě)入文件,文件關(guān)閉!”。12.讀取字符串文件。將11中輸入的文件名作為全局變量,打開(kāi)該文件,讀出文件里的字符串并輸出在屏幕上。13.退出系統(tǒng)。當(dāng)菜單中選擇的數(shù)大于該菜單的模
9、塊數(shù),則輸出“輸入錯(cuò)誤!請(qǐng)重新輸入!”,并跳回選擇數(shù)字鍵的地方。退出系統(tǒng)即進(jìn)入空語(yǔ)句,退回到Windows狀態(tài)。四、實(shí)驗(yàn)結(jié)果及分析(源程序代碼)#includechar str100,*p;int a100,*pa;int n; /*n為a數(shù)組的個(gè)數(shù)*/int m; /*m為字符串的長(zhǎng)度*/char filename10; /*定義字符串文件名為全局變量*/void main()void input(); /*1-輸入字符串*/void number(); /*2-顯示數(shù)字*/void sort(); /*3-將數(shù)字排序*/void alphabet(); /*4-顯示字母*/void spe
10、cial(); /*5-顯示特殊字符*/void length(); /*6-計(jì)算字符串長(zhǎng)度*/void array(); /*7-字符數(shù)組的運(yùn)算*/void extraction(); /*8-取出字符串*/void save_number(); /*9-保存數(shù)字文件*/void read_number(); /*10-讀取數(shù)字文件*/void save_string(); /*11-保存字符串文件*/void read_string(); /*12-讀取字符串文件*/int c;system(cls); /*清屏*/printf(n);printf( 字符串處理 n);printf(n);
11、printf( 1-輸入字符串 n);printf( 2-顯示數(shù)字 n);printf( 3-將數(shù)字排序 n);printf( 4-顯示字母 n);printf( 5-顯示特殊字符 n);printf( 6-計(jì)算字符串長(zhǎng)度 n);printf( 7-字符數(shù)組的運(yùn)算 n);printf( 8-取出字符串 n);printf( 9-保存數(shù)字文件 n);printf( 10-讀取數(shù)字文件 n);printf( 11-保存字符串文件 n);printf( 12-讀取字符串文件 n);printf( 13-退出系統(tǒng) n);printf(n);printf(謝謝使用本系統(tǒng)n);printf(n);agai
12、n:printf( 【請(qǐng)用數(shù)字鍵選擇操作菜單】:);scanf(%d,&c);switch(c)case 1:input();break;case 2:number();break;case 3:sort();break;case 4:alphabet();break;case 5:special();break;case 6:length();break;case 7:array();break;case 8:extraction();break;case 9:save_number();break;case 10:read_number();break;case 11:save_strin
13、g();break;case 12:read_string();break;case 13:goto end;default:printf(輸入錯(cuò)誤!請(qǐng)重新輸入!n);goto again; end: ; /*如果選擇項(xiàng)不在111之間則重輸*/void input() /*1-輸入字符串*/char c;doprintf(n);printf(輸入一個(gè)字符串(以空字符串結(jié)束):n);scanf(%s,str);getchar();printf(是否確定輸入?(按y確定,按任意鍵重新輸入));c=getchar();while(c!=y);printf(字符串已成功輸入!-n);getch();m
14、ain();void number() /*2-顯示數(shù)字*/int i,f; /*將字符串中的連續(xù)數(shù)字作為一個(gè)整數(shù),依次存入數(shù)組a中并輸出*/for(i=f=n=0,p=str;*p!=0;p+)if(*p=0&*p=9)if(f) an-1=an-1*10+*p-0;else f=1;an+=*p-0;elsef=0;printf(n);printf(字符串中的數(shù)字有:n);for(pa=a;paa+n;pa+)printf(%d ,*pa);getch();main();void sort() /*3-將數(shù)字排序*/int i,j,t;for(i=0;in-1;i+) /*用冒泡法從小到大
15、排序*/for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;printf(n);printf(排序后數(shù)字為:n);for(i=0;i=a&*p=A&*p=A&*p=a&*p=0&*p=a&*p=A&*p=0&*p=a&*p=A&*p0)printf(原字符串大n);else if(c0)printf(輸入的字符串大n);elseprintf(兩個(gè)字符串大小相等n);getch();array();void extraction() /*8-取出字符串*/int a,b;char str_out100,*po;printf(n);printf(原字符串為:n);for(p=str
16、;*p!=0;p+)printf(%c,*p);printf(n);printf(輸入取出串的位置:n);scanf(%d,&a);printf(輸入取出串的個(gè)數(shù):n);scanf(%d,&b);for(p=str,po=str_out;p(str+b);p+,po+)*po=*(p+a);*po=0;printf(取出的字符串為:n);for(po=str_out;*po!=0;po+)printf(%c,*po);getch();main();void save_number() /*9-保存數(shù)字文件*/FILE *fp;int i;printf(n); /*數(shù)組元素按升序排序后一次存入文
17、件data.out中*/if(fp=fopen(data.out,w)=NULL)printf(不能打開(kāi)文件!n);return;for(i=0;in;i+)if(fwrite(&ai,4,1,fp)!=1)printf(文件打開(kāi)錯(cuò)誤!n);fclose(fp);printf(數(shù)字已寫(xiě)入文件,文件關(guān)閉!n);getch();main();void read_number() /*10-讀取數(shù)字文件*/FILE *fp;int i;printf(n); /*從文件讀出輸出到屏幕*/if(fp=fopen(data.out,r)=NULL)printf(不能打開(kāi)文件!n);return;print
18、f(讀取的數(shù)字文件為:n);for(i=0;in;i+)fread(&ai,4,1,fp);printf(%d ,ai);fclose(fp);printf(n);getch();main();void save_string() /*11-保存字符串文件*/FILE *fp;int i;printf(n);printf(輸入文件名:);scanf(%s,filename);if(fp=fopen(filename,w)=NULL)printf(不能打開(kāi)文件!n);return;for(i=0;im;i+)if(fwrite(&stri,1,1,fp)!=1)printf(文件打開(kāi)錯(cuò)誤!n);
19、fclose(fp);printf(字符串已寫(xiě)入文件,文件關(guān)閉!n);getch();main();void read_string() /*12-讀取字符串文件*/FILE *fp;int i;printf(n);if(fp=fopen(filename,r)=NULL)printf(不能打開(kāi)文件!n);return;printf(讀取的字符串文件為:n);for(i=0;im;i+)fread(&stri,1,1,fp);printf(%c,stri);fclose(fp);printf(n);getch();main();五實(shí)驗(yàn)總結(jié)通過(guò)做C程序設(shè)計(jì)課程設(shè)計(jì),我復(fù)習(xí)了C語(yǔ)言的知識(shí),加深了對(duì)
20、C語(yǔ)言中各種語(yǔ)句的理解和運(yùn)用,收獲很大。在這次程序設(shè)計(jì)中,我在老師要求的題目外,加入了字符串長(zhǎng)度的計(jì)算,字符串的復(fù)制、連接、逆序排列和比較。然而在做“將字符串中的連續(xù)數(shù)字作為一個(gè)整數(shù),依次存入數(shù)組a中并輸出”時(shí),遇到了困難,我去網(wǎng)上搜索了資料,并根據(jù)自己的理解寫(xiě)出了程序。這讓我認(rèn)識(shí)到了自己的不足,讓我明白在編程道路上我還有很遠(yuǎn)的路要走。在調(diào)試程序的過(guò)程中,我總結(jié)出了一些規(guī)律,懂得了怎樣才能更快更好地發(fā)現(xiàn)自己的錯(cuò)誤,這給了我很大的收獲。在以后的學(xué)習(xí)中,我會(huì)增加對(duì)知識(shí)的熟練度,盡量用簡(jiǎn)單明了的方法編寫(xiě)程序,增加知識(shí)面,去了解更多的編程語(yǔ)言,使自己在以后的編程道路上走得更加順利。教 師 評(píng) 價(jià)評(píng)定項(xiàng)目ABCD評(píng)定項(xiàng)目ABCD算法正確界面美觀,布局合理程序結(jié)構(gòu)合理操作熟練語(yǔ)法、語(yǔ)義正確解析完整實(shí)驗(yàn)結(jié)果正確文字流暢報(bào)告規(guī)范題解正確其他:評(píng)價(jià)教師簽名:年 月 日 公司印章管理制度一、目的 公司印章是公司對(duì)內(nèi)對(duì)外行使權(quán)力的標(biāo)志,也是公司名稱的法律體現(xiàn), 因此,必須對(duì)印章進(jìn)行規(guī)范化、合理化的嚴(yán)格管理,以保證公司各項(xiàng)業(yè)務(wù)的正常運(yùn)作,由公司指定專(zhuān)人負(fù)責(zé)管理。二、印章的種類(lèi)1、 公章,是按照政府規(guī)定,由主管部門(mén)批準(zhǔn)刻制的代表公司權(quán)力的印章。2、 專(zhuān)用章,為方便工作專(zhuān)門(mén)刻制的用于某種特定用途的印章,如:合同專(zhuān)用章、財(cái)務(wù)專(zhuān)用章、業(yè)務(wù)專(zhuān)用章、倉(cāng)庫(kù)簽收章等。 3、手章(簽名章),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福利院新生兒喂養(yǎng)
- 社區(qū)居家養(yǎng)老優(yōu)化策略
- 淄博旅游投資機(jī)會(huì)
- Salfredin-A7-生命科學(xué)試劑-MCE
- 機(jī)器人輔助手術(shù)在泌尿科的應(yīng)用
- 2025年分級(jí)診療背景下遠(yuǎn)程醫(yī)療服務(wù)患者需求與偏好研究報(bào)告
- 2025年教育信息化基礎(chǔ)設(shè)施在教育信息化項(xiàng)目中的創(chuàng)新與應(yīng)用報(bào)告
- 食品飲料企業(yè)數(shù)字化營(yíng)銷(xiāo)與電商運(yùn)營(yíng)效果評(píng)估體系研究報(bào)告
- 餐飲行業(yè)供應(yīng)鏈整合與2025年成本控制技術(shù)創(chuàng)新報(bào)告
- 互聯(lián)網(wǎng)醫(yī)療2025年醫(yī)藥電商平臺(tái)合規(guī)監(jiān)管與市場(chǎng)布局分析報(bào)告
- 2024年隴南市事業(yè)單位專(zhuān)業(yè)技術(shù)人才引進(jìn)筆試真題
- 2025屆浙江省精誠(chéng)聯(lián)盟高三下學(xué)期適應(yīng)性聯(lián)考生物試題
- 《中央銀行數(shù)字貨幣基本知識(shí)》課件
- 2025浙江中考:化學(xué)必背知識(shí)點(diǎn)
- 2025年海南省中考模擬語(yǔ)文試題(含答案)
- 煙草行業(yè)智能化生產(chǎn)與監(jiān)管方案
- 2025年山東省德州市樂(lè)陵市中考一模生物學(xué)試題(含答案)
- 2025遼寧沈陽(yáng)水務(wù)集團(tuán)有限公司招聘32人筆試參考題庫(kù)附帶答案詳解
- DB63-T 2135-2023 鹽湖資源動(dòng)態(tài)監(jiān)測(cè)技術(shù)規(guī)程
- 建筑行業(yè)現(xiàn)狀與發(fā)展趨勢(shì)
- 院外數(shù)據(jù)共享管理制度
評(píng)論
0/150
提交評(píng)論