南郵軟件設(shè)計(jì)報(bào)告(共88頁(yè))_第1頁(yè)
南郵軟件設(shè)計(jì)報(bào)告(共88頁(yè))_第2頁(yè)
南郵軟件設(shè)計(jì)報(bào)告(共88頁(yè))_第3頁(yè)
南郵軟件設(shè)計(jì)報(bào)告(共88頁(yè))_第4頁(yè)
南郵軟件設(shè)計(jì)報(bào)告(共88頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上軟件設(shè)計(jì)報(bào)告姓名:琳學(xué)號(hào):B 2015年5月16日2015年6月16日目 錄專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)第一章 軟件設(shè)計(jì)介紹一、所涉及的課程及知識(shí)點(diǎn)高級(jí)語(yǔ)言程序設(shè)計(jì):常量、變量、表達(dá)式的基本知識(shí);函數(shù)的定義與調(diào)用;文件讀寫(xiě);數(shù)組、指針、結(jié)構(gòu)體等自定義類(lèi)型的使用;排序等知識(shí)。二、目的與任務(wù)目的:通過(guò)集中時(shí)間上機(jī)實(shí)驗(yàn),對(duì)學(xué)生的程序設(shè)計(jì)能力進(jìn)行一次綜合訓(xùn)練,使學(xué)生充分發(fā)揮已有的編程能力,熟悉編譯環(huán)境。選擇若干課題,進(jìn)行審題、分析、設(shè)計(jì)和調(diào)試,在程序準(zhǔn)備、程序?qū)崿F(xiàn)、完成文檔、答辯驗(yàn)收過(guò)程中,將全面鞏固已學(xué)過(guò)的編程知識(shí),全面提高編程技能,在編程風(fēng)格、調(diào)試器的使用、測(cè)試技術(shù)等方面得到全面訓(xùn)練

2、。學(xué)生在程序設(shè)計(jì)過(guò)程中,學(xué)生需要查找各種資料獲取有用信息解決實(shí)際問(wèn)題,自學(xué)相關(guān)知識(shí),提高文檔書(shū)寫(xiě)能力,加強(qiáng)團(tuán)隊(duì)合作意識(shí),提高口頭表達(dá)能力。任務(wù):軟件設(shè)計(jì)課題共分A 、B兩檔。A檔共5題,題目較簡(jiǎn)單,第一周完成;B檔共2題,題目是綜合性的,較復(fù)雜,第二周完成。三、主要儀器設(shè)備硬件:微型計(jì)算機(jī)軟件:C、C+、Visual C+等四、參考書(shū)【1】朱立華,王立柱C語(yǔ)言程序設(shè)計(jì)北京:人民郵電出版社,2009【2】朱立華,朱建,俞瓊面向?qū)ο蟪绦蛟O(shè)計(jì)及C+北京:人民郵電出版社,2008【3】張引等C程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)浙江:浙江大學(xué)出版社,2007第二章 軟件開(kāi)發(fā)平臺(tái)簡(jiǎn)介軟件開(kāi)發(fā)平臺(tái)是一種軟件開(kāi)發(fā)工具,是以

3、通用技術(shù)架構(gòu)(例如MVC)為基礎(chǔ),集成常用建模工具、二次開(kāi)發(fā)包、基礎(chǔ)解決方案等而成??梢源蠓s減編碼率,使開(kāi)發(fā)者有更多的時(shí)間關(guān)注客戶(hù)的需求,在項(xiàng)目的需求、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、部署、維護(hù)等各個(gè)階段均可提供強(qiáng)大的支持。軟件開(kāi)發(fā)平臺(tái)有兩種平臺(tái)模式,一種是傳統(tǒng)的c/s架構(gòu)模式,一種是現(xiàn)在比較流行的b/s架構(gòu)模式。軟甲件開(kāi)發(fā)平臺(tái)的分類(lèi),一般有三種:一種是SUN公司的SUN ONE框架平臺(tái),一種是LAMP,它是Linux、Apache、Mysql、PHP四項(xiàng)技術(shù)的縮寫(xiě),還有一種是.NET Framework(一般簡(jiǎn)稱(chēng)為NET框架平臺(tái))。LAMP是一組常用來(lái)搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開(kāi)源軟件,本身都是各自獨(dú)立的

