c語言程序課程設(shè)計(jì)日記本管理系統(tǒng)_第1頁
c語言程序課程設(shè)計(jì)日記本管理系統(tǒng)_第2頁
c語言程序課程設(shè)計(jì)日記本管理系統(tǒng)_第3頁
c語言程序課程設(shè)計(jì)日記本管理系統(tǒng)_第4頁
c語言程序課程設(shè)計(jì)日記本管理系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、c語言程序課程設(shè)計(jì)日記本管理系統(tǒng)日記管理系統(tǒng)的開發(fā)設(shè)計(jì)實(shí)驗(yàn)?zāi)康?、要求一、?shí)驗(yàn)題目:設(shè)計(jì)一個簡單實(shí)用個人日記管理系統(tǒng)。二、實(shí)驗(yàn)要求1該實(shí)驗(yàn)的課內(nèi)學(xué)時是4個課時。2程序完成后應(yīng)該完成如下根本功能:1用自定義日記的存儲結(jié)構(gòu),每篇日記至少包含日期,內(nèi)容等字段;2使用者必須輸入密碼;3寫日記與保存功能;4日記查閱:按日期查看,按關(guān)鍵字查看,按順序查看功能從某一篇開始3在完成上述根本功能的前提下,有能力的同學(xué)可以完成如下加強(qiáng)功能:1實(shí)現(xiàn)日記的永久存儲。2對保存的密碼進(jìn)行變換,以免泄密。3允許多人使用。4在程序的提示語言清晰明確,界面美觀并且適用。實(shí)驗(yàn)步驟與內(nèi)容一主要設(shè)計(jì)思想 日記管理系統(tǒng)設(shè)計(jì),應(yīng)分模塊進(jìn)行

2、。首先一個注冊、登錄的用戶界面,編寫函數(shù)保存用戶已錄入信息,及密碼。編寫函數(shù)用于驗(yàn)證用戶登錄信息,并進(jìn)行匹配。有能力的話,可以添加一個用戶密碼修改功能 當(dāng)用戶注冊,登錄匹配成功以后,進(jìn)入其個人日記管理界面。其中應(yīng)當(dāng)包含一些日記處理根本操作:寫日記、保存、翻開、各種方式查詢、刪除。各個功能分別用函數(shù)來實(shí)現(xiàn),最后主函數(shù)用case語句調(diào)用各函數(shù)。二主要數(shù)據(jù)結(jié)構(gòu)及其解釋1日記結(jié)構(gòu)體typedef struct Link1 char date10; /日期 格式2021-05-11 char title40; /標(biāo)題 char content1000; /日記內(nèi)容 char keyword20; /關(guān)鍵

3、字,可用空格隔開 int tag; /用來標(biāo)記該日記是否滿足查閱要求,是為0,否為-1,初始值為0; struct Link1 *nextd; Diary;2用戶結(jié)構(gòu)體typedef struct Link2 char username25; /用戶名 char password16; /登錄密碼 Diary *diarys_list; /該用戶擁有的日記鏈表 struct Link2 *nextu; User;三系統(tǒng)結(jié)構(gòu)圖: 四所有函數(shù)的簡要說明:int Change_Password(User *U2); /*更改用戶密碼*/ int Create_NewUser(User *U1); /

4、*創(chuàng)立用戶鏈表*/ int Delete_Diary(Diary *D); /*刪除日記*/ int Diary_Operation(User *U2,Diary *D1); /*日記操作*/ int Encrypt_Password(char password);/* 將登錄口令加密*/ int Enter_Password(char password);/* 獲取登錄口令*/ User *Find_User(User *U1,char username);/*查找用戶*/ Diary *Init_Diary(Diary *D1);/*初始化日記表*/ void Initial_Tag(Di

5、ary *D1,int tag); User *Init_User(User *U1);/*初始化用戶表*/ int Input_Choose(); int Open_Diary(Diary *D1); Diary *Open_DiaryFile(Diary *D1,char FileName);/* 翻開并導(dǎo)入日記文件*/ int Printf_DiaryList(Diary *D1);/*顯示日記列表*/ void Print_Menu1(int *choose1);/*進(jìn)入菜單*/ void Print_Menu2(int *choose2);/*進(jìn)入日記菜單*/ void Print_

