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

医院英文网站建设广告设计在哪里学

医院英文网站建设,广告设计在哪里学,程序员工资多少钱一个月,公司网站怎么管理注意#xff1a;纯属玩笑#xff0c;博大家一乐#xff0c;切勿当真#x1f4d6;首先我们要知道一个渣男通讯录有哪些信息要包含哪些功能1.你的通讯录要装多少个女朋友你得规定吧#xff1b;2.每个女朋友的姓名#xff0c;年龄#xff0c;电话#xff0c;爱好这些要有吧…注意纯属玩笑博大家一乐切勿当真首先我们要知道一个渣男通讯录有哪些信息要包含哪些功能1.你的通讯录要装多少个女朋友你得规定吧2.每个女朋友的姓名年龄电话爱好这些要有吧3.这个通讯录也要有以下功能吧增加女朋友删除女朋友查找女朋友修改指定女朋友的信息显示女朋友们的信息排序女朋友们按年龄来排序或者按姓名来排序❓那我们怎样来实现这个渣男通讯录呢。首先我们得在屏幕上打印一个通讯录的菜单呀那我们写一个叫menu的函数函数的实现放在contact.c 这个文件中函数的声明放在contact.h 这里面。// 打印通讯录的菜单 void menu(void) {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); }菜单打印完了之后那菜单上面不是有一些选项吗。那我们要根据你所输入的选项来执行相应的功能呀这个时候我们想到了switch 语句。但是如果你用case1,case2.......这种方式也有弊端它不容易让我们想到case1 是什么功能所以要是有 case add 这种形式就好了我们就知道了add 是增加联系人的那个选项所以这个时候我们可以用枚举常量:enum来实现我们的目的。int main() {int input 0;do{menu();printf(请选择);scanf(%d, input);enum Option{EXIT,ADD,DEL,SEARCH,MODIFY,SHOW,SORT,};switch(input){case ADD:break;case DEL:break; case SEARCH:break;case MODIFY:break;case SHOW:break;case SORT:break;case EXIT:break;default:break;}} while (input);好了这个时候要思考我们该如何处理联系人的信息了我们之前举例了一个联系人包含了姓名年龄电话爱好这些信息。那我们最好用一个结构体来从存这些信息嘛所以我们可以在contact.h这个头文件中定义一个存联系人信息的结构体——PeoInfo#includestdio.h #define MAX 100 #define MAX_NAME 20 #define MAX_LOVE 20 #define MAX_TELE 12 #define MAX_ADDR 30// 打印通讯录的菜单 void menu(void); // 定义一个用来存储联系人信息的结构体——PeoInfotypedef struct PeoInfo {char name[MAX_NAME];int age;char love[MAX_LOVE];char tele[MAX_TELE];char addr[MAX_ADDR]; }PeoInfo; 为了让我们的通讯录可以存放100个女朋友的信息所以我们要定义一个结构体类型的数组—— PeoInfo data[100]; 但我们也要知道通讯录中实际上有多少个人吧所以我们可以用一个计数器来记录int sz 0;为了表示方便我们可以将PeoInfo data[100] 和 sz 整合到一起即再定义一个结构体 // 为了方便表示而封装的一个结构体 typedef struct Contact {PeoInfo data[MAX];// 存放联系人的信息int sz;// 记录通讯录中有效信息的个数 }Contact;通讯录的形式已经大致弄好了我们再来定义Contact类型的变量——con,这个时候就和你创造变量要初始化变量一样我们也要初始化这个Contact类型的变量con;我们可以写一个函数来初始化它函数的实现放在contact.c 这个文件中函数的声明放在contact.h 这里面。起个名字——InitContact// 初始化通讯录 void InitContact(Contact* pc) {pc-sz 0;memset(pc-data, 0, sizeof(pc-data));//用memset将数组的所有元素初始化为0}接下来是对具体通讯录功能的实现增加女朋友// 增加联系人 void AddContact(Contact* pc) {if (pc-sz MAX){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].love);printf(请输入电话);scanf(%d, pc-data[pc-sz].tele);printf(请输入地址);scanf(%s, pc-data[pc-sz].addr);pc-sz;//添加成功后人数要加上去printf(添加成功\n); }显示女朋友们的信息// 显示通讯录 void SHOWcontact(const Contact* pc) {int i 0;printf(%-10s %-5s %-5s %-5s %-30s\n, 姓名, 年龄, 性别, 电话, 地址);for (i 0; i pc-sz; i){printf(%-10s %-5d %-5s %-5s %-5s\n, pc-data[i].name, pc-data[i].age, pc-data[i].love, pc-data[i].tele, pc-data[i].addr);}}删除已经分手的女友//为了避免代码冗余我们定义一个找名字的函数 int findname(Contact* pc, char name[]) {int i 0;int pos 0;// 用一个循环来找你想要找的那个名字for (i 0; i pc-sz; i){if (0 strcmp(pc-data[i].name, name)){return i;}}//有可能根本没有你要找的名字所以我们判断一下if (i pc-sz){return -1;} }// 删除联系人 void DELEcontact(Contact* pc) {char name[MAX_NAME] {0};if (pc-sz 0){printf(通讯录为空无法删除\n);return;}//找到你要删除人的位置——就是他的下标printf(输入删除人的名字);scanf(%s, name);int pos findname(pc, name);if (-1 pos){printf(要删除的人不存在\n);return;}// 删除 - 删除pos位置上的数据int i 0;for (i pos; i pc-sz - 1; i){pc-data[i] pc-data[i 1];}pc-sz--;printf(删除成功了\n);} 查找明天即将约会的女朋友的信息//查找联系人 void sercontact(const Contact* pc) {char name[MAX_NAME] { 0 };printf(请输入要查找人的名字);scanf(%s, name);//查找int pos findname(pc, name);if (pos -1){printf(要查找的人不存在\n);return;}//打印- - 这次打印的是一个人的信息就不要用循环了printf(%-10s %-5s %-5s %-5s %-30s\n, 姓名, 年龄, 性别, 电话, 地址);printf(%-10s %-5d %-5s %-5s %-5\n, pc-data[pos].name, pc-data[pos].age, pc-data[pos].love, pc-data[pos].tele, pc-data[pos].addr); } 修改相关女朋友的信息// 修改联系人的信息 void modifycontact(Contact* pc) {char name[MAX_NAME] { 0 };printf(请输入要修改人的名字);scanf(%s, name);//查找int pos findname(pc, name);if (pos -1){printf(你要修改的人不存在\n);return;}//修改printf(请输入名字);scanf(%s, pc-data[pos].name);printf(请输入年龄:);scanf(%d, pc-data[pos].age);printf(请输入性别);scanf(%s, pc-data[pos].love);printf(请输入电话);scanf(%s, pc-data[pos].tele);printf(请输入地址);scanf(%s, pc-data[pos].addr);pc-sz;printf(修改成功\n); } 将女朋友们排序 //将联系人按名字排序 int cmp_byname(const void* e1, const void* e2) {return strcmp(((PeoInfo*)e1)-name, ((PeoInfo*)e2)-name); } void Sortcontact(Contact* pc) {qsort(pc-data, pc-sz, sizeof(PeoInfo), cmp_byname); }代码汇总test.c#define _CRT_SECURE_NO_WARNINGS 1#includecontact.hint main() {int input 0;Contact con;// 通讯录 int sz 0; // 用sz来记录我们通讯录中到底有多少个人// 初始化通讯录InitContact(con); do{menu();printf(请选择);scanf(%d, input);enum Option{EXIT,ADD,DEL,SEARCH,MODIFY,SHOW,SORT,};switch(input){case ADD:AddContact(con);break;case DEL:DELEcontact(con);break; case SEARCH:sercontact(con);break;case MODIFY:modifycontact(con);break;case SHOW:SHOWcontact(con);break;case SORT:Sortcontact(con);break;case EXIT:printf(退出通讯录\n);break;default:printf(选择错误\n);break;}} while (input);return 0; } contact.c#define _CRT_SECURE_NO_WARNINGS 1#includecontact.h// 打印通讯录的菜单 void menu(void) {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); }// 初始化通讯录 void InitContact(Contact* pc) {pc-sz 0;memset(pc-data, 0, sizeof(pc-data));//用memset将数组的所有元素初始化为0}// 增加联系人 void AddContact(Contact* pc) {if (pc-sz MAX){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].love);printf(请输入电话);scanf(%d, pc-data[pc-sz].tele);printf(请输入地址);scanf(%s, pc-data[pc-sz].addr);pc-sz;//添加成功后人数要加上去printf(添加成功\n); }// 显示联系人的信息 void SHOWcontact(const Contact* pc) {int i 0;// 打印一行标题printf(%-10s %-5s %-5s %-5s %-30s\n, 姓名, 年龄, 爱好, 电话, 地址);// 打印具体信息for (i 0; i pc-sz; i){printf(%-10s %-5d %-5s %-5s %-5s\n, pc-data[i].name, pc-data[i].age, pc-data[i].love, pc-data[i].tele, pc-data[i].addr);}}//为了避免代码冗余我们定义一个找名字的函数 // static 可以保护findname这个函数这样的话findname就只能在这个.c文件中使用 static int findname(Contact* pc, char name[]) {int i 0;int pos 0;// 用一个循环来找你想要找的那个名字for (i 0; i pc-sz; i){if (0 strcmp(pc-data[i].name, name)){return i;}}//有可能根本没有你要找的名字所以我们判断一下if (i pc-sz){return -1;} }// 删除联系人 void DELEcontact(Contact* pc) {char name[MAX_NAME] {0};if (pc-sz 0){printf(通讯录为空无法删除\n);return;}//找到你要删除人的位置——就是他的下标printf(输入删除人的名字);scanf(%s, name);int pos findname(pc, name);if (-1 pos){printf(要删除的人不存在\n);return;}// 删除 - 删除pos位置上的数据int i 0;for (i pos; i pc-sz - 1; i){pc-data[i] pc-data[i 1];}pc-sz--;printf(删除成功了\n);}//查找指定联系人 void sercontact(const Contact* pc) {char name[MAX_NAME] { 0 };printf(请输入要查找人的名字);scanf(%s, name);//查找int pos findname(pc, name);if (pos -1){printf(要查找的人不存在\n);return;}//打印- - 这次打印的是一个人的信息就不要用循环了printf(%-10s %-5s %-5s %-5s %-30s\n, 姓名, 年龄, 性别, 电话, 地址);printf(%-10s %-5d %-5s %-5s %-5\n, pc-data[pos].name, pc-data[pos].age, pc-data[pos].love, pc-data[pos].tele, pc-data[pos].addr); }// 修改联系人的信息 void modifycontact(Contact* pc) {char name[MAX_NAME] { 0 };printf(请输入要修改人的名字);scanf(%s, name);//查找int pos findname(pc, name);if (pos -1){printf(你要修改的人不存在\n);return;}//修改printf(请输入名字);scanf(%s, pc-data[pos].name);printf(请输入年龄:);scanf(%d, pc-data[pos].age);printf(请输入性别);scanf(%s, pc-data[pos].love);printf(请输入电话);scanf(%s, pc-data[pos].tele);printf(请输入地址);scanf(%s, pc-data[pos].addr);pc-sz;printf(修改成功\n); }//将联系人按名字排序 int cmp_byname(const void* e1, const void* e2) {return strcmp(((PeoInfo*)e1)-name, ((PeoInfo*)e2)-name); } void Sortcontact(Contact* pc) {qsort(pc-data, pc-sz, sizeof(PeoInfo), cmp_byname); } contact.h#pragma once#includestdio.h #includestring.h #includestdlib.h #define MAX 100 #define MAX_NAME 20 #define MAX_LOVE 20 #define MAX_TELE 12 #define MAX_ADDR 30// 打印通讯录的菜单 void menu(void);// 定义一个用来存储联系人信息的结构体——PeoInfo typedef struct PeoInfo {char name[MAX_NAME];int age;char love[MAX_LOVE];char tele[MAX_TELE];char addr[MAX_ADDR]; }PeoInfo;// 为了方便表示而封装的一个结构体 typedef struct Contact {PeoInfo data[MAX];// 存放联系人的信息int sz;// 记录通讯录中有效信息的个数 }Contact;// 初始化通讯录 void InitContact(Contact* pc);// 增加联系人 void AddContact(Contact* pc);// 显示通讯录 void SHOWcontact(const Contact* pc);// 删除联系人 void DELEcontact(Contact* pc);//查找联系人 void sercontact(const Contact* pc);// 修改联系人的信息 void modifycontact(Contact* pc);//将联系人按名字排序 void Sortcontact(Contact* pc);
http://www.dnsts.com.cn/news/48407.html