4、程序,但是因?yàn)槌1环旁谝黄鹗褂?,擁有了越?lái)越高的兼容度,共同組成了一個(gè)Web應(yīng)用程序平臺(tái)。隨著開(kāi)源潮流的蓬勃發(fā)展,開(kāi)放了源代碼的LAMP已經(jīng)與J2EE和.NET平臺(tái)形成了三足鼎立之勢(shì),并且該軟件開(kāi)發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此手袋整個(gè)IT界的關(guān)注。從網(wǎng)站的流量上來(lái)說(shuō),70%以上的訪問(wèn)流量都是LAMP來(lái)提供的,LAMP是最強(qiáng)大的網(wǎng)站解決方案。LAMP是基于Linux、Apache、MySQL和PHP的開(kāi)放資源網(wǎng)絡(luò)開(kāi)發(fā)平臺(tái),這個(gè)術(shù)語(yǔ)來(lái)自歐洲,在那里這些程序常用來(lái)作為一種標(biāo)準(zhǔn)開(kāi)發(fā)環(huán)境。名字來(lái)源于每個(gè)程序的第一個(gè)字母。每個(gè)程序在所有權(quán)里都符合開(kāi)發(fā)源代碼標(biāo)準(zhǔn):Linux是開(kāi)放系統(tǒng),Apache是

5、最通用的網(wǎng)絡(luò)服務(wù)器,MySQL是帶有基于網(wǎng)絡(luò)管理附加工具的關(guān)系數(shù)據(jù)庫(kù),是流行的對(duì)象腳本語(yǔ)言,他包含了多數(shù)其他語(yǔ)言的優(yōu)秀特征來(lái)使得它的網(wǎng)絡(luò)開(kāi)發(fā)更加有效。雖然這些開(kāi)放源代碼程序本身并不是專(zhuān)門(mén)設(shè)計(jì)成同另外幾個(gè)程序一起工作的,但由于他們都是影響較大的開(kāi)源軟件,擁有許多共同特征,這就導(dǎo)致了這些組件經(jīng)常在一起使用。在過(guò)去的幾年里,這些軟件的兼容性不斷完善,在一起的應(yīng)用情形變得更加普遍。越來(lái)越多的供應(yīng)商、用戶(hù)和企業(yè)投資者日益認(rèn)識(shí)到,經(jīng)過(guò)單個(gè)組件的開(kāi)源軟件組成的平臺(tái)用來(lái)構(gòu)建以及運(yùn)行各種商業(yè)應(yīng)用和協(xié)作構(gòu)建各種網(wǎng)絡(luò)應(yīng)用程序變?yōu)橐环N可能和實(shí)踐,變得更加具有競(jìng)爭(zhēng)力,更加吸引客戶(hù)。無(wú)論是性能、質(zhì)量還是價(jià)格都將成為企業(yè)、

6、政府信息化所必須考慮的平臺(tái)。平臺(tái)是一種新型的軟件平臺(tái),可用來(lái)在網(wǎng)絡(luò)計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)和運(yùn)行高交互性、動(dòng)態(tài)的、安全的小程序和應(yīng)用程序。平臺(tái)有三種三種版本,這使軟件開(kāi)發(fā)人員、服務(wù)提供商和設(shè)備生產(chǎn)商可以針對(duì)特定的市場(chǎng)進(jìn)行開(kāi)發(fā)。開(kāi)發(fā)平臺(tái)是一種用于建立服務(wù)器應(yīng)用程序和桌面應(yīng)用程序的軟件組件,用該平臺(tái)創(chuàng)建的應(yīng)用程序在(通用語(yǔ)言運(yùn)行環(huán)境)的控制下進(jìn)行。是一個(gè)軟件引擎,用來(lái)加載應(yīng)用程序,確認(rèn)他們可以沒(méi)有錯(cuò)誤的執(zhí)行,進(jìn)行相應(yīng)的安全許可驗(yàn)證,執(zhí)行應(yīng)用程序,然后在運(yùn)行結(jié)束后將他們刪除。類(lèi)庫(kù)集提供了使應(yīng)用程序可以讀寫(xiě)數(shù)據(jù)、在上通信、訪問(wèn)數(shù)據(jù)庫(kù)等的代碼。所有的類(lèi)庫(kù)都建立在一個(gè)基礎(chǔ)的類(lèi)庫(kù)之上,他提供管理使用最為頻繁的數(shù)據(jù)類(lèi)型