6、Menu3(int *choose3);/*進(jìn)入日記查閱菜單*/ int Printf_users(User *U1);/*導(dǎo)入用戶信息*/ int Save_Diary(Diary *D1);/*保存日記*/ int Save_Users_info(User *U1);/*保存用戶信息*/ int Search_Diary(Diary *D1);/*日記查詢*/ Diary *Filter_word(Diary *D1,char cmpword,int n);/*按標(biāo)題、日期、關(guān)鍵字查閱*/ User *User_Login(User *U1);/* 登錄個人用戶*/ int Write_D

7、iary(Diary *D1);/* 寫新日記*/試驗(yàn)過程記錄記錄試驗(yàn)中遇到的困難及解決方法;,1.在編寫字符匹配的函數(shù)時,利用flag當(dāng)監(jiān)視哨,當(dāng)判斷字符匹配成功后,未跳出本次循環(huán),導(dǎo)致單個結(jié)果屢次輸出。解決方法:在匹配成功輸出結(jié)果后加一個goto 語句跳出循環(huán),進(jìn)行下一個節(jié)點(diǎn)比擬。2.在寫篩選函數(shù)的時候,把篩選查找直接寫成了篩選算法,這樣輸入的數(shù)據(jù)經(jīng)過一次篩選后,不符合條件的就被刪除了。這樣不利于重復(fù)進(jìn)行篩選操作。解決方案:在結(jié)構(gòu)體中加一個fflag單元,當(dāng)每次判斷不符合條件的節(jié)點(diǎn),將其fflag賦值為0,否那么賦1。輸出時將fflag!=0的輸出。3.本程序用到雙鏈表,注意指針指向。實(shí)驗(yàn)

8、結(jié)果記錄以及與預(yù)期結(jié)果比擬以及分析記錄每次實(shí)驗(yàn)結(jié)果以及分析情況1.創(chuàng)立用戶: 用戶名jiang,密碼123 2.顯示用戶,及登錄:輸入用戶名jiang,密碼123. 3.寫日記:標(biāo)題:夏熱 標(biāo)題:端午 4.保存及讀?。?5.輸入查閱,標(biāo)題: 端午 輸入關(guān)鍵字晴天,查詢: 6.日記刪除操作: 實(shí)驗(yàn)結(jié)論:經(jīng)驗(yàn)證,以上篩選結(jié)果正確。總結(jié)以及心得體會本次試驗(yàn)的其實(shí)很想自己想的,可是自己真的寫不出來這么長的,只能半借鑒半寫,所以我只能說懂這個程序,會用,但是,讓我自己寫,還是很有難度的,太多了,寫的頭痛,糾結(jié)死了,花了我好長時間,一直糾結(jié)到現(xiàn)在,自己寫了300多行,可是有點(diǎn)問題,遠(yuǎn)不如同學(xué)的,就把自己的

9、改了,我只能寫一些小程序,像運(yùn)用到歸納啊,貪心這些。注意一些常出現(xiàn)的錯誤:1.字符匹配時要注意,字符串長度應(yīng)為輸入長度再加1.(0占一個空間) 2.注意指針指向問題,最好用兩個指針,一個用于判斷結(jié)束,一個用于輸出所需值。3.可以用flag設(shè)置監(jiān)視哨,判斷是否找到所需結(jié)果。 歷經(jīng)千辛萬苦,終于編出來了。發(fā)現(xiàn)指針這一塊還有很多漏洞。比方插入時未將尾指針賦空值,導(dǎo)致了很多問題。還有特別要注意對字符串操作時的長度問題??傊?,吃一塹,長一智,在自己編程實(shí)踐,請教同學(xué)的過程中,學(xué)到很多很多。不過指針那方面的知識還是有些模糊不夠熟練,有待加強(qiáng)。指導(dǎo)老師評閱意見指導(dǎo)老師: 年 月 日/* 日記管理系統(tǒng)*/#i

10、nclude<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define ESC 27 /退出鍵#define Enter 13 /回車鍵#define BackSpace 8/*定義日記結(jié)構(gòu)體*/typedef struct Link1 char date10; /日期 格式2021-12-30 char title40; /標(biāo)題 char content1000; /日記內(nèi)容 char keyword20; /關(guān)鍵字,可用空格隔開 int tag; /用來標(biāo)記該日記

