日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C编程实践:简单的通讯录

發(fā)布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C编程实践:简单的通讯录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

分享一個之前學C語言時練習寫的一個簡單的通訊錄程序。程序功能:

1、添加聯(lián)系人信息(姓名、電話號碼、城市、公司)。

2、保存聯(lián)系人信息至本地文件。

3、打印輸出聯(lián)系人列表。

4、刪除某個聯(lián)系人信息或刪除所有聯(lián)系人信息。

程序運行結果:

代碼如下,需要的朋友自己保存。

/*----------------------------------------------------------------------------------------Program Explain:簡單的通訊錄??杀4媛?lián)系人的名字、電話號碼、城市、公司至磁盤文件中。 Create Date:2016.2.4 by ZhengN----------------------------------------------------------------------------------------*/#include <stdio.h> #include <stdlib.h> #include <string.h>#define MaxCnt 100 #define CntFull -1// 菜單命令宏定義 #define CMD_Add 1 #define CMD_Save 2 #define CMD_List 3 #define CMD_Delete 4 #define CMD_Clear 5 #define CMD_Exit6// 定義聯(lián)系人基本信息結構體 typedef struct Message {char name[32];//姓名char PhoneNum[32]; //電話號碼char city[32]; //城市char company[32];//公司 }Message;Message LinkmanMes[MaxCnt];//可保存MaxCnt個聯(lián)系人// 函數(shù)聲明 void Init(void); void AddLinkman(void); int FindCapacity(void); void SaveToFile(void); void PrintfList(void); int MenuSelect(void); void Delete(void);/********************************************************************************* * Function Name :main主函數(shù) * Parameter :NULL * Return Value :0 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ int main(void) {int cmd;int num;Init();while(1){cmd = MenuSelect();switch(cmd){case CMD_Add:AddLinkman();break;case CMD_Save:SaveToFile();break;case CMD_List:PrintfList();break;case CMD_Delete:Delete();break;case CMD_Clear:system("cls");break;case CMD_Exit:exit(0);break;}}return 0; }/********************************************************************************* * Function Name :通訊錄初始化,初始化所有聯(lián)系人信息為空 * Parameter :NULL * Return Value :0 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ void Init(void) {for(int i; i<MaxCnt; i++){LinkmanMes[i].name[0] = '\0';} }/********************************************************************************* * Function Name :添加聯(lián)系人 * Parameter :NULL * Return Value :0 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ void AddLinkman(void) {int slot;slot = FindCapacity();printf("Linkman num=%d\n",slot+1);if(slot==CntFull){printf("\nList full\n");return;}printf("Input name:");gets(LinkmanMes[slot].name);printf("Input PhoneNum:");gets(LinkmanMes[slot].PhoneNum);printf("Input city:");gets(LinkmanMes[slot].city);printf("Input company:");gets(LinkmanMes[slot].company);printf("\n\n"); }/********************************************************************************* * Function Name :FindCapacity,查找可保存聯(lián)系人的容量,最大容量為MaxCnt * Parameter :NULL * Return Value :CntFull:已經(jīng)沒有余量了 slot:第slot+1個聯(lián)系人 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ int FindCapacity(void) {int slot;for(slot=0; LinkmanMes[slot].name[0]&&slot<MaxCnt; slot++);if(slot==MaxCnt){return CntFull;//已經(jīng)達到了最大容量,沒有余量了}return slot; }/********************************************************************************* * Function Name :SaveToFile,保存所有聯(lián)系人信息至本地文件Contact.txt * Parameter :NULL * Return Value :0 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ void SaveToFile(void) {FILE *fp;char num[100];if((fp=fopen("Contact.txt","wb"))==NULL){printf("Cannot open the file.\n");exit(0); /* 正常跳出程序 */}for(int i=0; i<MaxCnt; i++){if(*LinkmanMes[i].name){sprintf(num,"Num.%.2d",i+1);fwrite(num, 6, 1, fp);fwrite("\r\n", 2, 1, fp);fwrite(LinkmanMes[i].name, strlen(LinkmanMes[i].name), 1, fp);fwrite("\r\n", 2, 1, fp);fwrite(LinkmanMes[i].PhoneNum, strlen(LinkmanMes[i].PhoneNum), 1, fp);fwrite("\r\n", 2, 1, fp);fwrite(LinkmanMes[i].city, strlen(LinkmanMes[i].city), 1, fp);fwrite("\r\n", 2, 1, fp);fwrite(LinkmanMes[i].company, strlen(LinkmanMes[i].company), 1, fp);fwrite("\r\n", 2, 1, fp);}}fclose(fp); }/********************************************************************************* * Function Name :PrintfList,打印聯(lián)系人列表 * Parameter :NULL * Return Value :0 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ void PrintfList(void) {int i;for(i=0; i<MaxCnt; i++){if(LinkmanMes[i].name[0]){printf("Num.%d\n",i+1);printf("%s\n",LinkmanMes[i].name);printf("%s\n",LinkmanMes[i].PhoneNum);printf("%s\n",LinkmanMes[i].city);printf("%s\n",LinkmanMes[i].company);printf("\n");}} }/********************************************************************************* * Function Name :Delete,刪除聯(lián)系人 * Parameter :NULL * Return Value :0 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ void Delete(void) {int i;char str[80];int num;printf("Input the linkman num(1-100)to delete a linkman or input 0 to delete all linkman:");gets(str);num = atoi(str);/* 刪除第num個聯(lián)系人 */if( (num>0)&&(num<MaxCnt) ){LinkmanMes[num-1].name[0] = '\0';}/* 刪除所有聯(lián)系人 */else if(num==0){for(i=0; i<MaxCnt; i++){LinkmanMes[i].name[0] = '\0';}}printf("\n\n"); }/********************************************************************************* * Function Name :MenuSelect,菜單 * Parameter :NULL * Return Value :c:菜單命令 * Function Explain : * Create Date :2016.2.4 by ZhengN **********************************************************************************/ int MenuSelect(void) {char str[80];int c;printf("1. Add linkman\n");printf("2. Save linkman to file\n");printf("3. Printf all linkman\n");printf("4. Delete linkman\n");printf("5. Clear screen\n");printf("6. Exit\n");do{printf("\nEnter your choice: ");gets(str);c = atoi(str);} while(c<0 || c>6);return c; }