相关文章:

  • 做网站时随便弄上去的文章怎么删掉网页制作企业网站作业
  • 三亚h5网站定制开发公司网站开发 mvc
  • 沈阳营销型网站开发网站建设投标书
  • 无锡市政建设集团有限公司网站wordpress火车头
  • 中国电信网站备案 锁定中国协会网站建设方案
  • 网络在线培训网站建设方案做防水网站
  • seo词条专业网站优化关键词
  • 建站宝盒手机版下载猎头公司猎头
  • 网站 提交入口优酷 嵌入 wordpress
  • 娱乐城网站模板企业信息公示管理系统广东
  • 深圳海外网站建设潍坊推广平台
  • 网站下载app连接怎么做的门户网站维护
  • 购物网站系统建设方案网站建设数据安全分析
  • 音乐制作网站wordpress ftp 设置
  • 有什么网站可以接设计单做拓普建站推广
  • 网页设计类网站网站内部链接怎麽做
  • 网站模板为什么不好百度收录万网空间的网站需要多久
  • 河南零距离文化传播 网站建设wordpress多语言版本
  • 湖南企业建站系统信息如何给网站配色
  • 中国风网站配色方案商城手机网站设计
  • 网站设计制作教程如何保存个人网站
  • 济南网站建设山东聚搜网咨询网站备案图标怎么添加
  • 做网站虚拟主机哪里有在线支付网站建设
  • 推荐郑州网站建设公司协会网站建站
  • 江苏分销网站建设深圳网站备案查询
  • 上海网站分站建设wordpress微信登录设置
  • 国外网站做家具哪个好发展历程 网站建设
  • 5在线做网站wordpress怎么用ftp上传插件
  • 网站的设计与制作论文题目做网页初学者教程
  • 网站建设免费空间注册导航做网站还是做游戏