11、是否滿足查閱要求,是為0,否為-1,初始值為0; struct Link1 *nextd; Diary;/*定義用戶結(jié)構(gòu)體*/typedef struct Link2 char username25; /用戶名 char password16; /登錄密碼 Diary *diarys_list; /該用戶擁有的日記鏈表 struct Link2 *nextu; User;/* 函數(shù)聲明*/ int Change_Password(User *U2); /*更改用戶密碼*/ int Create_NewUser(User *U1); /*創(chuàng)立用戶鏈表*/ int Delete_Diary(Dia

12、ry *D); /*刪除日記*/ int Diary_Operation(User *U2,Diary *D1); /*日記操作*/ int Encrypt_Password(char password);/* 將登錄口令加密*/ int Enter_Password(char password);/* 獲取登錄口令*/ User *Find_User(User *U1,char username);/*查找用戶*/ Diary *Init_Diary(Diary *D1);/*初始化日記表*/ void Initial_Tag(Diary *D1,int tag); User *Init_U

13、ser(User *U1);/*初始化用戶表*/ int Input_Choose(); int Open_Diary(Diary *D1); Diary *Open_DiaryFile(Diary *D1,char FileName);/* 翻開并導(dǎo)入日記文件*/ int Printf_DiaryList(Diary *D1);/*顯示日記列表*/ void Print_Menu1(int *choose1);/*進(jìn)入菜單*/ void Print_Menu2(int *choose2);/*進(jìn)入日記菜單*/ void Print_Menu3(int *choose3);/*進(jìn)入日記查閱菜單

14、*/ int Printf_users(User *U1);/*導(dǎo)入用戶信息*/ int Save_Diary(Diary *D1);/*保存日記*/ int Save_Users_info(User *U1);/*保存用戶信息*/ int Search_Diary(Diary *D1);/*日記查詢*/ Diary *Filter_word(Diary *D1,char cmpword,int n);/*按標(biāo)題、日期、關(guān)鍵字查閱*/ User *User_Login(User *U1);/* 登錄個人用戶*/ int Write_Diary(Diary *D1);/* 寫新日記*/* 更改用

15、戶密碼*/int Change_Password(User *U2) char oldpw16,newpw116,newpw216; do printf("nt請輸入舊密碼:t"); Enter_Password(oldpw); /調(diào)用輸入密碼函數(shù) Encrypt_Password(oldpw); /調(diào)用對密碼加密函數(shù) if(strcmp(U2->password,oldpw)!=0) /如果輸入的密碼與各個用戶中的密碼不相等 printf("nt舊密碼輸入錯誤!.nn"); while(strcmp(U2->password,oldpw)!

16、=0);/一直到輸入的密碼與用戶密碼相等的時候才退出循環(huán) do printf("nt請輸入新密碼:t"); Enter_Password(newpw1); printf("nt請確認(rèn)新密碼:t"); Enter_Password(newpw2); if(strcmp(newpw1,newpw2)!=0) printf("nt密碼確認(rèn)錯誤!.nn"); while(strcmp(newpw1,newpw2)!=0); /到輸入的新密碼與確認(rèn)的新密碼一樣的時候退出循環(huán) Encrypt_Password(newpw1); /對新密碼進(jìn)行加密

17、 strcpy(U2->password,newpw1); /講新密碼復(fù)制給舊密碼,就把舊密碼覆蓋掉了,密碼就修改完畢 printf("nnt密碼修改成功!."); return 1;/* 創(chuàng)立用戶鏈表*/int Create_NewUser(User *U1) int flag=0; char password216; User *s,*temp; Diary *D2=NULL; D2=Init_Diary(D2); do s=(User *)malloc(sizeof(User); printf("nt請輸入用戶名:t"); scanf(&qu

18、ot;%s",&s->username); temp=Find_User(U1,s->username); if(temp=NULL) do printf("nt請輸入密碼:t"); Enter_Password(s->password); printf("nt請確認(rèn)密碼:t"); Enter_Password(password2); if(strcmp(s->password,password2)!=0) printf("nt密碼確認(rèn)錯誤!.nn"); while(strcmp(s->

19、password,password2)!=0); Encrypt_Password(s->password); s->diarys_list=D2; s->nextu=U1->nextu; U1->nextu=s; flag=0; printf("nt用戶創(chuàng)立成功!.n"); else printf("nnt*對不起*該用戶名已存在!n"); printf("nt是否繼續(xù)創(chuàng)立用戶:1/0t"); scanf("%d",&flag); while(flag); return 1;