7、(例如數(shù)值或文本字符串)的功能,以及諸如文件輸入輸出等底層功能。Visual Studio 是推出的,Visual Studio 可以用來(lái)創(chuàng)建 Windows 平臺(tái)下的 Windows和網(wǎng)絡(luò)應(yīng)用程序,也可以用來(lái)創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office。是目前最流行的平臺(tái)環(huán)境。Visual Studio 2008 包括各種增強(qiáng)功能,例如器(使用 .NET Framework 3.5 加速開(kāi)發(fā))、對(duì) Web 開(kāi)發(fā)工具的大量改進(jìn),以及能夠加速開(kāi)發(fā)和處理所有類(lèi)型數(shù)據(jù)的語(yǔ)言增強(qiáng)功能。Visual Studio 2008 為開(kāi)發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支

8、持 AJAX 的 Web。開(kāi)發(fā)人員能夠利用這些豐富的和服務(wù)器端框架輕松構(gòu)建以客戶(hù)為中心的 Web應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當(dāng)前內(nèi)運(yùn)行并完全訪問(wèn) ASP NET和 Microsoft 平臺(tái)。支持多種程序設(shè)計(jì)語(yǔ)言如:、等,實(shí)現(xiàn)了語(yǔ)言互用性。而只能用語(yǔ)言。隨著開(kāi)源潮流的蓬勃發(fā)展,開(kāi)放源代碼的已經(jīng)與和商業(yè)軟件形成三足鼎立之勢(shì)。第三章 軟件設(shè)計(jì)的內(nèi)容3.1 分?jǐn)?shù)統(tǒng)計(jì)軟件(A1)3.1.1設(shè)計(jì)題目及要求課題內(nèi)容:設(shè)計(jì)一個(gè)分?jǐn)?shù)統(tǒng)計(jì)程序。包括學(xué)生信息的輸入輸出以及排序。通過(guò)該課題全面熟悉數(shù)組、字符串、文件的使用,掌握程序設(shè)計(jì)的基本方法及友好界面的設(shè)計(jì)。課題要求:(1)輸入某班級(jí)

9、學(xué)生的姓名、分?jǐn)?shù);(2)對(duì)(1)的分?jǐn)?shù)進(jìn)行降冪排列并輸出;(3)具有輸入輸出界面。3.1.2設(shè)計(jì)思想及程序流程框圖設(shè)計(jì)思想為:建立學(xué)生結(jié)構(gòu)體數(shù)組,結(jié)構(gòu)體成員包括存儲(chǔ)姓名的字符型數(shù)組以及存儲(chǔ)分?jǐn)?shù)的整型,使用for循環(huán)語(yǔ)句從輸入處獲取n 個(gè)學(xué)生的姓名和成績(jī),成績(jī)輸入的信息存入結(jié)構(gòu)體數(shù)組。再選擇按成績(jī)降冪排名,將結(jié)構(gòu)體數(shù)組從頭進(jìn)行輸出。算法流程框圖為:開(kāi) 始輸入學(xué)生人數(shù)清屏N輸入是否正確?輸入學(xué)生姓名name和分?jǐn)?shù)grade自動(dòng)降冪排序輸出排序后的成績(jī)單 結(jié) 束3.1.3邏輯功能程序#include<stdio.h>#include<string.h>#include<

10、stdlib.h>struct student /存放學(xué)生信息的結(jié)構(gòu)體char name20; /字符型數(shù)組存放姓名int grade; /成績(jī)類(lèi)型temp,std100;int main() int err; char x5; int n; int i; int m; char ch20; system("color F9"); do system("cls"); printf(" nn"); printf(" * n"); printf("t n"); printf(" O(

11、_)O 歡迎使用本系統(tǒng) O(_)O n"); printf("t n "); printf(" * n"); printf(" n"); printf(" 請(qǐng)輸入學(xué)生個(gè)數(shù) nn");do printf("tt學(xué)生個(gè)數(shù): ");err=0;i=0;scanf("%s",x); /輸入選項(xiàng)getchar();while(xi!='0') /依次檢查輸入的字符串是否為數(shù)字 if(xi>'9'|xi<'0') er

