基礎(chǔ)程序設(shè)計(jì)、統(tǒng)計(jì)任意文本字?jǐn)?shù)程序、小學(xué)算術(shù)運(yùn)算測(cè)試、通訊錄的管理實(shí)驗(yàn)報(bào)告_第1頁(yè)
基礎(chǔ)程序設(shè)計(jì)、統(tǒng)計(jì)任意文本字?jǐn)?shù)程序、小學(xué)算術(shù)運(yùn)算測(cè)試、通訊錄的管理實(shí)驗(yàn)報(bào)告_第2頁(yè)
基礎(chǔ)程序設(shè)計(jì)、統(tǒng)計(jì)任意文本字?jǐn)?shù)程序、小學(xué)算術(shù)運(yùn)算測(cè)試、通訊錄的管理實(shí)驗(yàn)報(bào)告_第3頁(yè)
基礎(chǔ)程序設(shè)計(jì)、統(tǒng)計(jì)任意文本字?jǐn)?shù)程序、小學(xué)算術(shù)運(yùn)算測(cè)試、通訊錄的管理實(shí)驗(yàn)報(bào)告_第4頁(yè)
基礎(chǔ)程序設(shè)計(jì)、統(tǒng)計(jì)任意文本字?jǐn)?shù)程序、小學(xué)算術(shù)運(yùn)算測(cè)試、通訊錄的管理實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程設(shè)計(jì)課程名稱:初級(jí)程序設(shè)計(jì)設(shè)計(jì)題目:基礎(chǔ)程序設(shè)計(jì)、統(tǒng)計(jì)任意文本字?jǐn)?shù)程序、小學(xué)算術(shù)運(yùn)算測(cè)試、通訊錄的管理學(xué)院:信息工程與自動(dòng)化學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)年級(jí):學(xué)生姓名:指導(dǎo)教師:日期:教務(wù)處制課程設(shè)計(jì)任務(wù)書信息工程與自動(dòng)化學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)年級(jí)學(xué)生姓名:課程設(shè)計(jì)題目:初級(jí)程序設(shè)計(jì)課程設(shè)計(jì)課程設(shè)計(jì)主要內(nèi)容:基礎(chǔ)程序設(shè)計(jì):本設(shè)計(jì)部分主要完成與鏈表操作相關(guān)的基本運(yùn)算,其中包含:鏈表的建立、鏈表的輸出、鏈表的插入、鏈表的刪除等運(yùn)算。.綜合程序設(shè)計(jì):該部分主要是培養(yǎng)學(xué)生在程序編寫方面綜合能力的訓(xùn)練,學(xué)生選作其中的1~3程序的編寫與實(shí)施。1、設(shè)計(jì)統(tǒng)計(jì)任意文本字?jǐn)?shù)的程序:要求包括:中文文本的字?jǐn)?shù);英文文本的單詞數(shù);中英文文本的:中文字?jǐn)?shù)、英文字符數(shù)、英文單詞數(shù)及其他符號(hào)。2、小學(xué)算術(shù)運(yùn)算測(cè)試程序任意生成10道題,每道題有兩個(gè)運(yùn)算數(shù),且都在1到100間的整數(shù),它們參與的運(yùn)算是+、-、×、÷中的任意一種。每給出一道題目后,要提示用戶輸入計(jì)算結(jié)果,當(dāng)用戶輸入完畢后;給出下一道題目,并提示用戶輸入計(jì)算結(jié)果;……,當(dāng)用戶完成所有題目的運(yùn)算后,按照每題10分的標(biāo)準(zhǔn)給出用戶成績(jī),并把所有題目、標(biāo)準(zhǔn)答案及用戶的輸入顯示出來(lái)。3、萬(wàn)年歷的設(shè)計(jì):要求:

模仿現(xiàn)實(shí)生活中的掛歷,能夠顯示年歷、月歷、日歷,并具備退出功能。當(dāng)前頁(yè)以系統(tǒng)當(dāng)前日期的月份為準(zhǔn)顯示當(dāng)前月的每一天(顯示出日及對(duì)應(yīng)的星期幾)。當(dāng)系統(tǒng)日期變到下一月時(shí),系統(tǒng)自動(dòng)翻頁(yè)到下一月。4、通訊錄管理系統(tǒng):制作一個(gè)通訊錄程序,該程序具有查找、添加、修改、刪除功能。通訊錄包括:姓名,電話,街道,城市,省,郵編等。