20、/* 刪除日記*/int Delete_Diary(Diary *D) Diary *p; p=D->nextd; D->nextd=p->nextd; free(p); printf("nt日記刪除成功."); return 1;/* 日記操作*/int Diary_Operation(User *U2,Diary *D1) char tempch='1' int choose2; char FileName40; Diary *p=NULL; while(tempch!=ESC) printf("nttt歡送用戶-“%s的到來

21、!.nn",U2->username); Print_Menu2(&choose2); switch(choose2) case 0:return 0; case 1: Write_Diary(D1); tempch=getch(); /用來每次做完一項(xiàng)指令后按回車之后返回選擇操作 break; case 2: printf("nt請輸入文件路徑及文件名:"); scanf("%s",FileName); p=Open_DiaryFile(D1,FileName); /調(diào)用該函數(shù)返回該文件名里面的內(nèi)容并賦值給p if(p!=NUL

22、L) Open_Diary(p); /如果該文件夾里面不為空,就調(diào)用翻開日記函數(shù),將文件夾里面的內(nèi)容打印出來 tempch=getch(); ;break; case 3: printf("nnt該用戶有以下日記:nn"); Printf_DiaryList(D1); tempch=getch(); break; case 4: if(Search_Diary(D1)=1) tempch=getch(); break; /翻開幫助文件 case 5: Change_Password(U2); tempch=getch(); break; return 1;/* 將登錄口令加

23、密*/int Encrypt_Password(char password) int i=0; while(passwordi!='0') if(passwordi>='a'&&passwordi<='z')|(passwordi>='A'&&passwordi<='Z') /當(dāng)passwordi為az或AZ時 passwordi=passwordi+4; /將每個字符進(jìn)行加4, if(passwordi>'Z'&&pas

24、swordi<='Z'+4|passwordi>'z') passwordi=passwordi-26; else if(passwordi>='0'&&passwordi<='9') passwordi=passwordi+4; if(passwordi>'9'&&passwordi<='9'+4) passwordi=passwordi-10; else passwordi=passwordi+4; i+; return 1;/

25、* 獲取登錄口令*/int Enter_Password(char password) char password150; int i=0; while(password1i=getch()!=Enter) /將手動輸入的字符讀入password1i中,Enter為終結(jié)符 passwordi=password1i; /將得到的password1中的數(shù)賦給password; password1i='*' printf("%c",password1i); /打印出出*號,即將密碼隱藏只打印出*號 i+; passwordi='0' rewind(

26、stdin); return 1;/*查找用戶*/User *Find_User(User *U1,char username) User *q; q=U1->nextu; while(q!=NULL&&strcmp(q->username,username)!=0) q=q->nextu; /一直循環(huán)到q等于NULL或者找到與username一樣的用戶名的用戶 if(q!=NULL) return q; /找到就返回該用戶 else return NULL; /否那么就返回NULL/*初始化日記表*/Diary *Init_Diary(Diary *D1)

