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

江苏建设工程造价管理网站wordpress不能启动怎么解决方法

江苏建设工程造价管理网站,wordpress不能启动怎么解决方法,如何制作网站策划书,wordpress主题目录在哪里1.功能实现 功能要求 1#xff09;至少能够存储100个人的通讯信息 2#xff09;能够保存用户信息#xff1a;名字、性别、年龄、电话、地址等 3#xff09;增加联系人信息 4#xff09;删除指定联系人 5#xff09;查找制定联系人 6#xff09;修改指定联系人 7#xf…1.功能实现 功能要求 1至少能够存储100个人的通讯信息 2能够保存用户信息名字、性别、年龄、电话、地址等 3增加联系人信息 4删除指定联系人 5查找制定联系人 6修改指定联系人 7显联系人信息 2.与顺序表的关系 3.代码实现 1.通讯录基本结构Contact.h Contact.h文件代码如下 #define _CRT_SECURE_NO_WARNINGS 1 #define NAME_MAX 100 #define SEX_MAX 10 #define TEL_MAX 15 #define ADDR_MAX 100//创建通讯录的结构 typedef struct ContactInfo {char name[NAME_MAX];char sex[SEX_MAX];int age;char tel[TEL_MAX];char addr[ADDR_MAX]; }CInfo;typedef struct SeqList contact;//此处相当于把顺序表的名字改为通讯录也可以理解为我把顺序表的SL改为了contact,不容易搞混 //因为并没有调用SeqList.h里面的数据或者函数所以这里不需要调用void ContactInit(contact* pcon); //通讯录的创建 void ContactDestroy(contact* pcon); //通讯录的销毁void ContactAdd(contact* *pcon); //添加联系人 void ContactDel(contact* pcon); //删除联系人void ContactModify(contact* pcon); //修改联系人 void Contactshow(contact* pcon); //打印联系人void ContactFind(contact* pcon); //查找联系人 2.基于通讯录SqList.h文件的改进 需要把顺序表的数据类型改为通讯录的结构体这里就体现了之前在顺序表把int类型通过typedef声明为SLDataType的好处可以很方便的更换顺序表的类型不用一个个改。 SqList.h文件代码如下 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #includestdlib.h #includeassert.h #includeContact.htypedef CInfo SLDataType; //typedef int SLDataType; //把顺序表的数据结构改为通讯录的结构体类型typedef struct SeqList {SLDataType* a;int size; // 有效数据int capacity; // 空间容量 }SL;void SLInit(SL* ps); // 数据表初始化 void SLDestroy(SL* ps); // 数据表销毁void SLPushFront(SL* ps, SLDataType x); // 头插 void SLPushBack(SL* ps, SLDataType x); // 尾插void SLPopFront(SL* ps); // 头删 void SLPopBack(SL* ps); // 尾删void SLCheckCapacity(SL* ps); // 检查内存是否足够不够就扩容。 void SLprintf(SL* ps); // 数据表打印void SLInsert(SL* ps, int pos, SLDataType x); //任意下标位置的插入 void SLErase(SL* ps, int pos); //任意下标位置的删除 3通讯录运行文件Contact.c 1. 通讯录的创建ContactInit 只需要调用顺序表的初始化就可以啦 void ContactInit(contact* pcon) {SLInit(pcon); }2.通讯录的销毁ContactDestroy 一样的道理顺序表都销毁了基于它的通讯录还好存在吗所以自己调用顺序表的销毁就OK啦 void ContactDestroy(contact* pcon) {SLDestroy(pcon); }3.添加联系人 到这里就需要创建个通讯录结构体(info)然后输入值到通讯录的结构体中随便打印个提示界面然后记得调用顺序表的尾插操作通过info把数据插入到顺序表中,因为顺序表的数据类型是CInfo也就是struct ContactInfo,所以并不冲突。 void ContactAdd(contact** pcon) {CInfo info;printf(请输入联系人的姓名\n);scanf(%s, info.name);printf(请输入联系人的性别\n);scanf(%s, info.sex);printf(请输入联系人的年龄\n);scanf(%d, info.age);printf(请输入联系人的电话\n);scanf(%s, info.tel);printf(请输入联系人的住址\n);scanf(%s, info.addr);SLPushBack(pcon, info); }4.删除联系人 有了创建自然就有删除但是删除删除哪里了所以还要个查找操作 int FindByName(contact* pcon,char name) {for (int i 0; i pcon-size; pcon-size){if (strcmp(pcon-size,name)0){return i;}}return -1; }先输入用户名然后通过用户名进行查找操作找到了就调用顺序表的删除操作 void ContactDel(contact* pcon) {printf(请输入要删除的用户的名称:\n);char name[NAME_MAX];scanf(%s, name);int findidex FindByName(pcon,name);SLPopBack(pcon);if (findidex 0){printf(要删除的联系人不存在);return;}SLErase(pcon, findidex); }5.修改联系人 通过查找 void ContactModify(contact* pcon) {printf(请输入要修改的用户名称\n);char name[NAME_MAX];scanf(%s, name);int find FindByName(pcon, name);if (find 0){printf(要修改的用户不存在\n);return;}printf(请输入新的用户名称\n);scanf(%s, pcon-a[find].name);printf(请输入新的用户性别\n);scanf(%s, pcon-a[find].sex);printf(请输入新的用户年龄\n);scanf(%s, pcon-a[find].age);printf(请输入新的用户电话\n);scanf(%s, pcon-a[find].tel);printf(请输入新的用户地址\n);scanf(%s, pcon-a[find].addr);printf(修改成功\n); }6.打印联系人 void Contactshow(contact* pcon) {printf(%s %s %s %s %s\n, 姓名, 性别, 年龄, 电话, 住址);for(int i 0; i pcon-size; i){printf(%-4s %-4s %-4d %-4s %-4s\n,pcon-a[i].name,pcon-a[i].sex,pcon-a[i].age,pcon-a[i].tel,pcon-a[i].addr);} }7.查找联系人 void ContactFind(contact* pcon) {char name[NAME_MAX];printf(请输入要查找的用户名称\n);scanf(%s, name);int find FindByName(pcon, name);if (find 0){printf(该联系人不存在\n);return;}printf(%s %s %d %s %s\n,pcon-a[find].name,pcon-a[find].sex,pcon-a[find].age,pcon-a[find].tel,pcon-a[find].addr); }完整代码如下 #define _CRT_SECURE_NO_WARNINGS 1 #includeSeqList.hvoid ContactInit(contact* pcon) {SLInit(pcon); } void ContactDestroy(contact* pcon) {SLDestroy(pcon); }void ContactAdd(contact** pcon) {CInfo info;printf(请输入联系人的姓名\n);scanf(%s, info.name);printf(请输入联系人的性别\n);scanf(%s, info.sex);printf(请输入联系人的年龄\n);scanf(%d, info.age);printf(请输入联系人的电话\n);scanf(%s, info.tel);printf(请输入联系人的住址\n);scanf(%s, info.addr);SLPushBack(pcon, info); }int FindByName(contact* pcon,char name) {for (int i 0; i pcon-size; pcon-size){if (strcmp(pcon-size,name)0){return i;}}return -1; }void ContactDel(contact* pcon) {printf(请输入要删除的用户的名称:\n);char name[NAME_MAX];scanf(%s, name);int findidex FindByName(pcon,name);SLPopBack(pcon);if (findidex 0){printf(要删除的联系人不存在);return;}SLErase(pcon, findidex); }void ContactModify(contact* pcon) {printf(请输入要修改的用户名称\n);char name[NAME_MAX];scanf(%s, name);int find FindByName(pcon, name);if (find 0){printf(要修改的用户不存在\n);return;}printf(请输入新的用户名称\n);scanf(%s, pcon-a[find].name);printf(请输入新的用户性别\n);scanf(%s, pcon-a[find].sex);printf(请输入新的用户年龄\n);scanf(%s, pcon-a[find].age);printf(请输入新的用户电话\n);scanf(%s, pcon-a[find].tel);printf(请输入新的用户地址\n);scanf(%s, pcon-a[find].addr);printf(修改成功\n); }void Contactshow(contact* pcon) {printf(%s %s %s %s %s\n, 姓名, 性别, 年龄, 电话, 住址);for(int i 0; i pcon-size; i){printf(%-4s %-4s %-4d %-4s %-4s\n,pcon-a[i].name,pcon-a[i].sex,pcon-a[i].age,pcon-a[i].tel,pcon-a[i].addr);} }void ContactFind(contact* pcon) {char name[NAME_MAX];printf(请输入要查找的用户名称\n);scanf(%s, name);int find FindByName(pcon, name);if (find 0){printf(该联系人不存在\n);return;}printf(%s %s %d %s %s\n,pcon-a[find].name,pcon-a[find].sex,pcon-a[find].age,pcon-a[find].tel,pcon-a[find].addr); } 4SeqList.c顺序表的基本函数 此处存放顺序表的基本操作函数所以无需修改与通讯录有关的操作存放在Contact.c文件中 #define _CRT_SECURE_NO_WARNINGS 1 #includeSeqList.hvoid SLCheckCapacity(SL* ps) // 检查内存是否足够不够就扩容。 {if (ps-size ps-capacity){int newCapacity ps-capacity 0 ? 4 : ps-capacity * 2;SLDataType* tmp (SLDataType*)realloc(ps-a, sizeof(SLDataType) * newCapacity);if (tmp NULL){perror(realloc fail);return;}ps-a tmp;ps-capacity newCapacity;} }void SLprintf(SL* ps) // 数据表打印 {for (int i 0; i ps-size; i){printf(%d , ps-a[i]);}printf(\n); }void SLInit(SL* ps) // 数据表初始化 {assert(ps);ps-a NULL;ps-size 0;ps-capacity 0; }void SLDestroy(SL* ps) // 数据表销毁 {assert(ps);if (ps-a ! NULL){free(ps-a);ps-a NULL;ps-size 0;ps-capacity 0;} }void SLPushFront(SL* ps, SLDataType x) // 头插 {assert(ps);SLCheckCapacity(ps);int end ps-size - 1;while (end 0){ps-a[end 1] ps-a[end];end--;}ps-a[0] x;ps-size; }void SLPushBack(SL* ps, SLDataType x) // 尾插 {assert(ps);SLCheckCapacity(ps);ps-a[ps-size] x; }void SLPopFront(SL* ps) // 头删 {assert(ps);assert(ps-size 0);int begin 1;while (begin ps-size){ps-a[begin - 1] ps-a[begin];begin;}ps-size--; }void SLPopBack(SL* ps) // 尾删 {assert(ps);assert(ps-size 0);ps-size--; }// pos是下标 void SLInsert(SL* ps, int pos, SLDataType x) // 任意下标位置的插入 {assert(ps);assert(pos 0 pos ps-size);SLCheckCapacity(ps);int end ps-size - 1;while (end pos){ps-a[end 1] ps-a[end];end--;}ps-a[pos] x;ps-size; } void SLErase(SL* ps, int pos) // 任意下标位置的删除 {assert(ps);assert(pos 0 pos ps-size); // 这里删除不能用等于ps-size,ps-size看作下标的话相当于下标的最后一个位置1int begin pos 1;while (begin ps-size){ps-a[begin - 1] ps-a[begin];begin;}ps-size--; }
http://www.yutouwan.com/news/319815/