模塊設(shè)計(jì)參考:

第一個(gè)模塊——主函數(shù)main()的功能是:根據(jù)選單的選項(xiàng)調(diào)用各函數(shù),并完成相應(yīng)的功能。

第二個(gè)模塊——Menu()的功能是:顯示英文提示選單。

第三個(gè)模塊——Quit()的功能是:退出選單。

第四個(gè)模塊——Create()的功能是:創(chuàng)建新的通訊錄。

第五個(gè)模塊——Add()的功能是:在通訊錄的末尾,寫入新的信息,并返回選單。

第六個(gè)模塊——Find()的功能是:查詢某人的信息,如果找到了,則顯示該人的信息,如果未找到,則提示通訊錄中沒有此人的信息,并返回選單。

第七個(gè)模塊——Alter()的功能是:修改某人的信息,如果未找到要修改的人,則提示通訊錄中沒有此人的信息,并返回選單。

第八個(gè)模塊——Delete()的功能是:刪除某人的信息,如果未找到要?jiǎng)h除的人,則提示通訊錄中沒有此人的信息,并返回選單。

第九個(gè)模塊——List()的功能是:顯示通訊錄中的所有記錄。5、成績(jī)記錄簿(限最多5人完成)

編制一個(gè)C語(yǔ)言成績(jī)記錄簿,每個(gè)學(xué)生信息包括:學(xué)號(hào)、姓名、C語(yǔ)言成績(jī)。具體功能:

(1)創(chuàng)建信息,并以磁盤文件保存(可選);

(2)讀取磁盤文件(可選)并顯示輸出所有學(xué)生的成績(jī);(3)按學(xué)號(hào)或姓名查詢成績(jī);(4)添加成績(jī)記錄;

(5)修改指定姓名或?qū)W號(hào)的學(xué)生的成績(jī);

(6)顯示輸出60分以下、60~79、80~89、90分以上各分?jǐn)?shù)段的學(xué)生信息。

6、文件加密程序某公司采用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。

具體實(shí)現(xiàn)思想:

本題要任意輸入一個(gè)四位整數(shù),然后要按它的千、百、十、個(gè)位上的數(shù)都進(jìn)行一定的處理改變,從而實(shí)現(xiàn)給文件加密,所以要定義一個(gè)含有四個(gè)元素的數(shù)組,然后把這個(gè)四位數(shù)的千、百、十、個(gè)位上的數(shù)處理后放到這個(gè)數(shù)據(jù)中,具體如下:

個(gè)位上的數(shù)存放在aa[0]中:aa[0]=a%10。

十位上的數(shù)存放在aa[1]中:aa[1]

=a/10%10。

百位上的數(shù)存放在aa[2]中:aa[2]

=a/100%10。

千位上的數(shù)存放在aa[3]中:aa[3]

=a/1000。

本題使用C語(yǔ)言程序來(lái)實(shí)現(xiàn)以下效果:任意輸入一個(gè)四位整數(shù),然后要按它的千、百、十、個(gè)位上的數(shù)都有進(jìn)行一定的處理改變,從而實(shí)現(xiàn)給文件加密。如輸入四位數(shù)4556,則它輸入的結(jié)果為1009。

