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

怎么做网站申请广告自媒体害了多少人

怎么做网站申请广告,自媒体害了多少人,wordpress左边栏,前端角度实现网站首页加载慢优化这份代码#xff0c;是我从网上找的。目前是能运行。我正在读。有些不懂的地方#xff0c;等下再记录下来。 有些地方的命名#xff0c;还需要重新写一下。 比如: PersonInfo* info address_book-all_address[address_book-size]; 应该改为#xff1a; Perso…这份代码是我从网上找的。目前是能运行。我正在读。有些不懂的地方等下再记录下来。 有些地方的命名还需要重新写一下。 比如: PersonInfo* info address_book-all_address[address_book-size]; 应该改为 PersonInfo* info (address_book-all_address[address_book-size]); 就是加上一个括号。更清晰一些。 效果图: #includestdio.h #includestring.h#define Max_SIZE 50 //定义通讯录的大小typedef struct PersonInfo {char name[100];char phone[100]; }PersonInfo;typedef struct AddressBook {PersonInfo all_address[Max_SIZE];int size; }AddressBook; //size 的含义是 //数组 all_address 下标范围在 [0,size) 内的元素是有意义的 // [size, 200) 是我们没有用到的//初始化 void init(AddressBook* address_book) {address_book-size 0;//尽量少用 magic number(不明含义的数字)for (int i 0; i Max_SIZE; i) {strcpy(address_book-all_address-name, );strcpy(address_book-all_address-phone, );}}int Menu(void) {printf(\n);printf(*** 0.退出 ***\n);printf(*** 1.新增联系人 ***\n);printf(*** 2.删除联系人 ***\n);printf(*** 3.查找联系人 ***\n);printf(*** 4.修改联系人 ***\n);printf(*** 5.打印联系人 ***\n);printf(*** 6.清除联系人 ***\n);printf(*** 7.排序联系人 ***\n);printf(\n);printf(请输入你的选择);int choice;scanf(%d, choice);return choice; }void AddPersonInfo(AddressBook* address_book) {printf(新增联系人\n);if (address_book-size Max_SIZE) {printf(通讯录已满请先清除\n);return;//虽然函数类型是 void 但是也是可以用 return 滴}PersonInfo* info address_book-all_address[address_book-size];printf(请输入联系人姓名);scanf(%s, info-name);printf(请输入联系人电话);scanf(%s, info-phone);address_book-size; }void DelPersonInfo(AddressBook* address_book) {//删除的方法很多可以根据姓名电话序号等等来删除//这里我们就用我个人比较常用的 搜索名字的删除方法char search_name[100] { 0 };printf(删除联系人\n);printf(请输入联系人姓名);scanf(%s, search_name);int name_exist FindName(address_book, search_name);//这里注意 FindName 返回值设定要被删除的元素下标可能是 0这种情况下会返回 0 if (name_exist -1) {printf(该联系人不存在\n);return;}//删除了相同姓名的第一个后继续寻找改名字如果找到了重复上面的操作如果没找到退出循环//相同的姓名的情况比较复杂在修改查找排序等等场景都会带来麻烦//而且平时你的通讯录中难道会将两个相同姓名的人的备注写成一样的吗//所以我仅仅在删除功能中实现一种针对相同姓名的情况的设计思路后面的其他功能默认没有重复姓名的情况。while (name_exist ! -1) {//将 all_address 数组的最后一个元素赋值给要删除的元素完成删除//结构体类型是可以直接赋值的address_book-all_address[name_exist] address_book-all_address[address_book-size - 1];address_book-size--;name_exist FindName(address_book, search_name);}printf(删除成功\n);}int FindName(AddressBook* address_book, char search_name[100]) {for (int i 0; i address_book-size; i) {//找到返回数组下标if (strcmp(address_book-all_address-name, search_name) 0) {return i;}}//没有找到返回 -1return -1; }void FindPersonInfo(AddressBook* address_book) {char search_name[100] { 0 };//搜索人的方式也很多我们这里用搜索名字的方法printf(更新联系人\n);printf(请输入人名);scanf(%s, search_name);for (int i 0; i address_book-size; i) {PersonInfo* info address_book-all_address[i];// 创建一个 PersonInfo 类型的变量简化程序不然下面的姓名访问就太长了if (strcmp(info-name, search_name) 0) {printf([%d] %s %s\n, i, info-name, info-phone);}}}void ModifyPersonInfo(AddressBook* address_book) {char search_name[100] { 0 };int isjump 1;printf(删除联系人\n);printf(请输入联系人姓名);scanf(%s, search_name);int name_exist FindName(address_book, search_name);if (name_exist -1) {printf(该联系人不存在\n);return;}//优化以下用户的体验printf(请输入新的姓名输入 0 跳过);scanf(%d, isjump);if (isjump) {scanf(%s, address_book-all_address[name_exist].name);}printf(请输入新的电话输入 0 跳过);scanf(%d, isjump);if (isjump) {scanf(%s, address_book-all_address[name_exist].phone);}printf(更新成功\n);}void PrintPersonInfo(AddressBook* address_book) {PersonInfo* info;if (address_book-size 0) {printf(当前没有联系人\n);return;}printf(所有联系人信息如下\n);for (int i 0; i address_book-size; i) {info address_book-all_address[i];printf([%2d]%4s %s\n, i, info-name, info-phone);} }void ClearPersonInfo(AddressBook* address_book) {//清除所有信息是一种 危险的行为我们最好让用户确认一次//相比你应该在自己的手机上回复过出厂设置系统应该会让你确认不止一次int is_continue 0;printf(清除所有联系人你确定吗输入 0 继续: );scanf(%d, is_continue);if(is_continue 0) {//将 size 置为 0 即可不过你也可以将数组的每个元素都进行重置address_book-size 0;}printf(清除完成\n); }void SortPersonInfo(AddressBook* address_book) {printf(排序通讯录\n);for (int i 0; i address_book-size - 1; i) {for (int j 0; j address_book-size - 1 - i; j) {PersonInfo* info address_book-all_address[j];PersonInfo* info_next address_book-all_address[j 1];//简单的用 strcmp 进行排序不过排序的行为感觉是“未定义”的//看着有规律但再多试试会发现很多情况并没有规律。//也还有很多可以排血的函数。比如strcoll,wcsscoll,wcscmp 这些只要你能弄懂我想你也可以用。//或者有其他更好的实现办法但这并不是我们在这里的重点。if (strcmp(info-name, info_next) 0) {PersonInfo tmp;tmp *info;*info *info_next;*info_next tmp;}}}printf(排序成功\n); }int main(int argc, char* argv[]) {AddressBook address_book;//声明一个函数指针类型typedef void (*Func)(AddressBook*);Func func_table[] {NULL,AddPersonInfo,DelPersonInfo,FindPersonInfo,ModifyPersonInfo,PrintPersonInfo,ClearPersonInfo,SortPersonInfo,};//或者你也可以这么做//声明一个函数类型//typedef void (Func)(AddressBook*);//我们用的是指针数组数组类型必须是指针类型所以应该加上 * //Func* func_table[] {//NULL,//AddPersonInfo,//DelPersonInfo,//FindPersonInfo,//ModifyPersonInfo,//PrintPersonInfo,//ClearPersonInfo,//SortPersonInfo,//}; init(address_book);while (1) {int choice Menu();if (choice 0 || choice 7) {printf(输入错误\n);continue;}if (choice 0) {printf(再见\n);break;}func_table[choice](address_book);}return 0; }
http://www.dnsts.com.cn/news/43398.html

