日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品a区 | 免费成人av网址 | 亚洲啪啪av| 一区二区一级片 | 在线中文字幕观看 | 一区二区亚洲精品 | 男女免费网站 | 久久性感视频 | 中文字幕在线观看日本 | 国产免费网 | 国产精品传媒麻豆hd | 欧美亚洲第一页 | 亚洲国产精品av | 国产日韩视频一区 | 女生裸体无遮挡 | 免费福利在线观看 | 欧美日批 | 中文一区在线 | 亚洲免费观看高清完整版在线 | 夜夜爽天天爽 | 人人人射 | 五十路息子 | 在线观看成人动漫 | 国产精品久久久久久久专区 | 在线观看欧美一区二区 | 少妇被又大又粗又爽毛片久久黑人 | 在线成人看片 | 337p粉嫩大胆噜噜噜噜69影视 | 91青青青| 久久精品片 | 变态另类ts人妖一区二区 | 欧美成人三级 | xxxxxx欧美| 亚洲精品推荐 | 欧美老熟妇乱xxxxx | 国产一区二区a | 91在线免费看 | 91九色高潮 | 国产绳艺sm调教室论坛 | 真实的国产乱xxxx在线 | 99视频在线观看免费 | 午夜黄色剧场 | 色婷婷色婷婷 | 沟厕沟厕近拍高清视频 | 日朝毛片| 粉嫩av一区二区白浆 | 国产精品成人一区二区 | 性色av一区二区三区四区 | 欧美综合精品 | 加勒比在线一区 | 欧美一级免费 | av不卡中文字幕 | 好男人www社区| 夜夜夜夜骑 | 欧美做爰爽爽爽爽爽爽 | 久久1234 | beeg日本高清xxxx18 | 91女人18毛片水多国产 | 亚洲一区二区av | 多毛的亚洲人毛茸茸 | 91丝袜呻吟高潮美腿白嫩在线观看 | sm在线观看 | 深夜视频在线播放 | 国产视频自拍一区 | 色资源在线观看 | 91精品福利在线 | 38在线视频 | 亚洲深爱| jzjzjzjzj亚洲成熟少妇 | 少妇特殊按摩高潮惨叫无码 | 亚洲第一福利视频 | 日日躁夜夜躁aaaabbbb | 国语对白 | 99色在线观看 | 亚洲精品成a人在线观看 | 免费观看黄网站 | 四虎影视www在线播放 | 国产无遮挡又黄又爽在线观看 | 日本电影成人 | 丰满人妻一区二区三区四区 | 国产一级久久久 | 日本一区二区三区免费在线观看 | 成人短视频在线免费观看 | 啪啪免费av | 欧美混交群体交 | 成人无码精品1区2区3区免费看 | 国产四区视频 | 亚洲无人区小视频 | 国产真实乱人偷精品视频 | 狠狠躁夜夜 | 夜夜嗨aⅴ一区二区三区 | 黄色一级免费大片 | 都市激情 自拍偷拍 | 精品一区二区三区蜜臀 | 日韩毛片在线播放 | 亚洲精品电影在线 | 亚洲精品一区二区三区四区五区 | 亚洲天堂av线 | 久久免费视频一区 |