亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言通訊錄實例分享

2020-01-26 13:45:59
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言通訊錄實例的具體代碼,供大家參考,具體內容如下

main.c文件:

// // main.c // c語言通訊錄 // // Created by stevenchang on 9/6/15. // Copyright (c) 2015 cz. All rights reserved. //  /**  1.添加聯系人  2.刪除聯系人  3.更新聯系人  4.顯示所有聯系人  5.查找聯系人  6.退出系統  */ #include <stdio.h>  int main(int argc, const char * argv[]) {  //程序的初始化  initContacts();    while(1) {   int flag = 0;   printf("*************C語言通訊錄*************/n");   printf("************1.添加用戶***************/n");   printf("************2.刪除用戶***************/n");   printf("************3.更新用戶***************/n");   printf("************4.查找用戶***************/n");   printf("************5.顯示所有用戶************/n");   printf("************6.退出系統***************/n");   printf("************************************/n");      printf("請輸入1-6的功能編號 :/n");   scanf("%d",&flag);   //判斷編號是否合法   validateNum(flag, 1, 6);      switch (flag) {    case 1:     addContact(); //添加用戶     break;    case 2:     deleteContact();  //刪除用戶     break;    case 3:     updateContact();  //更新用戶     break;    case 4:     searchContact();  //查找用戶     break;    case 5:     listContact();  //顯示所有用戶     break;    case 6:     printf("系統正在退出!/n");     printf("成功退出系統!/n");     return 0;     break;    default:     break;   }     }  return 0; } 

MyFile.c文件:

// // MyFile.c // c語言通訊錄 // // Created by stevenchang on 9/6/15. // Copyright (c) 2015 cz. All rights reserved. //  #include "MyFile.h"  //**************函數的實現**********************//  /**  * 添加聯系人  */ void addContact() {  int flag = 0;  printf("您選擇的是添加聯系人,請按操作進行!/n");  printf("請輸入用戶姓名(*注意聯系人姓名中間不能有空格):/n");  scanf("%s",contacts[totalContactsCount].name);  printf("請輸入電話(*注意聯系人電話中間不能有空格): /n");  scanf("%s",contacts[totalContactsCount].tel);  printf("是否確認添加!1:是 0:否/n");  scanf("%d",&flag);  if (flag) {   //聯系人個數加1   totalContactsCount++;      //將聯系人信息保存到文件中   writeFile();  }  printf("已經放棄添加!/n");  return ; }  /**  * 刪除聯系人  */ void deleteContact() {  int no;  printf("您選擇的是刪除聯系人,請按操作進行!/n");  printf("請輸入要刪除的編號:/n");  scanf("%d",&no);    //判斷輸入的編號是否合法  if (!validateNum(no, 1, totalContactsCount)) {   printf("您輸入的編號不合法!/n");   return ;  }  //合法  //如果刪除的是最后一個元素  if (no == totalContactsCount) {   totalContactsCount--;  } else {   //如果刪除的不是最后一個元素   for (int i = no; i < totalContactsCount; i++) {    contacts[no-1] = contacts[no]; //元素的移動和覆蓋   }   totalContactsCount--;  }    //同步文件  writeFile(); }  /**  * 更新聯系人  */ void updateContact() {  int no;  char newName[NAMELENGTH];  char newTel[TELLENGTH];  printf("您選擇的是更新聯系人,請按操作進行!/n");  printf("請輸入要修改的聯系人編號:/n");  scanf("%d",&no);    //判斷編號是否合法  if (!validateNum(no, 1, totalContactsCount)) {   return ;  }    //合法  printf("請重新輸入用戶名:/n");  scanf("%s",newName);  printf("請重新輸入電話號碼/n");  scanf("%s",newTel);    strcpy(contacts[no-1].name, newName);  strcpy(contacts[no-1].tel, newTel);    //寫入文件  writeFile(); }  /**  * 顯示所有聯系人  */ void listContact() {  printf("您選擇的是顯示所有聯系人,聯系人如下!/n");    if (totalContactsCount > 0) {   printf("序號/t姓名/t電話/n");   for (int i = 0 ; i < totalContactsCount; i++) {    printf("%d/t%s/t%s/n",i+1,contacts[i].name, contacts[i].tel);   }  } else {   printf("聯系人為空,請添加聯系人!/n");   return ;  } }  /**  * 查找聯系人  */ void searchContact() {  printf("您選擇的是查找聯系人,請按操作進行!/n");  char searchName[NAMELENGTH];  printf("請輸入要查找的聯系人姓名:/n");  scanf("%s",searchName);  for (int i = 0 ; i < totalContactsCount; i++) {   if (strcmp(searchName, contacts[i].name)==0) { //說明相同    printf("聯系人姓名為:%s,電話號碼為:%s/n",contacts[i].name,contacts[i].tel);    return ;   }   if (i == totalContactsCount-1) {    printf("此聯系人不存在!/n");   }  } }  /**  * 通訊錄的初始化  */ void initContacts() {  printf("通訊錄正在初始化!/n");  FILE *fp = fopen(filePath, "r");  if (fp!=NULL) { //讀取文件成功   //讀取聯系人的個數   fread(&totalContactsCount, sizeof(totalContactsCount), 1, fp);   //讀取每個聯系人   for (int i = 0; i < totalContactsCount; i++) {    //讀取聯系人數據,到聯系人數組中    fread(&contacts[i], sizeof(Person), 1, fp);   }  } else {   //讀取文件失敗   //創建文件   fp = fopen(filePath, "wb");   //寫入聯系人的個數   fwrite(&totalContactsCount, sizeof(totalContactsCount), 1, fp);      printf("通訊錄文件創建成功!/n");  }    //關閉文件指針  fclose(fp);  printf("通訊錄初始化成功!/n"); }  /**  * 判斷功能編號是否合法 1:合法 0:非法  */ int validateNum(int num, int min, int max) {  if (num < min || num > max) {   printf("輸入的功能編號不正確,請重新輸入!/n");   return 0;  }  return 1; }  /**  *將聯系人寫入文件  */ void writeFile() {  //以二進制文件打開文件  FILE *fp = fopen(filePath, "wb");    if (fp != NULL) {   //寫入聯系人個數   fwrite(&totalContactsCount, sizeof(totalContactsCount), 1, fp);   //寫入每個聯系人個數   for (int i = 0; i < totalContactsCount; i++) {    fwrite(&contacts[i], sizeof(Person), 1, fp);   }  }    fclose(fp);  printf("文件更新成功/n"); } 