12、r=1; i+;if(err) printf("ntt請(qǐng)輸入數(shù)字!n");while(err);n=atoi(x); /將字符型數(shù)組x轉(zhuǎn)換成整型nfor(i=0;i<n;i+) /循環(huán)N次輸入學(xué)生信息 printf("ntt請(qǐng)輸入第%d個(gè)人的信息ntt姓名:",i+1); scanf("%s",); getchar(); printf("tt分?jǐn)?shù):"); scanf("%d",&stdi.grade);if (stdi.grade<0|stdi.grade&

13、gt;100)printf (" 您的輸入錯(cuò)誤,請(qǐng)重新輸入:n"); printf("tt分?jǐn)?shù):");scanf("%d",&stdi.grade); getchar();printf(" 輸入信息:n");printf(" * n");printf(" 姓名 成績(jī) nn");for(i=0;i<n;i+)printf(" %s %dn",,stdi.grade); printf("nn * n");pr

14、intf("n 排序后信息:n");for(m=0;m<n;m+) for(i=0;i<n-m-1;i+)if(stdi.grade<stdi+1.grade)temp=stdi;stdi=stdi+1;stdi+1=temp; /成績(jī)按降冪排序printf("n 您所輸入的學(xué)生名次如下:nn"); printf(" * n"); printf(" 名次 姓名 成績(jī) nn");for(i=0;i<n;i+) printf(" 第 %d 名 %s %dn",i+1,stdi

15、.name,stdi.grade); printf("nn * n"); printf("t n");printf("t您是否還需要繼續(xù)?(請(qǐng)按Y鍵繼續(xù)/任意鍵退出)"); /選擇是否繼續(xù)printf("t n");scanf("%s",ch); printf("t 感謝使用此軟件,歡迎下次光臨 O(_)O n"); while(ch0='Y'|ch0='y'); /與開(kāi)頭組成do-while結(jié)構(gòu)循環(huán) printf("t")

16、; return 0;3.1.4結(jié)果及完善方向?qū)嶒?yàn)結(jié)果:A. 初始界面:B. 輸入學(xué)生信息之后直接排序,界面如圖所示:C. 若所輸入的學(xué)生成績(jī)?cè)谟行Х秶?100)之外系統(tǒng)將會(huì)提示輸入錯(cuò)誤,界面如下圖:程序分析: 此程序功能上滿(mǎn)足基本的題目要求,能夠做到輸入學(xué)生的姓名和成績(jī),能夠按成績(jī)降冪排列并輸出。完善方向: 基本功能已實(shí)現(xiàn),對(duì)于實(shí)際的系統(tǒng),接下來(lái)完善的功能的是能夠選擇不同的科目進(jìn)行輸入,能夠選擇進(jìn)行降冪或者升冪排序,同時(shí)能添加或刪除學(xué)生信息,對(duì)于成績(jī)相同的學(xué)生進(jìn)行并列排名。3.2 打字軟件(A2)3.2.1設(shè)計(jì)題目及要求課題內(nèi)容:設(shè)計(jì)一個(gè)打字程序。包括隨機(jī)產(chǎn)生字符串,以及字符串比較和統(tǒng)計(jì)。

17、通過(guò)此課題,熟練掌握數(shù)組、格式輸出、字符串處理等。課題要求:(1)隨機(jī)產(chǎn)生一字符串,每次產(chǎn)生的字符串內(nèi)容、長(zhǎng)度都不同;(2)根據(jù)(1)的結(jié)果,輸入字符串,判斷輸入是否正確,輸出正確率;(3)具有輸入輸出界面。3.2.2設(shè)計(jì)思想及程序流程框圖設(shè)計(jì)思想為:利用函數(shù)庫(kù)里提供的產(chǎn)生隨機(jī)函數(shù)rand()產(chǎn)生隨機(jī)的字符串長(zhǎng)度,默認(rèn)將長(zhǎng)度定位在1至10個(gè)字符。再產(chǎn)生一串由大小寫(xiě)字母以及數(shù)字組成的隨機(jī)字符串,每產(chǎn)生一個(gè)字符串就按字保存至數(shù)組里。顯示產(chǎn)生的字符串,開(kāi)始打字后,將輸入字符串保存至數(shù)組,打字完畢。再與產(chǎn)生字符進(jìn)行逐個(gè)比較,若相同,則正確個(gè)數(shù)加1,最終得出正確率,輸出顯示。算法流程框圖為:開(kāi) 始隨機(jī)產(chǎn)

