当前位置: 首页 > news >正文

南京网站建设价格长春市建设集团

南京网站建设价格,长春市建设集团,免费自取ppt模板,织梦音乐网站#x1f680;write in front#x1f680; #x1f4dd;个人主页#xff1a;认真写博客的夏目浅石. #x1f381;欢迎各位→点赞#x1f44d; 收藏⭐️ 留言#x1f4dd; #x1f4e3;系列专栏#xff1a;夏目的C语言宝藏 #x1f4ac;总结#xff1a;希望你看完之… write in front 个人主页认真写博客的夏目浅石. 欢迎各位→点赞 收藏⭐️ 留言 系列专栏夏目的C语言宝藏 总结希望你看完之后能对你有所帮助不足请指正共同学习交流 ✉️如果无聊的话就来逛逛我的博客栈吧stack-frame.cn 文章目录前言一、通讯录前期准备1.1菜单函数的实现1.2菜单的功能1.3关于联系人结构体的创建1.4全局变量的定义二、通讯录的功能实现2.1初始化通讯录2.2添加联系人2.3联系人2.4删除联系人2.5查找联系人2.6修改联系人2.7对通讯录中联系人的信息进行排序三、实现通讯录的所有文件展现3.1通讯录函数绘总3.2通讯录函数的实现3.3通讯录测试代码总结前言 本篇博客夏目浅石带着大家学习大一期末大作业—通讯录的实现说真的完成通讯录之前夏目已经完成了三子棋游戏扫雷猜数字游戏这样类似的大作业类型的任务所以这里会更加熟练的写出来我完成通讯录的逻辑以及C语言代码实现过程。 一、通讯录前期准备 1.1菜单函数的实现 1.先实现菜单函数能够实现与用户的交互。 代码如下 void menu() {printf(*****************************************\n);printf(********* 1.add 2. del ***********\n);printf(********* 3.search 4. modify ***********\n);printf(********* 5.show 6. sort ***********\n);printf(********* 0.exit ***********\n);printf(*****************************************\n); }1.2菜单的功能 1.用switch选择语句和do——while循环语句来实现各自的功能 代码如下 int main() {int input;//创建通讯录 Contact con;//初始化通讯录InitContact(con);do{menu();printf(请选择:);scanf(%d, input);switch(input){case 1:AddContact(con);break;case 2:DelContact(con);break;case 3:SearchContact(con);break;case 4:ModifyContact(con);break;case 5:ShowContact(con);break;case 6:SortContact(con);case 0:printf(退出通讯录\n);break;default:printf(选择错误\n);break;}} while (input);return 0; }1.3关于联系人结构体的创建 结构体的创建 第一个结构体peoInfo是是用来存放人的信息第二个结构体Contact是通讯录的信息data是以第一个结构体为类型的数组sz用来记录当前通讯录中实际的人数。 代码如下 //人的信息 typedef struct peoInfo {char name[NAME_MAX];int age;char sex[SEX_MAX];char addr[ADDR_MAX];char tele[TELE_MAX]; }peoInfo;typedef struct Contact {peoInfo data[MAX];int sz; }Contact; 1.4全局变量的定义 利用宏定义处理 代码如下 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #includestring.h#define MAX 100 #define NAME_MAX 20 #define SEX_MAX 5 #define ADDR_MAX 30 #define TELE_MAX 12二、通讯录的功能实现 2.1初始化通讯录 代码如下 //初始化 void InitContact(Contact* pc) {pc-sz0;memset(pc-data,0,sizeof(pc-data)); }2.2添加联系人 代码如下 //增加联系人 void AddContact(Contact* pc) {if(pc-szMAX){printf(已满\n);return;}printf(请输入名字:);scanf(%s,pc-data[pc-sz].name);printf(请输入年龄:);scanf(%d,(pc-data[pc-sz].age));printf(请输入性别:);scanf(%s,pc-data[pc-sz].sex);printf(请输入地址:);scanf(%s,pc-data[pc-sz].addr);printf(请输入电话:);scanf(%s,pc-data[pc-sz].tele);sz; }2.3联系人 代码如下 //显示联系人 void ShowContact(const Contact* pc) {int i0;printf(%-20s\t%4s\t%-5s\t%-20s\t%-12s\n,名字,年龄,性别,地址,电话);for(i0;ipc-sz;i){printf(%-20s\t%4d\t%-5s\t%-20s\t%-12s\n,pc-data[i].name,pc-data[i].age,pc-data[i].sex,pc-data[i].addr,pc-data[i].tele);} }2.4删除联系人 先查找再删除 代码如下 int FindByName(Contact* pc,char names[]) {for(int i0;ipc-sz;i){if(strcmp(pc-data[i].name,names)0){return i;} }return -1; }//删除联系人 void DelContact(Contact* pc) {char names[NAME_MAX]{0};if(pc-sz0) {printf(通讯录为空无法删除\n);return;}//删除//找到要删除的人printf(请输入要删除的人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要删除的人不存在\n);return; }//删除int j0;for(jret;jpc-sz-1;j){pc-data[j]pc-data[j1];}pc-sz--;printf(删除成功\n); }2.5查找联系人 代码如下 //查找指定联系人 SearchContact(const Contact* pc) {char names[NAME_MAX];printf(请输入要查找人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要查找的人不存在\n);return; }//打印信息printf(%-20s\t%4s\t%-5s\t%-20s\t%-12s\n,名字,年龄,性别,地址,电话);for(i0;ipc-sz;i){printf(%-20s\t%4d\t%-5s\t%-20s\t%-12s\n,pc-data[ret].name,pc-data[ret].age,pc-data[ret].sex,pc-data[ret].addr,pc-data[ret].tele);} }2.6修改联系人 代码如下 //修改指定联系人 void ModifyContact(Contact* pc) {//要修改就要先查找到char names[NAME_MAX];printf(请输入要查找人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要查找的人不存在\n);return; }//修改从新录入一遍printf(请输入名字:);scanf(%s,pc-data[ret].name);printf(请输入年龄:);scanf(%d,(pc-data[ret].age));printf(请输入性别:);scanf(%s,pc-data[ret].sex);printf(请输入地址:);scanf(%s,pc-data[ret].addr);printf(请输入电话:);scanf(%s,pc-data[ret].tele);printf(修改完成\n);}2.7对通讯录中联系人的信息进行排序 代码如下 void SortContact(Contact* pc) {if (pc-count 0){printf(通讯录中没有联系人);}else{ for (int i 0; i pc-count - 1; i){for (int j 0; j pc-count-i-1; j){if ((strcmp(pc-data[j].name, pc-data[j 1].name)) 0){PeoInfo tmp pc-data[j];pc-data[j] pc-data[j1];pc-data[j 1] tmp;}}}printf(排序成功\n);} } 三、实现通讯录的所有文件展现 3.1通讯录函数绘总 #define MAX 100 #define NAME_MAX 20 #define SEX_MAX 5 #define ADDR_MAX 30 #define TELE_MAX 12 //人的信息 typedef struct peoInfo {char name[20];int age;char sex[5];char addr[30];char tele[12]; }peoInfo;typedef struct Contact {peoInfo data[100];int sz; }Contact;//初始化 void InitContact(Contact* pc);//增加联系人 void AddContact(Contact* pc);//显示联系人 void ShowContact(const Contact* pc);//删除联系人 void DelContact(const Contact* pc);//查找指定联系人 void Se0archContact(Contact* pc);//修改指定联系人 void ModifyContact(Contact* pc);//排序联系人 void SortContact(Contact* pc); 3.2通讯录函数的实现 //函数实现 #define MAX 100 #define MAX 100 #define NAME_MAX 20 #define SEX_MAX 5 #define ADDR_MAX 30 #define TELE_MAX 12 //初始化 void InitContact(Contact* pc) {pc-sz0;memset(pc-data,0,sizeof(pc-data)); }//增加联系人 void AddContact(Contact* pc) {if(pc-szMAX){printf(已满\n);return;}printf(请输入名字:);scanf(%s,pc-data[pc-sz].name);printf(请输入年龄:);scanf(%d,(pc-data[pc-sz].age));printf(请输入性别:);scanf(%s,pc-data[pc-sz].sex);printf(请输入地址:);scanf(%s,pc-data[pc-sz].addr);printf(请输入电话:);scanf(%s,pc-data[pc-sz].tele);sz; }//显示联系人 void ShowContact(const Contact* pc) {int i0;printf(%-20s\t%4s\t%-5s\t%-20s\t%-12s\n,名字,年龄,性别,地址,电话);for(i0;ipc-sz;i){printf(%-20s\t%4d\t%-5s\t%-20s\t%-12s\n,pc-data[i].name,pc-data[i].age,pc-data[i].sex,pc-data[i].addr,pc-data[i].tele);} }int FindByName(Contact* pc,char names[]) {for(int i0;ipc-sz;i){if(strcmp(pc-data[i].name,names)0){return i;} }return -1; }//删除联系人 void DelContact(Contact* pc) {char names[NAME_MAX]{0};if(pc-sz0) {printf(通讯录为空无法删除\n);return;}//删除//找到要删除的人printf(请输入要删除的人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要删除的人不存在\n);return; }//删除int j0;for(jret;jpc-sz-1;j){pc-data[j]pc-data[j1];}pc-sz--;printf(删除成功\n); }//查找指定联系人 SearchContact(const Contact* pc) {char names[NAME_MAX];printf(请输入要查找人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要查找的人不存在\n);return; }//打印信息printf(%-20s\t%4s\t%-5s\t%-20s\t%-12s\n,名字,年龄,性别,地址,电话);for(i0;ipc-sz;i){printf(%-20s\t%4d\t%-5s\t%-20s\t%-12s\n,pc-data[ret].name,pc-data[ret].age,pc-data[ret].sex,pc-data[ret].addr,pc-data[ret].tele);} }//修改指定联系人 void ModifyContact(Contact* pc) {//要修改就要先查找到char names[NAME_MAX];printf(请输入要查找人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要查找的人不存在\n);return; }//修改从新录入一遍printf(请输入名字:);scanf(%s,pc-data[ret].name);printf(请输入年龄:);scanf(%d,(pc-data[ret].age));printf(请输入性别:);scanf(%s,pc-data[ret].sex);printf(请输入地址:);scanf(%s,pc-data[ret].addr);printf(请输入电话:);scanf(%s,pc-data[ret].tele);printf(修改完成\n);}void SortContact(Contact* pc) {if (pc-count 0){printf(通讯录中没有联系人);}else{ for (int i 0; i pc-count - 1; i){for (int j 0; j pc-count-i-1; j){if ((strcmp(pc-data[j].name, pc-data[j 1].name)) 0){PeoInfo tmp pc-data[j];pc-data[j] pc-data[j1];pc-data[j 1] tmp;}}}printf(排序成功\n);} } 3.3通讯录测试代码 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #includestring.h#define MAX 100 #define NAME_MAX 20 #define SEX_MAX 5 #define ADDR_MAX 30 #define TELE_MAX 12//人的信息 typedef struct peoInfo {char name[NAME_MAX];int age;char sex[SEX_MAX];char addr[ADDR_MAX];char tele[TELE_MAX]; }peoInfo;typedef struct Contact {peoInfo data[MAX];int sz; }Contact;//初始化通讯录 void InitContact(Contact* pc) {pc-sz0;memset(pc-data,0,sizeof(pc-data)); }//增加联系人 void AddContact(Contact* pc) {if(pc-szMAX){printf(已满\n);return;}printf(请输入名字:);scanf(%s,pc-data[pc-sz].name);printf(请输入年龄:);scanf(%d,(pc-data[pc-sz].age));printf(请输入性别:);scanf(%s,pc-data[pc-sz].sex);printf(请输入地址:);scanf(%s,pc-data[pc-sz].addr);printf(请输入电话:);scanf(%s,pc-data[pc-sz].tele);pc-sz; }//显示联系人 void ShowContact(const Contact* pc) {int i0;printf(%-20s\t%4s\t%-5s\t%-20s\t%-12s\n,名字,年龄,性别,地址,电话);for(i0;ipc-sz;i){printf(%-20s\t%4d\t%-5s\t%-20s\t%-12s\n,pc-data[i].name,pc-data[i].age,pc-data[i].sex,pc-data[i].addr,pc-data[i].tele);} }删除联系人 //void DelContact(Contact* pc) //{ // char names[NAME_MAX]{0}; // // if(pc-sz0) // { // printf(通讯录为空无法删除\n); // return; // } // //删除 // //找到要删除的人 // printf(请输入要删除的人的名字:); // scanf(%s,names); // int del0; // for(int i0;ipc-sz;i) // { // if(strcmp(pc-data[i].name,names)0) // { // deli; // break; // } // } // //删除 // int j0; // for(jdel;jpc-sz-1;j) // { // pc-data[j]pc-data[j1]; // } // pc-sz--; // printf(删除成功\n); //}int FindByName(Contact* pc,char names[]) {for(int i0;ipc-sz;i){if(strcmp(pc-data[i].name,names)0){return i;} }return -1; }//删除联系人 void DelContact(Contact* pc) {char names[NAME_MAX]{0};if(pc-sz0) {printf(通讯录为空无法删除\n);return;}//删除//找到要删除的人printf(请输入要删除的人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要删除的人不存在\n);return; }//删除int j0;for(jret;jpc-sz-1;j){pc-data[j]pc-data[j1];}pc-sz--;printf(删除成功\n); }//查找指定联系人 void SearchContact(Contact* pc) {char names[NAME_MAX];printf(请输入要查找人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要查找的人不存在\n);return; }//打印信息printf(%-20s\t%4s\t%-5s\t%-20s\t%-12s\n,名字,年龄,性别,地址,电话);for(int i0;ipc-sz;i){printf(%-20s\t%4d\t%-5s\t%-20s\t%-12s\n,pc-data[ret].name,pc-data[ret].age,pc-data[ret].sex,pc-data[ret].addr,pc-data[ret].tele);} }//修改指定联系人 void ModifyContact(Contact* pc) {//要修改就要先查找到char names[NAME_MAX];printf(请输入要查找人的名字:);scanf(%s,names);int ret FindByName(pc,names);if(-1ret){printf(要查找的人不存在\n);return; }//修改从新录入一遍printf(请输入名字:);scanf(%s,pc-data[ret].name);printf(请输入年龄:);scanf(%d,(pc-data[ret].age));printf(请输入性别:);scanf(%s,pc-data[ret].sex);printf(请输入地址:);scanf(%s,pc-data[ret].addr);printf(请输入电话:);scanf(%s,pc-data[ret].tele);printf(修改完成\n); }void SortContact(Contact* pc) {if (pc-sz 0){printf(通讯录中没有联系人);}else{ for (int i 0; i pc-sz - 1; i){for (int j 0; j pc-sz-i-1; j){if ((strcmp(pc-data[j].name, pc-data[j 1].name)) 0){peoInfo tmp pc-data[j];pc-data[j] pc-data[j1];pc-data[j 1] tmp;}}}printf(排序成功\n);} }void menu() {printf(*****************************************\n);printf(********* 1.add 2. del ***********\n);printf(********* 3.search 4. modify ***********\n);printf(********* 5.show 6. sort ***********\n);printf(********* 0.exit ***********\n);printf(*****************************************\n); }int main() {int input;//创建通讯录 Contact con;//初始化通讯录InitContact(con);do{menu();printf(请选择:);scanf(%d, input);switch(input){case 1:AddContact(con);break;case 2:DelContact(con);break;case 3:SearchContact(con);break;case 4:ModifyContact(con);break;case 5:ShowContact(con);break;case 6:SortContact(con);case 0:printf(退出通讯录\n);break;default:printf(选择错误\n);break;}} while (input);return 0; }总结 我是夏目浅石希望和你一起学习进步刷题无数希望各位大佬能一键三连支持一下博主hhhh~我们下期见喽 如果无聊的话就来逛逛我的博客栈吧stack-frame.cn ✨原创不易还希望各位大佬支持一下\textcolor{blue}{原创不易还希望各位大佬支持一下}原创不易还希望各位大佬支持一下 点赞你的认可是我创作的动力\textcolor{9c81c1}{点赞你的认可是我创作的动力}点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向\textcolor{ed7976}{收藏你的青睐是我努力的方向}收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富\textcolor{98c091}{评论你的意见是我进步的财富}评论你的意见是我进步的财富
http://www.hkea.cn/news/14296805/