MyFile.h文件:

// // MyFile.h // c語言通訊錄 // // Created by stevenchang on 9/6/15. // Copyright (c) 2015 cz. All rights reserved. //  #ifndef __c_______MyFile__ #define __c_______MyFile__  #include <stdio.h> #include <string.h>  #define N 100   //宏定義一個通訊錄的容量 #define NAMELENGTH 22 //宏定義一個名字的長度 #define TELLENGTH 12  //宏定義一個電話號碼的長度  //********************函數的聲明*********************// void addContact(); //添加聯系人 void deleteContact(); //刪除聯系人 void updateContact(); //更新聯系人 void listContact(); //顯示所有聯系人 void searchContact(); //查找聯系人 void initContacts();  //通訊錄的初始化 int validateNum(int num, int min, int max); //判斷功能編號是否合法 1:合法 0:非法 void writeFile(); //將聯系人寫入文件  typedef struct Person { //定義一個結構體  char name[NAMELENGTH];  //定義姓名數組  char tel[TELLENGTH];  //定義結構體數組 } Person;  //定義文件路徑 char *filePath = "telData.data"; int totalContactsCount = 0; Person contacts[N]; //定義Person結構體數組  #endif /* defined(__c_______MyFile__) */ 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩日本国产| 97视频在线看| 一本大道亚洲视频| 国产欧美一区二区白浆黑人| 日韩精品中文字| 97视频在线观看视频免费视频| 日韩一区二区三区国产| 亚洲电影成人av99爱色| 亚洲欧美激情一区| 欧美福利视频在线| 日韩精品中文字幕久久臀| 日韩一区二区欧美| 81精品国产乱码久久久久久| 色偷偷9999www| www高清在线视频日韩欧美| 欧美限制级电影在线观看| 九九热这里只有精品6| 国产精选久久久久久| 精品人伦一区二区三区蜜桃网站| 日韩人体视频一二区| 亚洲色图欧美制服丝袜另类第一页| 中文字幕不卡在线视频极品| 午夜精品一区二区三区在线视| 另类专区欧美制服同性| 久久久成人精品| 精品国产区一区二区三区在线观看| 久久久久成人网| 亚洲精品自拍偷拍| 欧美激情中文网| 亚洲va久久久噜噜噜久久天堂| 91高清免费在线观看| 成人福利在线观看| 国产精品成人一区二区三区吃奶| 欧美一级片一区| 伊人伊成久久人综合网小说| 综合av色偷偷网| 狠狠躁夜夜躁人人爽超碰91| 亚洲成人网久久久| 久久久久久12| 亚洲桃花岛网站| 浅井舞香一区二区| 欧美有码在线观看视频| 亚洲黄色免费三级| 久久影院在线观看| 日韩美女中文字幕| 国产精品观看在线亚洲人成网| 亚洲区在线播放| 久久精品国产2020观看福利| 欧美午夜宅男影院在线观看| 国产精品亚洲美女av网站| 久久久av电影| 国产日韩欧美夫妻视频在线观看| 成人美女av在线直播| 九九热这里只有精品6| 亚洲aaaaaa| 亚洲aa在线观看| 91国内免费在线视频| 国产欧美在线看| 欧美精品电影免费在线观看| 亚洲天天在线日亚洲洲精| 亚洲午夜未删减在线观看| 最近2019好看的中文字幕免费| 欧美亚洲成人xxx| 毛片精品免费在线观看| 青青在线视频一区二区三区| 91在线视频免费| 亚洲成人av在线| 国产日韩欧美视频| 国产欧美日韩精品在线观看| 91中文精品字幕在线视频| 色老头一区二区三区在线观看| 亚洲免费人成在线视频观看| 久久久亚洲精品视频| 国产极品jizzhd欧美| 国产欧美精品一区二区三区-老狼| 91精品国产91久久久| 亚洲国产精品小视频| 国产精品成人一区| 日韩一级黄色av| 国产精品久久久久久久一区探花| 亚洲第一中文字幕在线观看| 日韩在线观看成人| www.美女亚洲精品| 成人国产精品一区二区| 久久免费高清视频| 亚洲第一国产精品| 视频直播国产精品| 成人在线一区二区| 欧美大片欧美激情性色a∨久久| 97国产在线观看| 亚洲视频在线免费观看| 亚洲国产福利在线| 亚洲国产精品字幕| 78m国产成人精品视频| 精品久久久久久久久久久久久| 美女扒开尿口让男人操亚洲视频网站| 亚洲欧洲一区二区三区在线观看| 少妇高潮久久77777| 大荫蒂欧美视频另类xxxx| 日韩高清a**址| 日韩经典中文字幕| 日韩一区av在线| 久久久人成影片一区二区三区| 久久影院在线观看| 91在线视频导航| 久久久精品网站| 日韩精品在线看| 国产三级精品网站| 91久久精品一区| 欧美日韩在线看| 岛国av一区二区三区| 亚洲国产欧美在线成人app| 7777精品久久久久久| 成人网在线视频| 伊人久久大香线蕉av一区二区| 欧美成人亚洲成人日韩成人| 国产精品久久久久久影视| 5566成人精品视频免费| 日韩**中文字幕毛片| 亚洲性69xxxbbb| 91精品啪aⅴ在线观看国产| 精品国产乱码久久久久久虫虫漫画| 国产日韩精品综合网站| y97精品国产97久久久久久| 少妇av一区二区三区| 欧美日韩国产一区二区三区| 伊人伊成久久人综合网站| 亚洲色图35p| 青草青草久热精品视频在线网站| 成人av在线天堂| 成人激情在线播放| 91av在线播放| 亚洲视频在线观看视频| 国产日韩亚洲欧美| 九九精品在线视频| 国产精品久久91| 精品国产乱码久久久久久婷婷| 欧美日韩福利在线观看| 日韩亚洲成人av在线| 日韩中文字幕视频在线| 日韩在线视频线视频免费网站| 成人信息集中地欧美| 欧美大尺度在线观看| 2018中文字幕一区二区三区| 在线日韩中文字幕| 精品福利在线视频| 久久91精品国产91久久久| 欧美裸体xxxx极品少妇| 中文字幕日韩专区| 日韩一区二区久久久| 国产精品美女久久| 亚洲精品国产精品久久清纯直播| 亚洲无线码在线一区观看| 久久久久久91香蕉国产| 91精品中文在线| 日韩电影在线观看免费| 国产成人精品综合久久久| 亚洲jizzjizz日本少妇| 九九久久综合网站| 亚洲第一网中文字幕| 欧美大片免费观看| 尤物九九久久国产精品的特点| 国产精品亚发布| 中文字幕欧美精品在线|