-END-

﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

免責聲明:本文轉(zhuǎn)自網(wǎng)絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯(lián)系,謝謝!

往期好文合集

做硬件,到底有沒有前途?<<戳這里

測試你C語言水平的十道題,挑戰(zhàn)一下?<<戳這里

基本電子元器件識別法<<戳這里

?最 后??

?

若覺得文章不錯,轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。

5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等

在公眾號內(nèi)回復「更多資源」,即可免費獲取,期待你的關注~

長按識別圖中二維碼關注

總結

以上是生活随笔為你收集整理的C编程实践:简单的通讯录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本www高清视频 | 国产乱淫av公 | 精品美女一区二区三区 | www.色在线观看 | 亚洲免费视频一区二区 | 亚洲国产一区视频 | av资源一区 | 欧美日韩免费在线视频 | 91中文字幕网 | 成人激情视频在线播放 | 久久尤物视频 | 国产九色 | 欧美人妻少妇一区二区三区 | 日本免费黄色大片 | 亚洲精品国偷拍自产在线观看蜜桃 | 草草视频在线播放 | 国产91精品高潮白浆喷水 | 国产精品18| 毛片自拍 | 织田真子作品 | 成人夜间视频 | 日本亚洲黄色 | 欧美骚视频 | 国产1区| 欧美日韩一区二区三 | 人人射人人干 | 国产欧美日韩免费 | 免费黄色小视频在线观看 | 伊人久久大香线蕉综合网站 | 怡春院视频 | 男女在线观看视频 | 黄色性视频网站 | 日本一区二区高清视频 | 中年夫妇啪啪高潮 | 97精品超碰一区二区三区 | 欧美日韩精品区 | 久久综合成人网 | 日韩福利网 | 91污在线观看 | 国产96在线 | 亚洲 | 污视频大全 | 日韩色视频在线观看 | 无码人妻精品一区二区三区99不卡 | 国产小视频在线观看免费 | www.人人干 | 中文字幕一区二区三区人妻不卡 | 天天色影网 | 精品久久人妻av中文字幕 | 最新高清无码专区 | 麻豆va | 99一区二区| 国产日产欧洲无码视频 | 中国一级黄色 | 亚洲欧美激情在线 | 在线只有精品 | 在线视频免费观看一区 | 天堂素人约啪 | 亚洲av色香蕉一区二区三区 | 天天综合天天做天天综合 | 青青五月天| 国产一区二区免费电影 | 婷婷第四色| 国产吧在线 | 性做久久久久久久免费看 | 91精品国产高清一区二区三区蜜臀 | av色婷婷| 777av| 国产精品入口66mio | 一本久道视频一本久道 | 欧美女人天堂 | 亚洲熟女一区二区三区 | 天堂网男人 | 亚洲爽爆 | 亚洲a色| 日本一区二区三区免费电影 | 色婷婷在线播放 | 精品一区电影国产 | 香蕉视频97 | 夜夜春夜夜爽 | 中文字幕一区二区人妻电影丶 | 日韩精品无码一本二本三本色 | 精品亚洲一区二区三区四区五区高 | 黄页嫩草 | 国产免费av片在线 | 9cao| 精品一区二区久久久久久久网站 | 成人爱爱 | 黄色动漫软件 | 欧美视频在线免费 | 欧美日韩1区 | 免费麻豆国产一区二区三区四区 | 狼人香蕉| 欧美一级视频免费 | 国产在线日本 | 亚洲第一黄色网址 | av不卡网站 | 各种含道具高h调教1v1男男 | 性盈盈影院中文字幕 | 欧美日韩精品区别 |