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

网站维护的意义企业网站的建设过程

网站维护的意义,企业网站的建设过程,美丽说网站代码与蘑菇街网站代码是用什么网站语言做的,中兴的网站谁做的一. 增加需求 在学习了动态开辟内存之后 我们对于通讯录产生了新的需求 要求我们做出一个动态增长的版本 即 随着我们储存联系人的增加 储存的空间增加 要求 #xff1a; 1 初始空间为3 2 每次达到上限之后 扩容两个内存 二. 动手实施 我们首先要创建一个结构体 结构体…一. 增加需求 在学习了动态开辟内存之后 我们对于通讯录产生了新的需求 要求我们做出一个动态增长的版本 即 随着我们储存联系人的增加 储存的空间增加 要求 1 初始空间为3 2 每次达到上限之后 扩容两个内存 二. 动手实施  我们首先要创建一个结构体 结构体的代码暂定为这样子 typedef struct Contact {PeoInfo* date;//存放人的信息int sz;//当前已经放的信息个数int capacity;//当前通信录的最大容量 }Contact; 既然结构体改变了 那么我们的初始化也需要改变一下 void InitContact(Contact* pc) {assert(pc);pc-sz 0;PeoInfo* ptr (PeoInfo*)calloc(DEFAULT_SZ, sizeof(PeoInfo*));if (ptr NULL){perror(InitContact::calloc);return ;}pc-date ptr;pc-capacity DEFAULT_SZ; } 这样我们就初始化出来了 一块新的空间 那么这个时候我们开始设计增加联系人的功能 主要思路就是 如果联系人到了上线的话 那么realloc增容上线2 另外 上线也加上2 代码表示如下 void check_capacity(Contact* pc) {if (pc-sz pc-capacity){//增容PeoInfo* ptr (PeoInfo*)realloc(pc-date, (pc-capacity INC_SZ) * sizeof(PeoInfo));if (ptr NULL){perror(check_capacity::realloc);}elsepc-date ptr;pc-capacity INC_SZ;printf(增容成功\n);} } //动态版本 void AddContact(Contact* pc) {assert(pc);check_capacity(pc);//增加一个人的信息printf(请输入名字:);scanf(%s, pc-date[pc-sz].name);printf(请输入年龄:);scanf(%d, (pc-date[pc-sz].age));printf(请输入性别:);scanf(%s, pc-date[pc-sz].sex);printf(请输入地址:);scanf(%s, pc-date[pc-sz].addr);printf(请输入电话:);scanf(%s, pc-date[pc-sz].tele);pc-sz;} 代码显示效果如下 三. 回收空间 其他要修改的地方只是一个回收动态开辟的空间 防止内存泄漏 void DestroyContact(Contact* pc) {free(pc-date);pc-date NULL;pc-capacity 0;pc-sz 0;pc NULL; } 代码很简单 只需要这样子就好啦 四. 所有代码文件 1. 头文件 #includestdio.h #includeassert.h #includestring.h #includestdlib.h #includestdlib.h#define MAX 100 #define MAX_NEME 20 #define MAX_SEX 5 #define MAX_ADDR 30 #define MAX_TELE 12 #define DEFAULT_SZ 3 #define INC_SZ 2//人的信息 typedef struct PeoInfo {char name[MAX_NEME];int age;char sex[MAX_SEX];char addr[MAX_ADDR];char tele[MAX_TELE]; }PeoInfo; //静态版本 //typedef struct Contact //{ // PeoInfo date[MAX];//存放人的信息 // int sz;//当前已经放的信息个数 //}Contact; //动态版本 typedef struct Contact {PeoInfo* date;//存放人的信息int sz;//当前已经放的信息个数int capacity;//当前通信录的最大容量 }Contact; 2. 主函数文件 void memu() {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); } enum Option {EXIT,ADD,DEL,SEARCH,MODIFY,SHOW,SORT }; void test() {int input 0;//创建通信录Contact con;//初始化通信录InitContact(con);do{memu();printf(请选择:);scanf(%d, input);switch (input){case ADD:AddContact(con);break;case DEL:DelContact(con);break;case SEARCH:SearchContact(con);break;case MODIFY:ModityContact(con);break;case SHOW:ShowContact(con);break;case SORT://SortContact(con);break;case EXIT:DestroyContact(con);printf(退出通信录\n);break;default:printf(选择错误请重新选择\n);break;}} while (input); } int main() {test();return 0; }3. 测试文件 #define _CRT_SECURE_NO_WARNINGS #includecontact.h //静态版本 //void InitContact(Contact* pc) //{ // assert(pc); // pc-sz 0; // memset(pc-date, 0, sizeof(pc-date)); //} //动态版本 void InitContact(Contact* pc) {assert(pc);pc-sz 0;PeoInfo* ptr (PeoInfo*)calloc(DEFAULT_SZ, sizeof(PeoInfo*));if (ptr NULL){perror(InitContact::calloc);return ;}pc-date ptr;pc-capacity DEFAULT_SZ; }//静态版本 //void AddContact(Contact* pc) //{ // assert(pc); // if (pc-sz MAX) // { // printf(通信录已满无法添加\n); // return ; // } // //增加一个人的信息 // printf(请输入名字:); // scanf(%s, pc-date[pc-sz].name); // printf(请输入年龄:); // scanf(%d, (pc-date[pc-sz].age)); // printf(请输入性别:); // scanf(%s, pc-date[pc-sz].sex); // printf(请输入地址:); // scanf(%s, pc-date[pc-sz].addr); // printf(请输入电话:); // scanf(%s, pc-date[pc-sz].tele); // pc-sz; // //}void check_capacity(Contact* pc) {if (pc-sz pc-capacity){//增容PeoInfo* ptr (PeoInfo*)realloc(pc-date, (pc-capacity INC_SZ) * sizeof(PeoInfo));if (ptr NULL){perror(check_capacity::realloc);}elsepc-date ptr;pc-capacity INC_SZ;printf(增容成功\n);} } //动态版本 void AddContact(Contact* pc) {assert(pc);check_capacity(pc);//增加一个人的信息printf(请输入名字:);scanf(%s, pc-date[pc-sz].name);printf(请输入年龄:);scanf(%d, (pc-date[pc-sz].age));printf(请输入性别:);scanf(%s, pc-date[pc-sz].sex);printf(请输入地址:);scanf(%s, pc-date[pc-sz].addr);printf(请输入电话:);scanf(%s, pc-date[pc-sz].tele);pc-sz;}void DestroyContact(Contact* pc) {free(pc-date);pc-date NULL;pc-capacity 0;pc-sz 0;pc NULL; }void ShowContact(const Contact* pc) {assert(pc);int i 0;printf(%-20s\t%-4s\t%-5s\t%-20s\t%-12s\n, 名字, 年龄, 性别, 地址, 电话);for (i 0; i pc-sz; i){printf(%-20s\t%-4d\t%-5s\t%-20s\t%-12s\n, pc-date[i].name,pc-date[i].age,pc-date[i].sex,pc-date[i].addr,pc-date[i].tele);} }int FindByName(Contact* pc, char name[]) {int i 0;for (i 0; i pc-sz; i){if (strcmp(pc-date[i].name, name) 0){return i;}}return -1; }void DelContact(Contact* pc) {assert(pc);int i 0;char name[MAX_NEME];if (pc-sz 0){printf(通讯录为空,无法删除\n);}printf(请输入要删除人的名字:);scanf(%s, name);int del 0;//找到删除人的名字int ret FindByName(pc, name);if (-1 ret){printf(要删除的人不存在\n);}//删除for (i ret; i pc-sz - 1; i){pc-date[i] pc-date[i 1];}pc-sz--;printf(删除成功\n); }void SearchContact(const Contact* pc) {char name[MAX_NEME] { 0 };printf(请输入查找人的名字:);scanf(%s, name);int pos FindByName(pc, name);if (-1 pos){printf(查找人的信息不存在\n);return ;}//打印信息printf(%-20s\t%-4s\t%-5s\t%-20s\t%-12s\n, 名字, 年龄, 性别, 地址, 电话);printf(%-20s\t%-4d\t%-5s\t%-20s\t%-12s\n, pc-date[pos].name,pc-date[pos].age,pc-date[pos].sex,pc-date[pos].addr,pc-date[pos].tele);}void ModityContact(Contact* pc) {assert(pc);char name[MAX_NEME] { 0 };printf(请输入修改人的名字:);scanf(%s, name);int pos FindByName(pc, name);if (-1 pos){printf(修改人的信息不存在\n);return;}//录入信息printf(请输入名字:);scanf(%s, pc-date[pos].name);printf(请输入年龄:);scanf(%d, (pc-date[pos].age));printf(请输入性别:);scanf(%s, pc-date[pos].sex);printf(请输入地址:);scanf(%s, pc-date[pos].addr);printf(请输入电话:);scanf(%s, pc-date[pos].tele);printf(修改完成\n); }//int cmp(void* a, void* b) //{ // Contact* p1 (Contact*)a; // Contact* p2 (Contact*)b; // return strcmp(p1-date-name, p2-date-name); //} // //void SortContact(Contact* pc) //{ // // qsort(pc, pc-sz, sizeof(Contact*), cmp); //} 以上便是本文所有内容如有错误请各位大佬不吝赐教感谢留言
http://www.w-s-a.com/news/762990/

相关文章:

  • 阿里巴巴国际站跨境电商平台为什么有点网站打不开
  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营
  • 哪有app制作公司上海seo排名
  • 长沙建站seo公司北京招聘信息
  • 建设网站情况说明范文四川个人证书查询网官网
  • 推广学校网站怎么做公司可以做多个网站吗
  • 游戏网站后台建设郑州定制网站
  • 商务公司网站建设网站建设如何自学