相关文章:

  • 免费公司注册网站吗成都包装设计
  • 网站开发周期定义无锡网站的建设
  • 做缓网站网站排名优化怎样做
  • asp自助建站系统做网站app怎么赚钱
  • 专业做网站的公司邢台专业做网站注册城乡规划师教材pdf
  • 合肥晚报社官方网站网络部署方案
  • 平面设计师的网站网络公司注册的流程
  • 东城精锐传媒专注于各类网站建设如果在浏览器上做一网站广告大约需要多少钱
  • 深圳维特网站建设企业网站未来发展趋势
  • 网站地图的好处深圳网页设计培训机构
  • 定制网站开发哪里好如何设计网站域名
  • dede自动生成网站地图建设银行网站网址
  • 网站怎么做黑链接铜仁网站网站建设
  • top网站怎么做网站版面的美化原则
  • 软件开发app开发定制外包99seo博客是什么意思
  • 学用php做网站空壳网站
  • 互联网站备案表wordpress one page
  • 精品课网站建设电商网站推广渠道
  • 西安免费公司网站设计如何免费开网店的步骤
  • 网站域名备案后公示客户关系管理系统简称
  • 湖南省住房与城乡建设厅网站官网惠州公司注册
  • 局机关网站建设改进措施舞蹈网页设计素材
  • 四川省城乡与建设厅网站中国住房和城乡建设部网站首页
  • 做新媒体广告的网站网页动画
  • 前后端分离实现网站开发wordpress国内开发
  • 临汾建设局网站论网站建设情况
  • 做装饰材料的网站昆明公司网站建设
  • 自己怎么做卡盟网站建设网站用什么语言比较好
  • 信息技术 网站建设教案高端网站制作系统
  • 自己买服务器建设网站淘宝上网站开发退款