<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C語言實現手機電話簿管理系統的具體程式碼,供大家參考,具體內容如下
用c設計出模擬手機通訊錄管理系統,實現對手機中的通訊錄進行管理
檢視功能:選擇此功能時,列出下列三類選擇。A辦公類,B個人類,C商務類,當選中某類時,顯示出此類中的所有資料。
增加功能:能錄入新資料,一個結點包括:姓名、電話號碼、分類(可選項有:A 辦公類,B 個人類,C 商務類)、電子郵件。
撥號功能:能顯示出通訊錄中所有人的姓名,當選中某個姓名時,螢幕上模擬打字機的效果依次顯示出此人的電話號碼中的各個數位,並伴隨相應的撥號聲音。
修改功能:選中某個人的姓名時,可對此人的相應資料進行修改。
刪除功能:選中某個人的姓名時,可對此人的相應資料進行刪除,並自動調整後續條目的編號。
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define N 15 //最大容量為15 typedef struct //定義一個結構 { char name[10]; char haoma[15]; char leibie[10]; char dizhi[20]; }ren; //選單 void menu() //目錄 { system("cls"); //清屏 printf("nnn ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"); printf(" ┃ ┃"); printf(" ┃ ┃"); printf(" ┃ ┃"); printf(" ┃ ┃"); printf(" ┃ ┃"); printf(" ┃ ┃"); printf(" ┃ ┃"); printf(" ┃ ┏━━━━━━━━━━┓ ┃"); printf("n ┃ ┃ 歡迎使用手機通訊錄 ┃ ┃ n"); printf(" ┃ ┗━━━━━━━━━━┛ ┃"); printf(" ┃ ┏━━━━━━━━━━┓ ┃n"); printf(" ┃ ┃ ┃ ┃n"); printf(" ┃ ┃ ┃ ┃n"); printf(" ┃ ┃ 1.新增聯絡人 ┃ ┃n"); printf(" ┃ ┃ 2.查詢聯絡人 ┃ ┃n"); printf(" ┃ ┃ 3.修改聯絡人 ┃ ┃n"); printf(" ┃ ┃ 4.刪除聯絡人 ┃ ┃n"); printf(" ┃ ┃ 5.撥號 ┃ ┃n"); printf(" ┃ ┃ 0.退出 ┃ ┃n"); printf(" ┃ ┃ ┃ ┃n"); printf(" ┃ ┃ ┃ ┃n"); printf(" ┃ ┗━━━━━━━━━━┛ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┃ ┃n"); printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "); printf("n"); printf("請選擇相應的功能:"); } //號碼新增 void input() { FILE *fp; //定義檔案指標 ren ry,s; // 定義兩個ren結構體的量 if((fp=fopen("ren.dat","ab+"))==NULL) {printf("can't open file!n");exit(0);} printf("n錄入格式n姓名:n號碼:n類別:n郵箱:n當輸入姓名為#結束錄入n"); while(1) { printf("請輸入姓名:"); scanf("%s",ry.name); if(strcmp(ry.name,"#")==0) break; //如果輸入#則退出新增 printf("請輸入電話號碼:"); scanf("%s",ry.haoma); printf("請輸入類別(A辦公類B個人類C商務類):"); scanf("%s",ry.leibie); printf("請輸入郵箱地址:"); scanf("%s",ry.dizhi); fseek(fp,0,0); //指標定位到檔案開始位置 fread(&s,sizeof(ren),1,fp); while(!feof(fp)) { if(strcmp(s.haoma,ry.haoma)==0) {printf("號碼已經存在,不能記錄.n");break;}//遇到有相同的號碼 fread(&s,sizeof(ren),1,fp); } if(feof(fp)) //讀到自後也沒有相同的號碼 fwrite(&ry,sizeof(ren),1,fp); //將資訊寫入檔案 } fclose(fp); //關閉檔案 getchar(); //接受一個輸入 } void search() //查詢 { ren ry; FILE *fp; char leibie[10]; system("cls"); printf("n輸入要查人員的類別: ");scanf("%s",leibie);//要查詢的類別 if((fp=fopen("ren.dat","rb"))==NULL) {printf("can't open file!n");exit(0);} fread(&ry,sizeof(ren),1,fp); if(!feof(fp)) { printf(" 人員的資訊如下:n"); printf("說明:(A辦公類B個人類C商務類)"); printf("n%10s %15s %10s %20s n","姓名","號碼","類別","郵箱"); while(!feof(fp)) { if(strcmp(ry.leibie,leibie)==0) //若為該類別則輸出 { printf("%10s %15s %10s %20s n",ry.name,ry.haoma,ry.leibie,ry.dizhi); } fread(&ry,sizeof(ren),1,fp); } } else printf("查詢失敗!!!"); fclose(fp); getch(); } //修改:輸入人員的姓名,查詢該人員,若找到則修改該人員的資訊,並顯示修改前後的結果; void modi() { ren ry; FILE *fp; char name[10]; system("cls"); if((fp=fopen("ren.dat","rb+"))==NULL) {printf("can't open file!n");exit(0);} if(!feof(fp)) {printf(" 修改前全部人員的資訊如下:n"); printf("n%10s %15s %10s %20s n","姓名","號碼","類別","郵箱"); fread(&ry,sizeof(ren),1,fp); while(!feof(fp)) { printf("%10s %15s %10s %20s n",ry.name,ry.haoma,ry.leibie,ry.dizhi); fread(&ry,sizeof(ren),1,fp); } } printf("n輸入要修改人員的姓名: ");scanf("%s",name); if((fp=fopen("ren.dat","rb+"))==NULL) {printf("can't open file!n");exit(0);} while(!feof(fp)) { fread(&ry,sizeof(ren),1,fp); if(strcmp(ry.name,name)==0) { printf(" 修改前人員的資訊如下:n"); printf("n%10s %15s %10s %20s n","姓名","號碼","類別","郵箱"); printf("%10s %15s %10s %20s n",ry.name,ry.haoma,ry.leibie,ry.dizhi); printf("n請輸入該人的號碼:");scanf("%s",ry.haoma); printf("n類別:");scanf("%s",ry.leibie); //新資訊輸入 printf("n郵箱:");scanf("%s",ry.dizhi); break; //修改完畢退出 } } if(!feof(fp)) { printf(" n 修改後的人的資訊如下:n"); printf("n%10s %15s %10s %20s n","姓名","號碼","類別","郵箱"); printf("%10s %15s %10s %20s n",ry.name,ry.haoma,ry.leibie,ry.dizhi); fseek(fp,-sizeof(ren),1); //指標向前一位定位 fwrite(&ry,sizeof(ren),1,fp); } else printf("n此人不存在,修改失敗!!"); fclose(fp); getch(); } //刪除:輸入人員姓名,若該人員存在,則刪除,並顯示刪除後餘下的人員的資訊 void dele() { ren ry[N]; FILE *fp; char name[10]; int i,len,k=-1; system("cls"); printf("n輸入要刪除的人員姓名: ");scanf("%s",name); i=0; if((fp=fopen("ren.dat","rb+"))==NULL) {printf("can't open file!n");exit(0);} while(!feof(fp)) { fread(&ry[i],sizeof(ren),1,fp); if(feof(fp)) break; if(strcmp(ry[i].name,name)==0) k=i; i++; } fclose(fp); //以下是刪除後重新寫檔案 len=i; if(k>=0) { if((fp=fopen("ren.dat","wb+"))==NULL) {printf("can't open file!n");exit(0);} for(i=0;i<len;i++) { if(i==k) continue; fwrite(&ry[i],sizeof(ren),1,fp); } fclose(fp);printf("刪除成功!!!n"); } else printf("刪除失敗!!!n"); getch(); } void bohao() //撥號 { ren ry; FILE *fp; char name[10]; system("cls"); printf("n輸入要撥人員的姓名: ");scanf("%s",name); if((fp=fopen("ren.dat","rb"))==NULL) {printf("can't open file!n");exit(0);} while(!feof(fp)) { fread(&ry,sizeof(ren),1,fp); if(strcmp(ry.name,name)==0) { printf("naaaaaa %15saaaaan",ry.haoma); //輸出號碼和聲音 break; } } if(feof(fp)) printf("撥號失敗!!!"); fclose(fp); getch(); } //選單選擇 void choice() { char ch; while(1) { menu();// 顯示選單 ch=getch();//選擇選單 if(ch=='0') break; switch(ch)//判斷功能項 { case '1': input();break; case '2':search();break; case '3':modi();break; case '4':dele();break; case '5':bohao();break; } } printf("n歡迎使用!!!n"); } //主函數 main() { choice();//呼叫選單選擇 }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45