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

下載本文檔

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

文檔簡介

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

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

模塊設(shè)計參考:

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

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

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

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

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

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

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

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

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

編制一個C語言成績記錄簿,每個學(xué)生信息包括:學(xué)號、姓名、C語言成績。具體功能:

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

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

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

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

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

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

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

個位上的數(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語言程序來實(shí)現(xiàn)以下效果:任意輸入一個四位整數(shù),然后要按它的千、百、十、個位上的數(shù)都有進(jìn)行一定的處理改變,從而實(shí)現(xiàn)給文件加密。如輸入四位數(shù)4556,則它輸入的結(jié)果為1009。

本題的目的是讓學(xué)生掌握數(shù)據(jù)加密的基本思路及實(shí)現(xiàn)加密的具體方法。設(shè)計指導(dǎo)教師(簽字):教學(xué)基層組織負(fù)責(zé)人(簽字):年月日基礎(chǔ)程序設(shè)計本設(shè)計部分主要完成與鏈表操作相關(guān)的基本運(yùn)算,其中包含:鏈表的建立、鏈表的輸出、鏈表的插入、鏈表的刪除等運(yùn)算。(1)設(shè)計目的:熟悉并使用鏈表的相關(guān)操作與基本運(yùn)算(2)解決問題的思路與方法:利用結(jié)構(gòu)體和指針完成動態(tài)鏈表的創(chuàng)建,通過結(jié)點(diǎn)實(shí)現(xiàn)插入刪除運(yùn)算。(3)程序源代碼及程序的實(shí)現(xiàn):增加節(jié)點(diǎn):#include<stdio.h>#include<stdlib.h>structlink{ intdata;//存儲整形數(shù)據(jù) link*next;};link*xin();//創(chuàng)建一個新的節(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("您想在第幾個節(jié)點(diǎn)后增加,請輸入一個正整數(shù):\n"); scanf("%d",&a); insert(a,head,xin()); printf("新的鏈表為\n"); out(head);}link*xin(){ link*p=(link*)malloc(sizeof(link)); printf("請輸入節(jié)點(diǎn)存儲數(shù)據(jù):\n"); scanf("%d",&p->data); returnp;}link*create(){ inta,i,j; intb[100];//創(chuàng)建一個大數(shù)組存儲處輸入數(shù)據(jù) link*head=NULL; printf("請輸入想創(chuàng)建的鏈表長度,輸入一個正整數(shù):\n"); scanf("%d",&a); printf("請輸入鏈表的元素(整形鏈表):\n"); for(j=0;j<a;j++) { scanf("%d",&b[j]);//往數(shù)組里存儲 } for(i=0;i<a;i++) { link*p=(link*)malloc(sizeof(link)); p->data=b[i];//將對應(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所存儲的地址向后移一次 }}刪除節(jié)點(diǎn):#include<stdio.h>#include<stdlib.h>structlink{ intdata;//存儲整形數(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("您想刪除第幾個節(jié)點(diǎn),請輸入一個正整數(shù):\n"); scanf("%d",&a); delet(a,head); printf("新的鏈表為\n"); out(head);}link*create(){ inta,i,j; intb[100];//創(chuàng)建一個大數(shù)組存儲處輸入數(shù)據(jù) link*head=NULL; printf("請輸入想創(chuàng)建的鏈表長度,輸入一個正整數(shù):\n"); scanf("%d",&a); printf("請輸入鏈表的元素(整形鏈表):\n"); for(j=0;j<a;j++) { scanf("%d",&b[j]);//往數(shù)組里存儲 } for(i=0;i<a;i++) { link*p=(link*)malloc(sizeof(link)); p->data=b[i];//將對應(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)前一個節(jié)點(diǎn)時跳過刪除的節(jié)點(diǎn) { q=p->next; if(i==a-2) { p->next=q->next; break; } p=p->next; }}(4)結(jié)果展示以及分析:4.1建立鏈表,輸入數(shù)據(jù)的長度4.2輸入鏈表的元素,并輸出鏈表4.3輸入節(jié)點(diǎn)儲存新數(shù)據(jù),并輸出新的鏈表4.4建立鏈表,輸入數(shù)據(jù)的長度4.5輸入節(jié)點(diǎn)刪除數(shù)據(jù),并輸出新的鏈表綜合程序一:設(shè)計統(tǒng)計任意文本字?jǐn)?shù)的程序(1)設(shè)計目的:設(shè)計一個程序,便于統(tǒng)計某文本中漢字,英文、數(shù)字的個數(shù)。熟悉對<stdlib.h>中的fget()、fclose()、fopen()等函數(shù)的運(yùn)用。(2)解決問題的思路與方法:先打開文本文件,用fgetc(fp)實(shí)現(xiàn)從fp指向的文件讀入一個字符,后判斷讀入的字符是數(shù)字,漢字還是英文,依次統(tǒng)計。(3)程序源代碼及程序的實(shí)現(xiàn):#include<stdio.h>#include<stdlib.h>intmain(){FILE*fp;charfilename[10],ch;printf("請輸入文件名:");scanf("%s",filename);if((fp=fopen(filename,"r"))==NULL){printf("文件無法打開\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ù)字的個數(shù)為:%d\n,漢字的個數(shù)為:%d\n,""英文字母的個數(shù)為:%d\n,英語單詞個數(shù)為:%d\n""其他符號個數(shù)為:%d\n",a,c/2,b,sum,d);return0;}(4)結(jié)果展示以及分析:(此程序,文本文件應(yīng)該與源文件同一目錄,輸入文件名需添加文件后綴)綜合程序二:小學(xué)算術(shù)運(yùn)算數(shù)學(xué)測試(1)設(shè)計目的:學(xué)會運(yùn)用srand()函數(shù)生成隨機(jī)數(shù)的方式,已經(jīng)熟練函數(shù)的調(diào)用,switch選擇語句的使用。(2)解決問題的思路與方法:利用srand()函數(shù)生成隨機(jī)數(shù),通過定義變量b,b=rand()%4,得到不同的隨機(jī)四個結(jié)果,通過switch選擇結(jié)構(gòu)分別對應(yīng)四個隨機(jī)結(jié)果,每個結(jié)果分別對應(yīng)加法、減法、除法、乘法。開始開始根據(jù)所給的題做出回答根據(jù)所給的題做出回答判斷結(jié)果判斷結(jié)果給出各題的答案,并統(tǒng)計分?jǐn)?shù)給出各題的答案,并統(tǒng)計分?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("請輸入答案(保留整數(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;//生成一道題就先把答案算出來以便于輸出答案}voidout(inta[10])//輸出答案{ printf("正確答案是:\n"); inti=0; for(;i<10;i++) { printf("%d\n",a[i]); }}(4)結(jié)果展示以及分析:4.1開始答題4.2統(tǒng)計答案,給出得分綜合程序三:通訊錄的管理(1)設(shè)計目的:設(shè)計一個學(xué)生通訊錄管理系統(tǒng),使其能夠按多種方式查詢學(xué)生的通訊地址,號碼,家庭地址,郵政編碼。進(jìn)一步熟悉C語言中類的概念、基本知識和技能,類的封裝、繼承的實(shí)現(xiàn)方式。掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法,并利用所學(xué)的基本知識和技能解決簡單的面向?qū)ο蟮某绦蛟O(shè)計問題。了解系統(tǒng)開發(fā)的需求分析、類層次設(shè)計、模塊分解、編碼測試、模塊組裝與整體調(diào)試的全過程,加深對C語言的理解與VisualC++環(huán)境的使用:逐步熟悉程序設(shè)計的方法,并養(yǎng)成良好的編程習(xí)慣。學(xué)生通訊錄信息包括:學(xué)號、姓名、聯(lián)系電話、E-mail、宿舍等。(2)解決問題的思路與方法:把整個系統(tǒng)分成幾個函數(shù),對單個函數(shù)進(jìn)行編程,對函數(shù)進(jìn)行調(diào)用來實(shí)現(xiàn)整個系統(tǒng)任務(wù)。用結(jié)構(gòu)體數(shù)組來存儲信息,用intmenu_select()函數(shù)來實(shí)現(xiàn)主菜單信息,用intadduser()函數(shù)來實(shí)現(xiàn)信息的輸入,用intlist()函數(shù)來顯示打印信息,用intsearch()函數(shù)來按姓名查找信息,用intdisplay()函數(shù)來按電話號碼查找信息,用intadd()函數(shù)來插入信息,用intlistbyname()函數(shù)來按姓名排序,用intdele()函數(shù)來刪除信息,用intsave()函數(shù)來保存信息,用intexit()函數(shù)來退出通訊錄系統(tǒng)。2.1添加模塊系統(tǒng)將提示用戶輸入新添加的學(xué)生的信息,根據(jù)提示輸入學(xué)生姓名、電話號碼、地址和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é)生的姓名或電話號碼,然后系統(tǒng)用查找函數(shù)查找,然后系統(tǒng)就調(diào)用輸出函數(shù),輸出所查找的學(xué)生資料。返回主菜單提示無提示無無此人無此人輸出找到人信息輸出找到人信息按電話查找按名字查找查找學(xué)生信息返回主菜單提示無提示無無此人無此人輸出找到人信息輸出找到人信息按電話查找按名字查找查找學(xué)生信息2.4刪除模塊首先由用戶輸入要刪除的單個學(xué)生姓名或?qū)W號或電話,然后調(diào)用刪除函數(shù),刪除該名學(xué)生的資料。刪除學(xué)生信息刪除學(xué)生信息根據(jù)輸入學(xué)生名字或電話號碼查找學(xué)生信息根據(jù)輸入學(xué)生名字或電話號碼查找學(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.按電話號碼查找\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請輸入(0~8):");scanf("%s",s);a=atoi(s);}while(a<0||a>11);returna;}adduser(){printf("\n\t\t****************請輸入用戶信息****************\n");printf("\n\t\t輸入姓名:");scanf("%s",&student[num].name);printf("\n\t\t輸入電話號碼:");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通訊錄中無任何紀(jì)錄");printf("\n\t\t按任意鍵返回主菜單:");getch();return(0);}search(){intmark=0;inti;inta=0;printf("\n\t\t*****************按姓名查找*******************");charname[20];printf("\n\t\t請輸入姓名:");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請輸入電話號碼:");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寫入文件錯誤!\n");}printf("\n\t\t****************請輸入用戶信息****************\n");printf("\n\t\t輸入姓名:");scanf("%s",&student[num].name);printf("\n\t\t輸入電話號碼:");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請輸入要刪除用戶電話號碼:");scanf("%s",phone);if(num==0){printf("\n\t\t對不起,文件中無任何紀(jì)錄");printf("\n\t\t按任意鍵返回主菜單");getch();return;}for(i=0;i<num;i++){if(strcmp(student[i].phone,phone)==NULL){printf("\n\t\t以下是您要刪除的用戶紀(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請輸入要刪除用戶姓名:");scanf("%s",name);for(i=a;i<num;i++){if(strcmp(student[i].name,name)==NULL){printf("\n\t\t以下是您要刪除的用戶紀(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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

提交評論