相关文章:

  • wap网站前台平面设计包括什么
  • 青岛网站建设多少钱163免费邮箱注册
  • 南昌建设医院网站网站备案是空间备案还是域名备案
  • 公司网站百度小程序开发wordpress 数据库类
  • php网站后台密码忘记如何优化标题关键词
  • dede本地搭建好网站后台密码和用户名是什么最专业企业营销型网站建设
  • 网站推广优化c重庆wordpress微信机器人高级版 免费
  • 可以做免费的网站吗seo排名推广
  • 莆田网站建设电话永久免费仓库出入库管理软件
  • 百度网盘资源搜索引擎入口做网站优化哪家好
  • 南京建设银行公积金查询网站淘宝上做网站权重
  • 想找可以在家做的手工活去什么网站长春网站排名公司
  • 家居企业网站建设资讯wordpress 语言文件夹
  • 网站模版超市推广方法策略与经验总结
  • 免费建设网站设计页面小程序电商平台需要什么资质
  • co域名 大网站广安网站开发
  • 德芙巧克力网站开发方案珠海seo推广
  • h5网站网站建设网站域名怎么设置
  • 在什么网站可以免费赣州人才网官网登录
  • 做任务佣金的网站山东建设厅证件查询网址
  • 网站内容好如何做推广呢
  • 视频网站怎么做统计定制网站建设功能报价表模板
  • 包头住房和城乡建设厅网站校园加盟网站建设
  • 蓝色企业网站手机版织梦模板专做坏消息的网站
  • 企业移动网站制作免费主题大全软件下载
  • 商务网站建设综合实训报告软件商店电脑版官方下载
  • 离石市网站建设公司商城网站页面设计
  • 做网站 英语第三方网站
  • 网站建设期中考试题如何做视频网站不侵权
  • 低价网站建设咨询提供零基础网站建设教学培训