




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1需求分析 1.1要求分析電話溥項(xiàng)目設(shè)計(jì)需要的是方便用戶管理手機(jī)等存儲(chǔ)工具上的電話號(hào)碼。在上面實(shí)現(xiàn)電話號(hào)碼的增加、刪除、修改、查找、存儲(chǔ)的功能。在滿足用戶這些功能的同時(shí)要加快其在存儲(chǔ)工具上的操作速度。1.2功能要求=1\*GB3①插入一條記錄的函數(shù)insert();=2\*GB3②刪除一條記錄的函數(shù)delete();=3\*GB3③修改一條記錄的函數(shù)update();=4\*GB3④查詢一條記錄的函數(shù)select();=5\*GB3⑤存儲(chǔ)一條記錄的函數(shù)save();=6\*GB3⑥登陸函數(shù)adr().1.3總體要求各函數(shù)之間要連接流暢,相互轉(zhuǎn)換速度快。操作簡單、簡便易于用戶掌握。采用單鏈表的存儲(chǔ)來減少占用的空間。2概要設(shè)計(jì)
設(shè)計(jì)思路程序設(shè)計(jì)一般由兩部分組成:算法和數(shù)據(jù)結(jié)構(gòu),合理地選擇和實(shí)現(xiàn)一個(gè)數(shù)據(jù)結(jié)構(gòu)和處理這些數(shù)據(jù)結(jié)構(gòu)具有同樣的重要性。在通訊錄管理程序中,由于預(yù)計(jì)記錄數(shù)相對于一個(gè)單位的學(xué)生人數(shù)或職工人數(shù)來說不會(huì)太大,除了能夠插入、刪除、保存等外,更多的情況是查詢,且能夠?qū)崿F(xiàn)快速查詢,所以選用靜態(tài)數(shù)組保存數(shù)據(jù),實(shí)現(xiàn)多種查詢方式=1\*GB3①插入記錄=2\*GB3②查詢記錄=3\*GB3③修改記錄=4\*GB3④刪除記錄=5\*GB3⑤存儲(chǔ)記錄3模塊設(shè)計(jì)整個(gè)電話簿管理系統(tǒng)包括以下幾個(gè)功能模塊。=1\*GB3①輸入記錄模塊:輸入記錄模塊主要完成將數(shù)據(jù)存入數(shù)組的工作。在此電話薄管理系統(tǒng)中,可以輸入姓名以及相應(yīng)的號(hào)碼。=2\*GB3②查詢記錄模塊主要完成在數(shù)組中查找滿足相關(guān)條件的記錄。在通訊錄管理系統(tǒng)中,用戶可以按照聯(lián)系人姓名或聯(lián)系人電話號(hào)碼在數(shù)組中進(jìn)行查找。=3\*GB3③修改記錄模塊:更新記錄模塊主要完成對記錄的維護(hù)。在通訊錄管理系統(tǒng)中,它能對存入的姓名和號(hào)碼進(jìn)行修改。=4\*GB3④刪除記錄模塊:刪除記錄模塊主要是滿足記錄更新的需要,在此通訊錄管理系統(tǒng)中,他能刪除存入的姓名和號(hào)碼。通訊錄管理系統(tǒng)驗(yàn)證用戶名和密碼登陸模塊輸入姓名輸入號(hào)碼輸入記錄模塊按號(hào)碼查詢按姓名查詢查詢記錄模塊修改姓名修改號(hào)碼修改記錄模塊存儲(chǔ)記錄模塊刪除姓名刪除號(hào)碼刪除記錄模塊=5\*GB3⑤存儲(chǔ)模塊:此模塊主要對記錄進(jìn)行存儲(chǔ),按姓氏首字母經(jīng)行分類。通訊錄管理系統(tǒng)驗(yàn)證用戶名和密碼登陸模塊輸入姓名輸入號(hào)碼輸入記錄模塊按號(hào)碼查詢按姓名查詢查詢記錄模塊修改姓名修改號(hào)碼修改記錄模塊存儲(chǔ)記錄模塊刪除姓名刪除號(hào)碼刪除記錄模塊存儲(chǔ)號(hào)碼存儲(chǔ)姓名存儲(chǔ)號(hào)碼存儲(chǔ)姓名4詳細(xì)設(shè)計(jì)4.1編寫目的在概要設(shè)計(jì)的基礎(chǔ)上,對于、對電話簿系統(tǒng)的各模塊、程序分別實(shí)現(xiàn)層面上的要求和說明。1.2定義Load:載入文件將磁盤中可能存在的文件載入到內(nèi)存中,Insert:信息的插入Delete:信息的刪除Select:信息的查找,查找到所存在的信息,Save:保存,將操作結(jié)果保存到磁盤文件中。Update:修改記錄4.2登陸模塊2.1模塊描述用戶需要通過輸入用戶名和密碼來登陸系統(tǒng),然后選擇進(jìn)行操作來實(shí)現(xiàn)用戶系需要。通過這一模塊設(shè)計(jì),是用戶資料的安全。2.2功能驗(yàn)證用戶名及其密碼的合法性。2.3性能簡單性,安全性。2.4輸入項(xiàng)用戶名:可包括字符數(shù)字及符號(hào)密碼:可包括字符數(shù)字及符號(hào)。2.5輸出項(xiàng)驗(yàn)證該用戶名和密碼是否正確,正確則登錄系統(tǒng),不正確則關(guān)閉系統(tǒng)。2.6設(shè)計(jì)方法(算法)用scanf()函數(shù)獲取密碼、用戶名,與存儲(chǔ)在文本文件中的比較。2.7流程邏輯開始開始輸入用戶名和密碼獲取存儲(chǔ)時(shí)的用戶名和密碼以上兩者是否一致進(jìn)入通訊錄系統(tǒng)結(jié)束退出出2.8注釋設(shè)計(jì)在程序一些適當(dāng)?shù)奈恢媒o出中文注釋,尤其較難理解的地方,例如關(guān)于文件操。作調(diào)用的函數(shù)。2.9限制條件無法注冊用戶,只能根據(jù)程序中設(shè)定的用戶名和密碼來驗(yàn)證。4.3插入模塊(insert)設(shè)計(jì)說明3.1模塊描述在已有記錄的基礎(chǔ)上,增加數(shù)據(jù)并將數(shù)據(jù)保存在文本文件中。當(dāng)保存的記錄到底1000條時(shí),提示無法增加。3.2功能增加記錄,并保存3.3輸入項(xiàng)要增加的用戶名:長度不超過8個(gè)字符,姓名中可包括字符數(shù)字及符號(hào)。該用戶的號(hào)碼:長度不超過16個(gè)字符,號(hào)碼中僅可包括數(shù)字3.4輸出項(xiàng)輸入的用戶名及號(hào)碼符合要求時(shí),顯示添加成功。否則顯示添加失敗。3.5設(shè)計(jì)方法(算法)使用雙向鏈表實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)管理,數(shù)據(jù)的添加就是在雙向鏈表中增加一個(gè)節(jié)點(diǎn)。3.6流程邏輯開始開始記錄是否存在輸入用戶名及號(hào)碼結(jié)束添加成功3.7存儲(chǔ)分配將輸入的用戶名和電話號(hào)碼保存在當(dāng)前目錄下的文本文件中3.8注釋設(shè)計(jì)在程序一些適當(dāng)?shù)奈恢媒o出中文注釋,尤其較難理解的地方,尤其有關(guān)鏈表的操作.3.11尚未解決的問題不能對姓名和號(hào)碼輸入的合法性進(jìn)行檢驗(yàn)。4.4刪除模塊(del)設(shè)計(jì)說明4.1模塊描述對文本文件中已有的數(shù)據(jù)進(jìn)行刪除,通過輸入用戶名,查找出相應(yīng)記錄,然后刪除。4.2功能通過輸入的用戶名刪除已有的記錄。4.3輸入項(xiàng)輸入要?jiǎng)h除用戶的用戶名,必須是文本文件中已有的用戶名。4.4輸出項(xiàng)輸出刪除后文本中包含的記錄。4.5設(shè)計(jì)方法(算法)先應(yīng)判斷文本中是否有記錄,如果沒有記錄則提示無法進(jìn)行此項(xiàng)操作,如果有,則提示輸入用戶名,查找出該節(jié)點(diǎn),刪除節(jié)點(diǎn)。4.6流程邏輯開始開始記錄是否存在輸入用戶名結(jié)束查找該用戶顯示結(jié)果沒有記錄無法刪除4.7存儲(chǔ)分配更新文本中的記錄。4.8注釋設(shè)計(jì)在程序一些適當(dāng)?shù)奈恢媒o出中文注釋,尤其較難理解的地方,尤其有關(guān)鏈表的操作。4.5查詢模塊(select)設(shè)計(jì)說明5.1模塊描述輸入用戶名,與文本文件比對,查找出相應(yīng)記錄并輸出查找的結(jié)果。5.2功能查找文本中的記錄并輸出。5.3輸入項(xiàng)輸入用戶名。5.4輸出項(xiàng)若輸入的用戶名在文本中存在,則輸出相應(yīng)記錄;若不存在,則輸出沒有此用戶。5.5設(shè)計(jì)方法(算法)首先判斷鏈表是否為空,若為空,則提示用戶記錄為空;若不為空,輸入用戶名,查詢鏈表節(jié)點(diǎn),查找出該節(jié)點(diǎn)的話,輸出該節(jié)點(diǎn)的記錄。5.6流程邏輯開始開始記錄是否存在輸入用戶名結(jié)束查找該用戶顯示結(jié)果沒有記錄無法查詢5.7注釋設(shè)計(jì)在程序一些適當(dāng)?shù)奈恢媒o出中文注釋,尤其較難理解的地方,尤其有關(guān)鏈表的操作。4.6修改模塊(update)設(shè)計(jì)說明6.1模塊描述對文本文件中已有的數(shù)據(jù)進(jìn)行修改,通過輸入用戶名查找到相應(yīng)的記錄,然后修改。6.2功能通過輸入用戶名修改已有的記錄。6.3輸入項(xiàng)。輸入要修改的用戶名,必須是文本文件中已有的用戶名。6.4輸出項(xiàng)輸出已修改的記錄。6.5設(shè)計(jì)方法(算法)首先判斷鏈表是否為空,若為空,則提示用戶記錄為空;若不為空,輸入用戶名,查詢鏈表節(jié)點(diǎn),查找出該節(jié)點(diǎn)的話,輸出該節(jié)點(diǎn)的記錄。6.6流程邏輯開始開始記錄是否存在輸入用戶名結(jié)束查找該用戶修改該用戶沒有記錄無法修改6.7注釋設(shè)計(jì)在程序一些適當(dāng)?shù)奈恢媒o出中文注釋,尤其較難理解的地方,尤其有關(guān)鏈表的操作。4.7存儲(chǔ)模塊(save)設(shè)計(jì)7.1模塊描述對用戶操作的數(shù)據(jù)進(jìn)行保存。7.2功能數(shù)據(jù)記錄的保存。7.3輸入項(xiàng)無輸入項(xiàng),用戶添加數(shù)據(jù)后自動(dòng)保存。7.4輸出項(xiàng)當(dāng)沒有文件時(shí),則顯示文件不存在,并及時(shí)創(chuàng)建文件,當(dāng)文件創(chuàng)建成功后,提示創(chuàng)建成功。讀入文件成功則提示用戶讀入成功,讀入的文件如果為空則顯示文件內(nèi)容為空。7.5設(shè)計(jì)方法(算法)調(diào)用文件操作函數(shù)來判斷文件存在與否、創(chuàng)建和讀入數(shù)據(jù)7.6流程邏輯開始開始是否輸入新的紀(jì)錄存儲(chǔ)記錄結(jié)束7.7注釋設(shè)計(jì)在程序一些適當(dāng)?shù)奈恢媒o出中文注釋,尤其較難理解的地方,尤其有關(guān)鏈表的操作。5附錄代碼#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>structTelephone{charname[20];charaddrass[20];charzip[20];chartelephone[20];charQQ[20];charemail[30];chartean[5];structTelephone*next;};typedefstructTelephoneTEL;structpasswd{ charusename[18];charpassword[18];structpasswd*next;};structpasswd*head1=NULL;TEL*head=NULL;voidshowmenu();//主菜單voidAppenditem();//添加信息voidprint();//輸出信息voidFinditem1();//查找信息(按姓名)voidRemoveitem();//刪除信息voidmodify();//修改信息voidSave();//保存到文件voidOpen();//打開文件voiddljm();//產(chǎn)品信息voidopen();//選擇voidflcx();//查找信息(按分組)voidczjm();//查找菜單voidxgmm();//密碼文件voiddenglujm();//登錄界面voidlogin();//注冊密碼賬號(hào)voidmenu();//菜單voidSavepwd();//保存密碼賬號(hào)voidmodifypasswd();voiddenglujm()//登錄界面{ inti,k,j=0;structpasswd*p;charusername1[15],pwd[28],ch;for(i=0;i<3;i++) { printf("\n\n管理員登陸");printf("\n\n請輸入賬號(hào):");scanf("%s",username1);printf("\n請輸入密碼:");k=0;ch='0'; while(ch!='\r') { ch=getch(); if(ch=='\r')break; printf("*"); pwd[k]=ch; k++; } pwd[k]='\0'; for(p=head1->next;p!=NULL;p=p->next) { if((strcmp(p->usename,username1)==0)&&(strcmp(p->password,pwd)==0)) { j=1; dljm();break; }}if(p==NULL&&j==0) {system("cls"); printf("\a");printf("\n\t用戶名密碼錯(cuò)誤!\n\t請重新輸入賬號(hào)密碼!");denglujm(); }}}main(){menu();}voidmenu()//主函數(shù){ charch;xgmm(); printf("\t\t溫馨提示:\n"); printf("\t\t第一次使用請先注冊\n"); printf("\t\t\n"); printf("\t\t\n"); printf("\t\t\n"); printf("\t\t1.登錄\n"); printf("\t\t\n"); printf("\t\t2.注冊\n"); printf("\t\t\n"); printf("\t\t0.退出\n"); printf("\t\t\n"); printf("\t\t\n");printf("請選擇0-2:\n"); ch=getchar(); switch(ch) { case'1':system("cls");denglujm(); case'2':login();menu(); case'0':exit(0); default:system("cls");printf("\n輸入錯(cuò)誤,請重新選擇......\n\n");menu(); break; }}voiddljm()//個(gè)人資料界面{ intk,M=80000000,u,o; charch; system("cls");printf("\n\n產(chǎn)品信息");printf("\n");printf("\n軟件名稱:通訊錄管理系統(tǒng)");printf("\n");printf("\n執(zhí)行壞境:VC++6.0");printf("\n");printf("\n班級(jí):11級(jí)計(jì)算機(jī)軟件1班");printf("\n");printf("\n制作人:張亮,程勇,袁吻,陳家輝");printf("\n");printf("\n\n\n請按任意鍵進(jìn)入系統(tǒng)...");ch=getch();getchar();if(ch){ system("cls");printf("\n"); printf("\n"); printf("\n"); printf("\n"); system("cls"); printf("\n\n\n"); system("cls");printf("\r");system("cls");printf("【hello】");open();}}voidopen(){ intk;intu,o;charch;Open();//打開文件while(1){ showmenu();//顯示菜單scanf("%c",&ch);switch(ch) { case'1':Appenditem();Save();//添加條目 printf("\n\n\n\n\n\n\n\n正在返回主菜單"); for(o=0;o<3;o++) { for(u=0;u<4;u++) { printf("》"); for(k=0;k<10000000;k++); } system("cls"); printf("\n\n\n\n\n\n\n\n正在返回主菜單"); } system("cls"); break; case'2':print();getchar();//輸出條目 break;case'3':czjm();getchar();//查找break; case'4':Removeitem();Save();getchar();//刪除信息 break;case'5':modify();Save();getchar(); break; case'6':modifypasswd();getchar(); break;case'0': system("cls"); printf("\n\n\n"); printf("\t\t\n"); printf("\t\t\n"); printf("\t\t多謝使用!!!!\n"); printf("\t\t\n"); printf("\t\t\n"); exit(0);//退出 break;default: { system("cls"); printf("\a");}printf("\n選擇錯(cuò)誤!請重新選擇0-7!\n");break; }}}//菜單voidshowmenu(){ printf("\n");printf("\t\t\n********************************通訊錄系統(tǒng)*************************************\n");printf("\t\t\n");printf("\t\t\n");printf("\t\t1.添加成員信息\n");printf("\t\t\n");printf("\t\t2.輸出成員信息\n");printf("\t\t\n");printf("\t\t3.查詢成員信息\n");printf("\t\t\n");printf("\t\t4.刪除成員信息\n");printf("\t\t\n");printf("\t\t5.修改成員信息\n");printf("\t\t\n");printf("\t\t6.修改個(gè)人密碼\n");printf("\t\t\n");printf("\t\t0.退出!\n");printf("\t\t\n");printf("\t\t\n");printf("\t\t請選擇0-6:");}//添加條目voidAppenditem(){ charch;into,u,k,i=0;TEL*p1=NULL,*p2=NULL;p1=(TEL*)malloc(sizeof(TEL));//申請結(jié)點(diǎn)printf("輸入姓名:\n");//添加信息scanf("%s",p1->name);printf("輸入地址:\n");scanf("%s",p1->addrass);printf("輸入郵編:\n");scanf("%s",p1->zip);printf("輸入電話:\n");scanf("%s",p1->telephone);printf("輸入Q號(hào):\n");scanf("%s",p1->QQ);printf("輸入郵箱:\n");scanf("%s",p1->email);getchar();re:printf("請選擇分組...");printf("1.同學(xué)");printf("2.好友");printf("3.親人");printf("4.其他");ch=getchar();getchar();if(ch=='1') { i=1; strcpy(p1->tean,"同學(xué)"); }if(ch=='2') { i=1; strcpy(p1->tean,"好友"); }if(ch=='3') { i=1; strcpy(p1->tean,"親人"); }if(ch=='4') { strcpy(p1->tean,"其他");i=1; }if(i==0) { printf("\n輸入錯(cuò)誤!請重新選擇\n"); gotore; }p1->next=NULL;//保存到鏈表if(head==NULL){ head=(TEL*)malloc(sizeof(TEL));//申請空間head->next=p1;}else{ for(p2=head;p2->next!=NULL;p2=p2->next);//找到結(jié)點(diǎn)尾 p2->next=p1;}system("cls");for(o=0;o<3;o++){ for(u=0;u<4;u++) {printf("》"); for(k=0;k<10000000;k++); }system("cls");printf("\n\n此信息已添加成功!!!\n");}system("cls");}//輸出學(xué)生信息voidprint(){TEL*p=NULL;inti=0;if(head->next==NULL){ i=1; system("cls"); printf("\a\a"); printf("\n\n通訊錄中沒有成員信息!請重新選擇\n\n");system("pause");return;}system("cls");if(i==0){printf("\t******************************通訊錄系統(tǒng)**********************\n");//輸出信息printf("\t姓名地址郵編電話QQ郵箱分組\n\n");}for(p=head->next;p!=NULL;p=p->next)printf("\t%s%s%s%s%s%s%s\n\n",p->name,p->addrass,p->zip,p->telephone,p->QQ,p->email,p->tean); printf("\n\n\n\t\t\t");system("pause");system("cls");}//查找菜單voidczjm(){ charch; system("cls"); printf("請輸入你想查找的方式:0-2\n");rett:printf("\t\t\n"); printf("\n"); printf("\t\t1.按姓名查找\n"); printf("\n");printf("\t\t2.按分組查找\n"); printf("\n");printf("\t\t0.返回\n"); printf("\n");printf("\t\t\n");getchar();ch=getchar();switch(ch) { case'1':Finditem1();break; case'2':flcx();break;case'0':system("cls");break;default: system("cls"); printf("\t\t%c\n",ch); printf("\t\t輸入錯(cuò)誤,請重新選擇....\n\t\t");system("pause");//調(diào)用pause命令,按任意鍵返回system("cls"); gotorett; break; }}//查找信息1.按姓名voidFinditem1(){TEL*p;inti=0;charfindname[20];printf("請輸入要查找的人員的姓名:\n");scanf("%s",findname);for(p=head->next;p!=NULL;p=p->next){ if(strcmp(p->name,findname)==0){ if(i==0) { system("cls"); printf("\n\n"); printf("\t*****************************通訊錄系統(tǒng)****************************\n");//輸出信息printf("\t姓名地址郵編電話QQ郵箱分組\n\n"); } i=1;printf("\t%s%s%s%s%s%s%s\n\n",p->name,p->addrass,p->zip,p->telephone,p->QQ,p->email,p->tean); }}printf("\t\t");system("pause");system("cls");if(!p&&i==0){ system("cls"); printf("\n\n\n\n\t\t\t通訊錄中沒有此成員信息\n\n\n"); printf("\n\t\t\t"); system("pause"); system("cls");} }//根據(jù)分組查詢voidflcx(){ TEL*p;inti=0;charfz[12];printf("\t\t請輸入要查找的分組名:\n\n");hhh:printf("\t\t同學(xué)or好友or親人or其他\n");getchar();scanf("%s",fz);if(strcmp(fz,"同學(xué)")!=0&&strcmp(fz,"好友")!=0&&strcmp(fz,"親人")!=0&&strcmp(fz,"其他")!=0){ printf("\t\t輸入錯(cuò)誤,請重新選擇...\n"); gotohhh;}for(p=head->next;p!=NULL;p=p->next){ if(strcmp(p->tean,fz)==0){ if(i==0) { system("cls"); printf("\n\n"); printf("\t*****************************通訊錄系統(tǒng)****************************\n");//輸出信息printf("\t姓名地址郵編電話QQ郵箱分組\n\n"); } i=1;printf("\t%s%s%s%s%s%s%s\n\n",p->name,p->addrass,p->zip,p->telephone,p->QQ,p->email,p->tean); }}printf("\t\t");system("pause");system("cls");if(!p&&i==0){ system("cls"); printf("\n\n\n\n\t\t\t通訊錄中沒有此分組的信息\n\n\n");printf("\n\t\t\t"); system("pause");system("cls");} }//刪除信息voidRemoveitem(){charfindname[20],ch;//先查找后刪除TEL*p=NULL,*pr=NULL;intk,o,u,j=0;p=head->next;pr=head;printf("請輸入要?jiǎng)h除的姓名:\n");scanf("%s",findname);system("cls");if(p==NULL){printf("無信息!\n");return;}while(p){ if((strcmp(p->name,findname))==0) { printf("\t所刪除的成員信息\n");printf("\t姓名地址郵編電話QQ郵箱分組\n\n");printf("\t%s%s%s%s%s%s%s\n\n",p->name,p->addrass,p->zip,p->telephone,p->QQ,p->email,p->tean); //輸出刪除信息 printf("\n\n這是你想刪除成員嗎?(當(dāng)存在同名的人時(shí),選擇否將顯示下一個(gè)同名的人的信息)\n");rep: printf("是:(Y/y)否:(N/n)\n");getchar(); ch=getchar(); if(ch=='y'||ch=='Y') { j=1; pr->next=p->next; free(p); system("cls"); for(o=0;o<3;o++) { for(u=0;u<4;u++) { printf("》"); for(k=0;k<10000000;k++); }system("cls");printf("刪除成功!!!\n"); } system("cls"); for(o=0;o<3;o++) { for(u=0;u<4;u++) { printf("》"); for(k=0;k<10000000;k++); } system("cls");printf("\n\n\n\n\n\n\n\n正在返回主菜單..."); } system("cls"); break; } if(ch=='n'||ch=='N') {j=1; system("cls"); gotoqwqw; }if(j==0) { printf("\a"); printf("輸入錯(cuò)誤,請重新選擇!\n"); gotorep; }} qwqw: pr=p; p=p->next;} if(!p) { printf("\n\n\a通訊錄中沒有此成員信息!\n"); printf("\n\t\t\t"); system("pause"); system("cls"); return; }}//修改信息voidmodify(){ TEL*p;intu,o,k,i=0;charch,ch1;charfindname[20];printf("請輸入要修改的人員的姓名:\n");scanf("%s",findname);for(p=head->next;p!=NULL;p=p->next){ if(strcmp(p->name,findname)==0){ i=1; system("cls"); printf("\t******************通訊錄系統(tǒng)*************************\n");//輸出信息printf("\t姓名地址郵編電話QQ郵箱分組\n\n");printf("\t%s%s%s%s%s%s%s\n\n",p->name,p->addrass,p->zip,p->telephone,p->QQ,p->email,p->tean); printf("\n\n這是你想修改成員嗎?\n");repeat: printf("是:(Y/y)否:(N/n)\n");getchar(); ch=getchar(); if(ch=='y'||ch=='Y') { printf("輸入姓名:\n");//修改信息scanf("%s",p->name);printf("輸入地址:\n");scanf("%s",p->addrass);printf("輸入郵編:\n");scanf("%s",p->zip);printf("輸入電話:\n");scanf("%s",p->telephone);printf("輸入Q號(hào):\n");scanf("%s",p->QQ);printf("輸入郵箱:\n");scanf("%s",p->email);getchar();printf("請選擇分組...");printf("1.同學(xué)");printf("2.好友");printf("3.親人");printf("4.其他");ch1=getchar();if(ch1=='1')strcpy(p->tean,"同學(xué)");if(ch1=='2')strcpy(p->tean,"好友");if(ch1=='3')strcpy(p->tean,"親人");if(ch1=='4')strcpy(p->tean,"其他"); system("cls"); for(o=0;o<3;o++){ for(u=0;u<4;u++) {printf("》"); for(k=0;k<10000000;k++); }system("cls");printf("該成員已修改成功!!\n");} for(o=0;o<3;o++){ for(u=0;u<4;u++) {printf("》"); for(k=0;k<10000000;k++); }system("cls");printf("返回主菜單");} system("cls");break; } if(ch=='n'||ch=='N') {printf("你取消了此處操作\n\n"); system("pause");system("cls"); continue;}else{ printf("\a");printf("輸入錯(cuò)誤,請重新選擇!\n");gotorepeat;} }}if(!p&&i==0){ system("cls");printf("\a"); printf("\n\n通訊錄中沒有此成員信息存在!\n你可以選擇1進(jìn)行添加\n\n"); system("pause");} }//保存信息到文件中并釋放內(nèi)存空間voidSave(){TEL*p=NULL;FILE*fp;if(head==NULL){printf("\n記錄為空!\n");return;}else p=head->next;if((fp=fopen("通訊錄.txt","wb+"))==NULL){printf("\n打不開文件!\n");return;}while(p!=NULL)//保存信息{ fwrite(p,sizeof(TEL),1,fp);p=p->next;}fclose(fp);}//把文件信息輸出到鏈表voidOpen(){ FILE*fp;TEL*p=NULL,*p2=NULL,*temp=NULL;if((fp=fopen("通訊錄.txt","rb+"))==NULL) { printf("\n這是一個(gè)空的通訊錄,\n請先添加信息再實(shí)行其他功能...");return; } head=(TEL*)malloc(sizeof(TEL));head->next=NULL;temp=p2=head;while(!feof(fp))//循環(huán)讀取 { p=(TEL*)malloc(sizeof(TEL));temp=p2;p2->next=p;p2=p;fread(p,sizeof(TEL),1,fp); } temp->next=NULL;fclose(fp);//關(guān)閉文件}//密碼文件voidxgmm(){ FILE*fp1;structpasswd*p1=NULL,*p2=NULL,*temp=NULL;if((fp1=fopen("password.txt","rb+"))==NULL) { printf("\n請先注冊!!\n");return;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五工傷私了賠償協(xié)議范本深度修訂
- 2025年度物業(yè)賠償業(yè)主公共區(qū)域設(shè)施損壞協(xié)議書
- 二零二五年度自媒體平臺(tái)內(nèi)容創(chuàng)作者扶持計(jì)劃合作協(xié)議
- 2025年度汽車抵押貸款利息調(diào)整合同
- 二零二五年度診所合伙人投資合作與權(quán)益保障協(xié)議
- 二零二五年度餐飲店面租賃合同含節(jié)假日特色活動(dòng)策劃
- 鼎捷E10-6.0培訓(xùn)教材-質(zhì)量管理
- 《物流系統(tǒng)分析》課件 項(xiàng)目二任務(wù)三 了解物流需求預(yù)測
- 2025年蚌埠道路客貨運(yùn)輸從業(yè)資格證模擬考試下載
- 2025年濟(jì)南貨運(yùn)從業(yè)資格證考試題答案
- 2024年港作拖輪項(xiàng)目可行性研究報(bào)告
- 課題申報(bào)書:“四新”建設(shè)與創(chuàng)新創(chuàng)業(yè)人才培養(yǎng)基本范式研究
- 春季高考高職單招數(shù)學(xué)模擬試題七套含答案
- 2024-2025學(xué)年陜西省寶雞市高三上學(xué)期高考模擬檢測(一)英語試題(含解析)
- 2025年企業(yè)的演講稿例文(2篇)
- 2025上海大學(xué)行政管理崗位及部分教育輔助崗位公開招聘19人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 電瓶三輪車安全培訓(xùn)
- 擺攤合伙經(jīng)營合同范例
- 山東省安全員《B證》考試題庫及答案
- 造船廠有限空間作業(yè)安全措施方案
- 人教版三年級(jí)下冊數(shù)學(xué)第一單元 位置與方向(一)(單元練習(xí))
評(píng)論
0/150
提交評(píng)論