18、生字符串輸入字符串依次比較,計(jì)算正確率輸出正確率Y是否繼續(xù)N 結(jié) 束3.2.3邏輯功能程序#include <stdio.h>#include <time.h>#include <stdlib.h>#include<iostream> void main(void) int i,num,flag,m=0,k,over=1;char str100; /產(chǎn)生隨機(jī)數(shù)組char str1100; /輸入隨機(jī)數(shù)組char c;float p;system("color F9");while(over) /選擇是否繼續(xù) num=0; /產(chǎn)

19、生字符長(zhǎng)度num初始化為0m=0; /統(tǒng)計(jì)正確個(gè)數(shù)變量m初始化為0system("cls"); /清除屏幕 printf("nnn"); printf(" * n"); printf(" O(_)O 歡迎使用本系統(tǒng) O(_)O n"); printf(" * n");printf(" * 打字軟件 * n"); srand(time(NULL); /提取系統(tǒng)時(shí)間,以時(shí)間為seed產(chǎn)生隨機(jī)數(shù) num=1+ rand()%10; /產(chǎn)生長(zhǎng)度不大于10的字符串 for(k=0;k&

20、lt;num;k+) flag=rand()%3; /隨機(jī)產(chǎn)生小于3的數(shù) if(flag=0) strk='A'+rand()%26; /產(chǎn)生大寫(xiě)字母 else if(flag=1) strk='a'+rand()%26; /產(chǎn)生小寫(xiě)字母 else strk='0'+rand()%9; /產(chǎn)生數(shù)字strk='0' printf("nntt *n");printf("隨機(jī)字符串個(gè)數(shù):tt%dn",num); printf("隨機(jī)產(chǎn)生的字符串:t%sn",str); prin

21、tf("tt *nn"); printf("請(qǐng)輸入上面的字符串:"); scanf("%s",str1);/輸入字符串getchar();for(i=0;str1i!='0'&&stri!='0'i+) /進(jìn)行比較 if(stri=str1i) m+; /m為正確字符個(gè)數(shù) p=(float) m/num; printf("nnn * nn"); printf(" 正確率為:%.1f%n",p*100);printf(" 正確個(gè)數(shù)為:%dn

22、",m); printf("n * nnn");printf(" n");printf(" 是否還需繼續(xù)練習(xí)?(任意鍵繼續(xù)/N鍵退出)n");scanf("%c",&c);/輸入選項(xiàng)getchar();if(c='N'|c='n') over=0;3.2.4結(jié)果及完善方向A. 初始界面:即隨機(jī)產(chǎn)生的字符串為輸出頁(yè)面B. 當(dāng)輸入的字符串與隨機(jī)產(chǎn)生的字符串一致時(shí),正確率為100%,如圖:C. 當(dāng)輸入的字符串與隨機(jī)產(chǎn)生的字符串不一致時(shí),程序?qū)⒂?jì)算正確率并給出輸入正確的個(gè)數(shù)

23、,如圖:程序結(jié)果分析: 此程序能保證每次產(chǎn)生的字符串不一樣,且能正確地輸出準(zhǔn)確率,基本完成了打字訓(xùn)練的任務(wù)??紤]到程序的實(shí)用性,可以為程序添加計(jì)時(shí)功能、記錄保存功能等,可以使使用者更加靈活地運(yùn)用打字軟件。程序完善方向: 對(duì)于這個(gè)程序,不足的就是可以添加計(jì)時(shí)功能,在打字前,可以詢(xún)問(wèn)用戶(hù)是否進(jìn)行計(jì)時(shí),還可以添加功能,由用戶(hù)自己選擇可從從其他文件導(dǎo)入一段字符串。3.3 文本編輯器(A3)3.3.1設(shè)計(jì)題目及要求課題內(nèi)容:設(shè)計(jì)一個(gè)簡(jiǎn)單的文本編輯器,該系統(tǒng)要求對(duì)一個(gè)文本文件中的內(nèi)容進(jìn)行各種常規(guī)操作,如:插入、刪除、查找、替換等功能。通過(guò)此課題,熟練掌握文本文件的操作及用字符數(shù)組或字符指針實(shí)現(xiàn)字符串操作的

24、功能。 課題要求:(1)編輯文本;(2)保存、打開(kāi)指定位置的文本文件;(3)具有輸入輸出界面。3.3.2設(shè)計(jì)思想及程序流程框圖設(shè)計(jì)思想為:在主菜單可選擇建立文本、編輯文本、讀取文本和退出程序。以只寫(xiě)方式編輯文本,若文本不存在則提示“不能打開(kāi)文件”,打開(kāi)的文件則輸入的內(nèi)容以“#”作為結(jié)束標(biāo)識(shí);讀取文件時(shí),提示需要讀取的目標(biāo)文本路徑,將文本里的內(nèi)容輸出。算法流程框圖為: 開(kāi) 始輸出功能菜單輸入選項(xiàng)chooseNNNchoose=4choose=3choose=2choose=1N輸入路徑輸入路徑輸入路徑文件不存在文件不存在文件不存在YNNYYN建立文本編輯文本輸出文本結(jié)束3.3.3邏輯功能程序#i

25、nclude <stdio.h>#include <time.h>#include <stdlib.h>void menu1() printf(" nn");printf(" * O(_)O 歡迎使用此軟件 O(_)O *nn");printf(" * 文本編輯器 * nn"); printf(" >>>>>>> 1.建立文件 <<<<<<<n"); printf(" >>&

26、gt;>>>> 2.查看文件 <<<<<<<n"); printf(" >>>>>>> 3.編輯文件 <<<<<<<n"); printf(" >>>>>>> 0.退出 <<<<<<<nn");void menu2() printf("nn");printf(" * 編輯文件功能 *

27、n");printf(" n");printf(" >>>>> 1.查找 <<<<<n"); printf(" >>>>> 2.刪除 <<<<<n"); printf(" >>>>> 3.插入 <<<<<n"); printf(" >>>>> 4.替換 <<<<&l

28、t;n"); printf(" >>>>> 0.返回上級(jí)菜單 <<<<<n");int output() char filepath30;/路徑 FILE *fp; char ch; printf("n 請(qǐng)輸入文件路徑(如D:name.txt: "); scanf("%s",filepath);/輸入路徑 getchar();/接收Enter字符 fp=fopen(filepath,"r"); printf("n 文件內(nèi)容如下:n&qu

29、ot;); rewind(fp);/返回文件首,輸出整個(gè)文件的內(nèi)容 do ch=fgetc(fp); putchar(ch); while(ch!=EOF);fclose(fp);return 0;int edit(int n) int i=0,x=0,fc=0,fch=0,fs=0,ft=0,a;char *p; int c=0,j; char test500;char m;char ch;char hou;char huan; char filepath30;/路徑 char t;FILE *fp; switch(n) case 1:/查找功能 printf("n 請(qǐng)輸入文件路徑

30、: "); scanf("%s",filepath);/輸入路徑 getchar();/接收Enter字符 fp=fopen(filepath,"r"); printf("n文件內(nèi)容如下:n"); rewind(fp);/返回文件首,輸出整個(gè)文件的內(nèi)容 do ch=fgetc(fp); putchar(ch); testi=ch; i+; while(ch!=EOF); testi='0'/串尾標(biāo)識(shí)符fclose(fp);p=test;doa=0,x=0;printf("n 請(qǐng)輸入要查找字符:&qu

31、ot;);scanf("%c",&t);getchar();while(x<i) if(t=*(p+x)printf("n 您要查找的字為:%c,它是第 %d個(gè)n",t,x+1); a=1; x+; if(a=0) printf("n 對(duì)不起,您要找的字不存在!n"); printf("n是否還需要繼續(xù)查找?(任意鍵繼續(xù)/0退出)n");scanf("%c",&m); if(m='0') fc=1; while(!fc);break;case 2:/刪除功能

32、do int a=0,x=0; printf("n 請(qǐng)輸入文件路徑(如D:name.txt: "); scanf("%s",filepath);/輸入路徑 getchar();/接收Enter字符 fp=fopen(filepath,"r"); printf("n 文件內(nèi)容如下:n"); rewind(fp);/返回文件首,輸出整個(gè)文件的內(nèi)容 do ch=fgetc(fp); putchar(ch); testi=ch; i+; while(ch!=EOF); testi='0'/串尾標(biāo)識(shí)符fclo

33、se(fp);printf("n 請(qǐng)輸入要?jiǎng)h除字符:");scanf("%c",&t);getchar(); while(x<(i-a) if(testx=t) a+;for (c=x;c<(i-a);c+) testc=testc+1; testi-a-1='0' x-; x+; fp=fopen(filepath,"w"); for(j=0;j<(i-a);j+) ch=testj; fputc(ch,fp); fclose(fp); if(a=0) printf("n 對(duì)不起,

34、此字符不存在,無(wú)法刪除!n"); printf("n 文件已保存!n");getchar(); printf("n是否還需要繼續(xù)刪除?(任意鍵繼續(xù)/0退出)n");scanf("%c",&m);if(m='0') fs=1;while(!fs); break; case 3:/插入功能 do int a=0; i=0; /i的復(fù)位printf("n 請(qǐng)輸入文件路徑: "); scanf("%s",filepath);/輸入路徑 getchar();/接收Ente

35、r字符 fp=fopen(filepath,"r"); printf("n文件內(nèi)容如下:n"); rewind(fp);/返回文件首,輸出整個(gè)文件的內(nèi)容 do ch=fgetc(fp); putchar(ch); testi=ch; i+; while(ch!=EOF); testi='0'/串尾標(biāo)識(shí)符fclose(fp);p=test;printf("n 請(qǐng)輸入要插入到哪個(gè)字符后面:n");scanf("%c",&hou);getchar(); while(x<i+a) if(hou

36、=*(p+x)a=1; x+;if(a=0) printf("n 此字符不存在,輸入有誤!n");getchar(); return 0; printf("n 請(qǐng)輸入要插入的字符:n"); scanf("%c",&t); getchar();int x=0,b=0; while(x<i+b) if(hou=*(p+x) for(j=i+b-1;j>x;j-) testj+1=testj; testx+1=t; testi+b+1='0'b+; x+; fp=fopen(filepath,"

37、w"); for(j=0;j<i+1;j+) ch=testj; fputc(ch,fp); fclose(fp); printf("n文件已保存!n");getchar(); printf("n是否還需要繼續(xù)插入?(任意鍵繼續(xù)/0退出)n"); scanf("%c",&m); if(m='0') fch=1; while(!fch); break; case 4:/替換功能doint a=0; printf("n 請(qǐng)輸入文件路徑(如D:name.txt: "); scanf

38、("%s",filepath);/輸入路徑 getchar();/接收Enter字符 fp=fopen(filepath,"r"); printf("n 文件內(nèi)容如下:n"); rewind(fp);/返回文件首,輸出整個(gè)文件的內(nèi)容 do ch=fgetc(fp); putchar(ch); testi=ch; i+; while(ch!=EOF); testi='0'/串尾標(biāo)識(shí)符fclose(fp);p=test; printf("n 請(qǐng)輸入文章中要替換的字符:n");scanf("%c

39、",&t); getchar(); while(x<i) if(t=*(p+x) a=1; x+; if(a=0) printf("n 對(duì)不起,找不到您要替換的字符!n"); getchar(); return 0; printf(" 請(qǐng)輸入您想要替換的字符: n");scanf("%c",&huan); getchar();int x=0;while(x<i) if(t=*(p+x) testx=huan; x+; fp=fopen(filepath,"w"); for(j=

40、0;j<i+1;j+) ch=testj; fputc(ch,fp); fclose(fp); printf("n 文件已保存!n");getchar(); printf("n 是否還需要繼續(xù)替換?(任意鍵繼續(xù)/0退出)n"); scanf("%c",&m); if(m='0') ft=1;while(!ft); break; case 0: break; default:printf("n 輸入錯(cuò)誤!"); return 0; return 0;void main() system(

41、"color f9"); int i=0,quitflag=0,a;/標(biāo)志符 int n; char ch;char filepath30;/路徑FILE *fp; while(!quitflag)/若為選擇退出則繼續(xù) system("cls");/清屏menu1(); printf("請(qǐng)選擇:");scanf("%d",&a);/輸入選擇getchar();/接收Enter鍵字符switch(a) case 1:/寫(xiě)入文件 printf(" 請(qǐng)輸入文件路徑(如D:name.txt): "

42、;); scanf("%s",filepath);/輸入路徑 getchar();/接收Enter字符 fp=fopen(filepath,"w+"); if(fp=NULL) printf("文件不存在!n"); else printf("請(qǐng)輸入內(nèi)容(以#結(jié)束)n"); while(ch=getchar()!='#')/若不為"#"繼續(xù)輸入 fputc(ch,fp); fclose(fp); printf("n 文件已保存!n"); break; case 2:/查看文件 output(); getchar(); break; case 3:/編輯文件 menu2(); printf("請(qǐng)選擇:"); scanf("%d",&n); edit(n); brea

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論