相关文章:

  • 本网站仅支持ie浏览器六安城市网官网
  • wordpress 建站教程 下载大连公司
  • 石家庄晋州网站建设阿里云能做网站么
  • 如何查询网站备案号网站开发人员趋势
  • 群晖可以做网站吗招商网站建设全包
  • 南京手机网站制作公司做游戏音频下载网站
  • 专门做各种产品测评的网站asp网站源码安装流程
  • 合肥网站推广优化公司个人网站logo
  • 视频网站直播怎么做的企业手机网站建设信息
  • 佛山市研发网站建设哪家好网站开发时自适应
  • 下列关于网站开发中网页上传和武夷山网站定制
  • 无锡网站制作公司哪家好廊坊seo整站优化软件
  • 网站建设售后回访话术东莞市广建建设工程有限公司
  • 网站建设年度报告注册google账号
  • 住房和城市建设厅网站2016企业网站建设方案
  • 河南专业网站建设公司排名中小企业建站是什么
  • 临海钢结构设计网站wordpress安装不了主题
  • 做网站智能工具中国建设银行网址是什么
  • 烟台网站建设4038gzs培训教育机构
  • 自动注册wordpress账号软件google企业网站seo
  • 苏州知名高端网站建设企业大庆今天最新公告
  • 河北省城乡和建设厅网站首页阀门公司网站建设
  • 阿瓦提网站建设项目投资
  • 织梦做的网站有哪些小程序制作软件下载
  • 免费网站建设福州工作室网站建设的意义
  • wordpress建站腾讯云现在pc网站的标准一般是做多大
  • 网站开速度 流失网站开发之前前后端不分离
  • 可以做系统同步时间的网站制作商城公司
  • 基础型网站价格网站设计中怎么做二级页面
  • 企业做网站平台的好处设计师个人主页