27、D1=(Diary *)malloc(sizeof(Diary); /為用戶D1申請空間 D1->nextd=NULL; return D1;/* 將所有日記記錄的標(biāo)記tag值置為0或-1*/void Initial_Tag(Diary *D1,int tag) Diary *q; q=D1->nextd; while(q!=NULL) q->tag=tag; q=q->nextd; /*初始化用戶表*/User *Init_User(User *U1) U1=(User *)malloc(sizeof(User); if(U1!=NULL) U1->nextu=

28、NULL; return U1; else return NULL;/* 翻開日記*/int Open_Diary(Diary *D1) printf("nt-n"); printf("nt日記日期=>%s",D1->date); printf("nt日記標(biāo)題=>%s",D1->title); printf("nnt關(guān)鍵字=>%s",D1->keyword); printf("nt-n"); printf("nnt日記正文如下:n"); p

29、rintf("nt%s",D1->content); return 1;/* 翻開并導(dǎo)入日記文件*/Diary *Open_DiaryFile(Diary *D1,char FileName)FILE *fp; Diary *p=NULL; if(fp=fopen(FileName,"r")=NULL) /將文件名為FileName的文件賦給文件名fp并翻開 printf("t文件翻開失敗!"); return NULL; else p=(Diary *)malloc(sizeof(Diary); fscanf(fp,"

30、;t日期: %sn",p->date); /將文件fp中的內(nèi)容賦給p fscanf(fp,"t標(biāo)題: %sn",p->title); fscanf(fp,"t關(guān)鍵字: %sn",p->keyword); fscanf(fp,"t正文如下:nt%sn",p->content); p->tag=0; p->nextd=D1->nextd; /將p接到D1后面,后插法 D1->nextd=p; fclose(fp); /對于文件的操作,最后都要對翻開的文件進(jìn)行關(guān)閉操作 return

31、p; /返回p /*導(dǎo)入用戶信息*/int Open_Users_info(User *U1) FILE *fp; User *U2=NULL,*U3=NULL; Diary *D1=NULL,*D2=NULL; char filepn20,tempstr80;/*用來存放文件保存路徑以及文件名,tempstr是用來保存文件的保存路徑*/ if(fp=fopen(filepn,"r")=NULL) printf("不能翻開文件!n"); return 0; else fscanf(fp,"%sn",tempstr); /將文件fp寫入

32、字符型tempstr中,這樣才可以分別與字符串“User和"Diary"進(jìn)行復(fù)制 while(strcmp(tempstr,"User:")=0&&(!feof(fp)/循環(huán)用來一條一條的讀出文件中的每一個用戶以及用戶的信息 U2=(User *)malloc(sizeof(User);/申請一個空間用來存放每一條的用戶信息 fscanf(fp,"用戶名:%80sn",U2->username);/將文件中的每一個用戶名寫到U2->username中 fscanf(fp,"密碼:%80sn&quo

33、t;,U2->password); fscanf(fp,"%80s",tempstr); D1=(Diary *)malloc(sizeof(Diary); D1=Init_Diary(D1); U2->diarys_list=D1; while(strcmp(tempstr,"Diary:")=0&&(!feof(fp)/將屬于該用戶的日記信息一條一條的全部讀出 D2=(Diary *)malloc(sizeof(Diary); fscanf(fp,"t日期: %sn",D2->date); fsc

34、anf(fp,"t關(guān)鍵字: %sn",D2->keyword); fscanf(fp,"t標(biāo)題: %sn",D2->title); fscanf(fp,"t日記內(nèi)容: n%snn",D2->content); fscanf(fp,"%sn",tempstr); D2->tag=0; D2->nextd=D1->nextd; D1->nextd=D2; /D2->nextd=NULL; /由前往后進(jìn)行導(dǎo)入 /D1->nextd=D2; /D1=D1->nex

35、td; U2->nextu=U1->nextu; U1->nextu=U2;/跟上面的插入方法是一樣的 fscanf(fp,"nn"); fclose(fp); return 0;/*顯示日記列表*/int Printf_DiaryList(Diary *D1) int count=0; Diary *D; D=D1; printf("n"); if(D->nextd=NULL) printf("t沒有日記信息!.n"); else while(D->nextd!=NULL) D=D->nextd;

36、 if(D->tag=0) count+; printf("t第%2d篇=>時間:%-10s 日記標(biāo)題:%-20s t關(guān)鍵字:%-sn",count,D->date,D->title); printf("t關(guān)鍵字:%-sn",D->keyword); return count;/*進(jìn)入菜單并選擇操作*/ void Print_Menu1(int *choose1) printf("ntt “日記管理系統(tǒng)(ESC退出)n"); printf("t|n"); printf("t|

37、 1.用戶登錄 2.新建用戶 3.顯示用戶列表 |n"); printf("t|n"); do printf("nt請選擇操作:t"); scanf("%d",choose1); while(*choose1<0|*choose1>3); rewind(stdin); /*清空鍵盤緩沖區(qū)里的無用字符*/*進(jìn)入日記菜單并選擇操作*/ void Print_Menu2(int *choose2) printf("nttt “日記操作(ESC返回上級)n"); printf("t|n&qu

38、ot;); printf("t| 1.寫日記 2.導(dǎo)入日記 3.查閱與刪除 4.更改用戶密碼 |n"); printf("t|n"); do printf("nt請選擇操作:t"); scanf("%d",choose2); while(*choose2<0|*choose2>5); rewind(stdin); /*清空鍵盤緩沖區(qū)里的無用字符*/*進(jìn)入日記查閱菜單*/ void Print_Menu3(int *choose3) printf("ntt “日記查閱與刪除(ESC返回上級)n&

39、quot;); printf("t|n"); printf("t| 1.日記列表 2.按標(biāo)題查閱 3.按日期查閱 4.按關(guān)鍵字查閱 |n"); printf("t|n"); do printf("nt請選擇操作:t"); scanf("%d",choose3); while(*choose3<0|*choose3>5); rewind(stdin); /*清空鍵盤緩沖區(qū)里的無用字符*/* 顯示用戶列表*/int Printf_users(User *U1) int count=0;

40、User *p; p=U1; printf("nnt用戶信息列表如下:nn"); if(U1->nextu=NULL) printf("nt沒有用戶信息!.n"); else while(p->nextu!=NULL) p=p->nextu; count+; printf("t第%d個用戶=>用戶名:%sn",count,p->username); return 1;/* 日記保存*/int Save_Diary(Diary *D1)FILE *fp; char FileName40,postfix6=&

41、quot;.txt0" printf("t請輸入文件路徑及文件名:"); scanf("%s",FileName); if(fp=fopen(FileName,"w+")=NULL) printf("t翻開文件失敗!"); return 0; fprintf(fp,"t日期: %sn",D1->date); fprintf(fp,"t標(biāo)題: %sn",D1->title); fprintf(fp,"t關(guān)鍵字: %sn",D1->

42、keyword); fprintf(fp,"t正文如下:nt%sn",D1->content); fclose(fp); printf("t日記文件保存成功!"); return 1;/* 保存用戶信息*/int Save_Users_info(User *U1) FILE *fp; Diary *D1; int temp; char filepn20;/*用來存放文件保存路徑以及文件名*/ printf("nnt-n"); printf("t是否保存本次使用所做的所有操作?.t1-是 0-否t"); pri

43、ntf("nt-nt"); printf("請選擇操作:t"); scanf("%d",&temp); if(temp=1) strcpy(filepn,"Users_info.txt"); if(fp=fopen(filepn,"w+")=NULL) printf("不能翻開文件!n"); return 0; while(U1->nextu!=NULL) fprintf(fp,"User:n"); U1=U1->nextu;/*下移一

44、個結(jié)點(diǎn)*/ fprintf(fp,"用戶名:%sn密碼:%sn",U1->username,U1->password); D1=U1->diarys_list; while(D1->nextd!=NULL) D1=D1->nextd; fprintf(fp,"Diary:n"); fprintf(fp,"t日期:%snt關(guān)鍵字: %sn",D1->date,D1->keyword); fprintf(fp,"t標(biāo)題:%sn",D1->title); fprintf(f

45、p,"t日記內(nèi)容:n%sn",D1->content); fclose(fp); return 0;/* 日記查閱*/int Search_Diary(Diary *D1) char tempch='1' char cmpword20; int choose3; Diary *p; while(tempch!=ESC) Print_Menu3(&choose3); p=D1; if(p->nextd=NULL) printf("nt沒有日記.n"); else switch(choose3) case 0: retur

46、n 0; case 1: printf("nt該用戶有以下日記:nn"); Printf_DiaryList(D1); break; case 2:Search_order(D1);break; case 3: printf("nt請輸入要查閱的日記標(biāo)題:t"); scanf("%s",cmpword); Filter_word(D1,cmpword,1); break; /按標(biāo)題查閱 case 4: printf("nt請輸入要查閱的日記日期(2021-4-11):t"); scanf("%s"

47、;,cmpword); Filter_word(D1,cmpword,2); break; /按日期查閱 case 5: printf("nt請輸入要查閱的關(guān)鍵字(如:想你):t"); scanf("%s",cmpword); Filter_word(D1,cmpword,3); break; /按關(guān)鍵字查閱 Initial_Tag(D1,0); tempch=getch(); rewind(stdin); /*清空鍵盤緩沖區(qū)里的無用字符*/ return 1;/*按標(biāo)題、日期、關(guān)鍵字查閱*/Diary *Filter_word(Diary *D1,char cmpword,int n) /采用的是篩選算法 char *temp=NULL; Diary *D,*D2; Initial_Tag(D1,0); /將每一篇日記都編輯成可查找狀態(tài) D=D1; while(D->nextd!=NULL) /對沒有都進(jìn)行比擬 if(n=1) temp=strstr(D->nextd->title,cmpword); /str

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論