本題的目的是讓學(xué)生掌握數(shù)據(jù)加密的基本思路及實(shí)現(xiàn)加密的具體方法。設(shè)計(jì)指導(dǎo)教師(簽字):教學(xué)基層組織負(fù)責(zé)人(簽字):年月日基礎(chǔ)程序設(shè)計(jì)本設(shè)計(jì)部分主要完成與鏈表操作相關(guān)的基本運(yùn)算,其中包含:鏈表的建立、鏈表的輸出、鏈表的插入、鏈表的刪除等運(yùn)算。(1)設(shè)計(jì)目的:熟悉并使用鏈表的相關(guān)操作與基本運(yùn)算(2)解決問題的思路與方法:利用結(jié)構(gòu)體和指針完成動(dòng)態(tài)鏈表的創(chuàng)建,通過(guò)結(jié)點(diǎn)實(shí)現(xiàn)插入刪除運(yùn)算。(3)程序源代碼及程序的實(shí)現(xiàn):增加節(jié)點(diǎn):#include<stdio.h>#include<stdlib.h>structlink{ intdata;//存儲(chǔ)整形數(shù)據(jù) link*next;};link*xin();//創(chuàng)建一個(gè)新的節(jié)點(diǎn)link*create();//創(chuàng)建鏈表voidout(link*p);//輸出鏈表voidinsert(inta,link*head,link*p);//增加節(jié)點(diǎn)voidmain(){ link*head=create(); printf("鏈表為:\n"); out(head); inta; printf("您想在第幾個(gè)節(jié)點(diǎn)后增加,請(qǐng)輸入一個(gè)正整數(shù):\n"); scanf("%d",&a); insert(a,head,xin()); printf("新的鏈表為\n"); out(head);}link*xin(){ link*p=(link*)malloc(sizeof(link)); printf("請(qǐng)輸入節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù):\n"); scanf("%d",&p->data); returnp;}link*create(){ inta,i,j; intb[100];//創(chuàng)建一個(gè)大數(shù)組存儲(chǔ)處輸入數(shù)據(jù) link*head=NULL; printf("請(qǐng)輸入想創(chuàng)建的鏈表長(zhǎng)度,輸入一個(gè)正整數(shù):\n"); scanf("%d",&a); printf("請(qǐng)輸入鏈表的元素(整形鏈表):\n"); for(j=0;j<a;j++) { scanf("%d",&b[j]);//往數(shù)組里存儲(chǔ) } for(i=0;i<a;i++) { link*p=(link*)malloc(sizeof(link)); p->data=b[i];//將對(duì)應(yīng)的數(shù)據(jù)賦給節(jié)點(diǎn) p->next=head; head=p; } returnhead;}voidout(link*p){ while(p!=NULL) { printf("%d",p->data); p=p->next; } printf("\n");}voidinsert(inta,link*head,link*p){ inti; link*q=head; link*p1; for(i=0;i<=a;i++) { p1=q->next; if(i==a-1) { q->next=p; p->next=p1; break; } q=q->next;//每循環(huán)一次p所存儲(chǔ)的地址向后移一次 }}刪除節(jié)點(diǎn):#include<stdio.h>#include<stdlib.h>structlink{ intdata;//存儲(chǔ)整形數(shù)據(jù) link*next;};link*create();//創(chuàng)建鏈表voidout(link*p);//輸出鏈表voiddelet(inta,link*head);//刪除節(jié)點(diǎn)voidmain(){ link*head=create(); printf("鏈表為:\n"); out(head); inta; printf("您想刪除第幾個(gè)節(jié)點(diǎn),請(qǐng)輸入一個(gè)正整數(shù):\n"); scanf("%d",&a); delet(a,head); printf("新的鏈表為\n"); out(head);}link*create(){ inta,i,j; intb[100];//創(chuàng)建一個(gè)大數(shù)組存儲(chǔ)處輸入數(shù)據(jù) link*head=NULL; printf("請(qǐng)輸入想創(chuàng)建的鏈表長(zhǎng)度,輸入一個(gè)正整數(shù):\n"); scanf("%d",&a); printf("請(qǐng)輸入鏈表的元素(整形鏈表):\n"); for(j=0;j<a;j++) { scanf("%d",&b[j]);//往數(shù)組里存儲(chǔ) } for(i=0;i<a;i++) { link*p=(link*)malloc(sizeof(link)); p->data=b[i];//將對(duì)應(yīng)的數(shù)據(jù)賦給節(jié)點(diǎn) p->next=head; head=p; } returnhead;}voidout(link*p){ while(p!=NULL) { printf("%d",p->data); p=p->next; } printf("\n");}voiddelet(inta,link*head){ inti; link*p=head; link*q; for(i=0;i<=a;i++)//到刪除節(jié)點(diǎn)前一個(gè)節(jié)點(diǎn)時(shí)跳過(guò)刪除的節(jié)點(diǎn) { q=p->next; if(i==a-2) { p->next=q->next; break; } p=p->next; }}(4)結(jié)果展示以及分析:4.1建立鏈表,輸入數(shù)據(jù)的長(zhǎng)度4.2輸入鏈表的元素,并輸出鏈表4.3輸入節(jié)點(diǎn)儲(chǔ)存新數(shù)據(jù),并輸出新的鏈表4.4建立鏈表,輸入數(shù)據(jù)的長(zhǎng)度4.5輸入節(jié)點(diǎn)刪除數(shù)據(jù),并輸出新的鏈表綜合程序一:設(shè)計(jì)統(tǒng)計(jì)任意文本字?jǐn)?shù)的程序(1)設(shè)計(jì)目的:設(shè)計(jì)一個(gè)程序,便于統(tǒng)計(jì)某文本中漢字,英文、數(shù)字的個(gè)數(shù)。熟悉對(duì)<stdlib.h>中的fget()、fclose()、fopen()等函數(shù)的運(yùn)用。(2)解決問題的思路與方法:先打開文本文件,用fgetc(fp)實(shí)現(xiàn)從fp指向的文件讀入一個(gè)字符,后判斷讀入的字符是數(shù)字,漢字還是英文,依次統(tǒng)計(jì)。(3)程序源代碼及程序的實(shí)現(xiàn):#include<stdio.h>#include<stdlib.h>intmain(){FILE*fp;charfilename[10],ch;printf("請(qǐng)輸入文件名:");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("文件無(wú)法打開\n");exit(0);}inta=0,b=0,c=0,d=0,word=0,sum=0;while(!feof(fp)){ch=fgetc(fp);if(ch>='0'&&ch<='9')a++;elseif((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))b++;elseif(ch<0)c++;if(ch=='')word=0;elseif(word==0){word=1;sum++;}elsed++;}fclose(fp);printf("此文件中數(shù)字的個(gè)數(shù)為:%d\n,漢字的個(gè)數(shù)為:%d\n,""英文字母的個(gè)數(shù)為:%d\n,英語(yǔ)單詞個(gè)數(shù)為:%d\n""其他符號(hào)個(gè)數(shù)為:%d\n",a,c/2,b,sum,d);return0;}(4)結(jié)果展示以及分析:(此程序,文本文件應(yīng)該與源文件同一目錄,輸入文件名需添加文件后綴)綜合程序二:小學(xué)算術(shù)運(yùn)算數(shù)學(xué)測(cè)試(1)設(shè)計(jì)目的:學(xué)會(huì)運(yùn)用srand()函數(shù)生成隨機(jī)數(shù)的方式,已經(jīng)熟練函數(shù)的調(diào)用,switch選擇語(yǔ)句的使用。(2)解決問題的思路與方法:利用srand()函數(shù)生成隨機(jī)數(shù),通過(guò)定義變量b,b=rand()%4,得到不同的隨機(jī)四個(gè)結(jié)果,通過(guò)switch選擇結(jié)構(gòu)分別對(duì)應(yīng)四個(gè)隨機(jī)結(jié)果,每個(gè)結(jié)果分別對(duì)應(yīng)加法、減法、除法、乘法。開始開始根據(jù)所給的題做出回答根據(jù)所給的題做出回答判斷結(jié)果判斷結(jié)果給出各題的答案,并統(tǒng)計(jì)分?jǐn)?shù)給出各題的答案,并統(tǒng)計(jì)分?jǐn)?shù)退出退出(3)程序源代碼及程序的實(shí)現(xiàn):#include<stdio.h>#include<stdlib.h>#include<time.h>intcreate();voidout(inta[10]);voidmain(){ inti,k,count; inta[10]; count=0; for(i=0;i<10;i++) { a[i]=create(); printf("請(qǐng)輸入答案(保留整數(shù)位,四舍五入)\n"); scanf("%d",&k); if(k==a[i]) count++; } out(a); printf("你的得分為%d\n",10*count);}intcreate()//生成題目{ srand(time(NULL)); intkey,x,y; floatkey1; x=rand()%100+1; y=rand()%100+1; intb; b=rand()%4; switch(b) { case0: printf("%d+%d=\n",x,y); key=x+y; break; case1: printf("%d-%d=\n",x,y); key=x-y; break; case2: printf("%d*%d=\n",x,y); key=x*y; break; case3: printf("%d/%d=\n",x,y); key1=(float)x/y; if((key1-(int)key1)*10>5) key=(int)key1+1; else key=(int)key1; break; default: break; } returnkey;//生成一道題就先把答案算出來(lái)以便于輸出答案}voidout(inta[10])//輸出答案{ printf("正確答案是:\n"); inti=0; for(;i<10;i++) { printf("%d\n",a[i]); }}(4)結(jié)果展示以及分析:4.1開始答題4.2統(tǒng)計(jì)答案,給出得分綜合程序三:通訊錄的管理(1)設(shè)計(jì)目的:設(shè)計(jì)一個(gè)學(xué)生通訊錄管理系統(tǒng),使其能夠按多種方式查詢學(xué)生的通訊地址,號(hào)碼,家庭地址,郵政編碼。進(jìn)一步熟悉C語(yǔ)言中類的概念、基本知識(shí)和技能,類的封裝、繼承的實(shí)現(xiàn)方式。掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法,并利用所學(xué)的基本知識(shí)和技能解決簡(jiǎn)單的面向?qū)ο蟮某绦蛟O(shè)計(jì)問題。了解系統(tǒng)開發(fā)的需求分析、類層次設(shè)計(jì)、模塊分解、編碼測(cè)試、模塊組裝與整體調(diào)試的全過(guò)程,加深對(duì)C語(yǔ)言的理解與VisualC++環(huán)境的使用:逐步熟悉程序設(shè)計(jì)的方法,并養(yǎng)成良好的編程習(xí)慣。學(xué)生通訊錄信息包括:學(xué)號(hào)、姓名、聯(lián)系電話、E-mail、宿舍等。(2)解決問題的思路與方法:把整個(gè)系統(tǒng)分成幾個(gè)函數(shù),對(duì)單個(gè)函數(shù)進(jìn)行編程,對(duì)函數(shù)進(jìn)行調(diào)用來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)任務(wù)。用結(jié)構(gòu)體數(shù)組來(lái)存儲(chǔ)信息,用intmenu_select()函數(shù)來(lái)實(shí)現(xiàn)主菜單信息,用intadduser()函數(shù)來(lái)實(shí)現(xiàn)信息的輸入,用intlist()函數(shù)來(lái)顯示打印信息,用intsearch()函數(shù)來(lái)按姓名查找信息,用intdisplay()函數(shù)來(lái)按電話號(hào)碼查找信息,用intadd()函數(shù)來(lái)插入信息,用intlistbyname()函數(shù)來(lái)按姓名排序,用intdele()函數(shù)來(lái)刪除信息,用intsave()函數(shù)來(lái)保存信息,用intexit()函數(shù)來(lái)退出通訊錄系統(tǒng)。2.1添加模塊系統(tǒng)將提示用戶輸入新添加的學(xué)生的信息,根據(jù)提示輸入學(xué)生姓名、電話號(hào)碼、地址和e-mail。輸入完后,系統(tǒng)將提示是否繼續(xù)添加,按n停止按y繼續(xù)。輸入學(xué)生信息輸入學(xué)生信息輸入Y是否繼續(xù)輸入是否繼續(xù)輸入輸入N返回主菜單返回主菜單2.2顯示模塊顯示模塊將輸出所有學(xué)生的通訊信息。按系統(tǒng)的提示按相應(yīng)按鍵,系統(tǒng)將調(diào)用已錄入的學(xué)生通訊信息,并全部輸出。顯示學(xué)生信息顯示學(xué)生信息按姓名排列學(xué)生信息并顯示按姓名排列學(xué)生信息并顯示返回主菜單返回主菜單2.3查找模塊首先由用戶輸入要查找的學(xué)生的姓名或電話號(hào)碼,然后系統(tǒng)用查找函數(shù)查找,然后系統(tǒng)就調(diào)用輸出函數(shù),輸出所查找的學(xué)生資料。返回主菜單提示無(wú)提示無(wú)無(wú)此人無(wú)此人輸出找到人信息輸出找到人信息按電話查找按名字查找查找學(xué)生信息返回主菜單提示無(wú)提示無(wú)無(wú)此人無(wú)此人輸出找到人信息輸出找到人信息按電話查找按名字查找查找學(xué)生信息2.4刪除模塊首先由用戶輸入要?jiǎng)h除的單個(gè)學(xué)生姓名或?qū)W號(hào)或電話,然后調(diào)用刪除函數(shù),刪除該名學(xué)生的資料。刪除學(xué)生信息刪除學(xué)生信息根據(jù)輸入學(xué)生名字或電話號(hào)碼查找學(xué)生信息根據(jù)輸入學(xué)生名字或電話號(hào)碼查找學(xué)生信息沒找到學(xué)生信息提示NO找到并刪除學(xué)生信息沒找到學(xué)生信息提示NO找到并刪除學(xué)生信息返回主菜單返回主菜單(3)程序源代碼及程序的實(shí)現(xiàn):。。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include<stdlib.h>#definenull0structrecord{charname[20];charphone[20];charadress[40];charpostcode[10];chare_mail[30];}student[500];structLinkList{structrecordUS;structLinkList*next;}a;structLinkList*head=null;intnum=0;FILE*fp;intmenu_select();intadduser();intlist();intsearch();intdisplay();intadd();intlistbyname();intdele();intsave();intexit();voidmain(){system("cls");for(;;){switch(menu_select()){case0:adduser();break;case1:list();break;case2:search();break;case3:display();break;case4:add();break;case5:listbyname();break;case6:dele();break;case7:save();break;case8:exit(0);}}}menu_select(){chars[80];inta;printf("按任意鍵進(jìn)入通訊錄管理系統(tǒng)\n");getch();system("cls");printf("\t\t********************菜單*********************\n\n");printf("\t\t0.輸入記錄\n");printf("\t\t1.顯示記錄\n");printf("\t\t2.按姓名查找\n");printf("\t\t3.按電話號(hào)碼查找\n");printf("\t\t4.插入記錄\n");printf("\t\t5.按姓名排序\n");printf("\t\t6.刪除記錄\n");printf("\t\t7.記錄保存文件\n");printf("\t\t8.Quit\n");do{printf("\n請(qǐng)輸入(0~8):");scanf("%s",s);a=atoi(s);}while(a<0||a>11);returna;}adduser(){printf("\n\t\t****************請(qǐng)輸入用戶信息****************\n");printf("\n\t\t輸入姓名:");scanf("%s",&student[num].name);printf("\n\t\t輸入電話號(hào)碼:");scanf("%s",&student[num].phone);printf("\n\t\t輸入地址:");scanf("%s",&student[num].adress);printf("\n\t\t輸入郵編:");scanf("%s",&student[num].postcode);printf("\n\t\t輸入e-mail:");scanf("%s",&student[num].e_mail);num++;printf("\n\t\t是否繼續(xù)添加?(Y/N):");if(getch()=='y')adduser();return(0);}list(){inti;system("cls");if(num!=0){printf("\n\t\t***************以下為通訊錄所有信息************");for(i=0;i<num;i++){printf("\n\t\t姓名:%s",student[i].name);printf("\n\t\t電話:%s",student[i].phone);printf("\n\t\t地址:%s",student[i].adress);printf("\n\t\t郵編:%s",student[i].postcode);printf("\n\t\te-mail:%s",student[i].e_mail);printf("\t\t");if(i+1<num){printf("\n\t\t__________________________");system("pause");}}printf("\n\t\t************************************************");}elseprintf("\n\t\t通訊錄中無(wú)任何紀(jì)錄");printf("\n\t\t按任意鍵返回主菜單:");getch();return(0);}search(){intmark=0;inti;inta=0;printf("\n\t\t*****************按姓名查找*******************");charname[20];printf("\n\t\t請(qǐng)輸入姓名:");scanf("%s",name);for(i=a;i<num;i++){if(strcmp(student[i].name,name)==0){printf("\n\t\t*************以下是您查找的用戶信息***********");printf("\n\t\t姓名:%s",student[i].name);printf("\n\t\t電話:%s",student[i].phone);printf("\n\t\t地址:%s",student[i].adress);printf("\n\t\te-mail:%s",student[i].e_mail);printf("\n\t\t************************************************");mark++;if((i+1)<num){printf("\n\t\t是否繼續(xù)查找相同名字的用戶信息:(y/n)");if(getch()=='y'){a=i;continue;}elsereturn(0);}else{printf("\n\t\t按任意鍵返回主菜單");getch();return(0);}}}if(mark!=0){printf("\n\t\t沒有相同姓名的用戶紀(jì)錄");printf("\n\t\t按任意鍵返回主菜單");getch();return(0);}else{printf("\n\t\t沒有相同姓名的用戶紀(jì)錄");printf("\n\t\t按任意鍵返回主菜單");getch();return(0);}}display(){intmark=0;inti;inta=0;printf("\n\t\t******************按電話查找******************");charphone[10];printf("\n\t\t請(qǐng)輸入電話號(hào)碼:");scanf("%s",phone);for(i=0;i<num;i++){if(strcmp(student[i].phone,phone)==0){printf("\n\t\t**************以下是您查找的用戶信息**********");printf("\n\t\t姓名:%s",student[i].name);printf("\n\t\t電話:%s",student[i].phone);printf("\n\t\t地址:%s",student[i].adress);printf("\n\t\te-mail:%s",student[i].e_mail);printf("\n\t\t************************************************");printf("\n\t\t按任意鍵返回主菜單:");mark++;getch();return(0);}}if(mark==0){printf("\n\t\t沒有改用戶的信息");printf("\n\t\t按任意鍵返回主菜單");getch();return(0);}return(0);}add(){inti;if((fp=fopen("student.bin","wb"))==NULL){printf("\n\t\t文件打開失敗");}for(i=0;i<num;i++){if(fwrite(&student[i],sizeof(structrecord),1,fp)!=1){printf("\n\t\t寫入文件錯(cuò)誤!\n");}printf("\n\t\t****************請(qǐng)輸入用戶信息****************\n");printf("\n\t\t輸入姓名:");scanf("%s",&student[num].name);printf("\n\t\t輸入電話號(hào)碼:");scanf("%s",&student[num].phone);printf("\n\t\t輸入地址:");scanf("%s",&student[num].adress);printf("\n\t\t輸入郵編:");scanf("%s",&student[num].postcode);printf("\n\t\t輸入e-mail:");scanf("%s",&student[num].e_mail);num++;printf("\n\t\t是否繼續(xù)添加?(Y/N):");if(getch()=='y')adduser();return(0);}fclose(fp);printf("\n\t\t通訊錄文件已保存");printf("\n\t\t按任意鍵退出程序\n\t\t");exit(0);return(0);}voiddeletebyphone(){inti,j;intdeletemark=0;charphone[20];printf("\n\t\t請(qǐng)輸入要?jiǎng)h除用戶電話號(hào)碼:");scanf("%s",phone);if(num==0){printf("\n\t\t對(duì)不起,文件中無(wú)任何紀(jì)錄");printf("\n\t\t按任意鍵返回主菜單");getch();return;}for(i=0;i<num;i++){if(strcmp(student[i].phone,phone)==NULL){printf("\n\t\t以下是您要?jiǎng)h除的用戶紀(jì)錄:");printf("\n\t\t姓名:%s",student[i].name);printf("\n\t\t電話:%s",student[i].phone);printf("\n\t\t地址:%s",student[i].adress);printf("\n\t\te-mail:%s",student[i].e_mail);printf("\n\t\t是否刪除?(y/n)");if(getch()=='y'){for(j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;printf("\n\t\t刪除成功");printf("\n\t\t是否繼續(xù)刪除?(y/n)");if(getch()=='y')deletebyphone();return;}elsereturn;}continue;}if(deletemark==0){printf("\n\t\t沒有該用戶的紀(jì)錄");printf("\n\t\t是否繼續(xù)刪除?(y/n)");if(getch()=='y')deletebyphone();return;}}voiddeletebyname(){inta=0;intfindmark=0;intj;intdeletemark=0;inti;charname[20];printf("\n\t\t請(qǐng)輸入要?jiǎng)h除用戶姓名:");scanf("%s",name);for(i=a;i<num;i++){if(strcmp(student[i].name,name)==NULL){printf("\n\t\t以下是您要?jiǎng)h除的用戶紀(jì)錄:");findmark++;printf("\n\t\t________________________________");printf("\n\t\t姓名:%s",student[i].name);printf("\n\t\t電話:%s",student[i].phone);printf("\n\t\t地址:%s",student[i].adress);printf("\n\t\te-mail:%s",student[i].e_mail);printf("\n\t\t________________________________");printf("\n\t\t是否刪除?(y/n)");if(getch()=='y'){for(j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;printf("\n\t\t刪除成功");if((i+1)<num){printf("\n\t\t是否繼續(xù)刪除相同姓名的用戶信息?(y/n)");if(getch()=='y'){a=i;continue;}}printf("\n\t\t是否繼續(xù)刪除?(y/n)");if(getch()=='y')deletebyname();return;}if((i+1)<num){printf("\n\t\t是否繼續(xù)刪除相同姓名的用戶信息?(y/n)");if(getch()=='y'){a=i;continue;}}}elsecontinue;}if((deletemark==0)&&(findmark==0)){printf("\n\t\t沒有該用戶的紀(jì)錄");printf("\n\t\t是否繼續(xù)刪除?(y/n)");if(getch()=='y')deletebyphone();return;return;}elseif(findmark

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論