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

q王商城 网站是怎么做的微信订阅号网站开发

q王商城 网站是怎么做的,微信订阅号网站开发,网站建设签收单,wordpress手机端加载不出来我们了解顺序表之后来一个比较简单的小项目来巩固一下. 每一个函数我都进行了详细的补充, 各位可以仔细阅读。我将整个项目分为了Contact.h 、Contact.c和test.c三个文件中,其中Contact.h用于函数声明和结构体创建,Contact.c用于函数的实现,t…

       我们了解顺序表之后来一个比较简单的小项目来巩固一下.

        每一个函数我都进行了详细的补充, 各位可以仔细阅读。我将整个项目分为了Contact.h 、Contact.c和test.c三个文件中,其中Contact.h用于函数声明和结构体创建,Contact.c用于函数的实现,test.c用于测试代码。

Contact.h

#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>#define  NAME_MAX  20
#define  GENDER_MAX  10
#define  TELE_MAX  20
#define  ADDR_MAX  100//定义通讯录结构体
typedef struct peopleInfo
{char name[NAME_MAX];char gender[GENDER_MAX];int age;char tele[TELE_MAX];char addr[ADDR_MAX];
}peoInfo;
//改名为通讯录
typedef peoInfo Contact;//改名便于整体替换类型
typedef peoInfo sqDataType;
//定义顺序表
struct SeqList
{sqDataType* arr;int size;int capacity;
};
//缩写改名
typedef struct SeqList SQL;/*000000000000000000000000000000000000000000000000000000000000000000000000000000000000*///顺序表初始化
void SQLInit(SQL* ps);//检查容量函数
void check_capacity(SQL* ps);//顺序表尾插函数
void TailInsert(SQL* ps, sqDataType info);//任意位置删除联系人
void SQLDelete(SQL* ps, int pos, sqDataType info);//任意位置修改顺序表元素
void SQLModify(SQL* ps, int find);
/*0000000000000000000000000000000000000000000000000000000000000000000000000000000000*/
//初始化通讯录
void ContactInit(Contact* pcon);//增加联系人
void ContactAdd(Contact* pcon);//查找联系人
int Contactsearch(SQL* ps);//修改联系人
void ContactModify(SQL* ps);//删除联系人
void ContactDel(Contact* pcon);//文件保存联系人
void KeepFile(Contact* pcon);//显示通讯录
void ContactShow(SQL* ps);//销毁通讯录
void ContactDestroy(SQL* ps);

Contact.c

#define _CRT_SECURE_NO_WARNINGS
#include"Contact.h"
//改名联系人信息为通讯录
typedef peoInfo Contact;//顺序表初始化
void SQLInit(SQL* ps)
{assert(ps);ps->arr = NULL;ps->capacity = ps->size = 0;
}//检查容量函数
void check_capacity(SQL* ps)
{assert(ps);//三目操作符巧妙开辟空间int newcapacity = (ps->capacity == 0) ? 1 : (2 * ps->capacity);//相等的情况if (ps->size == ps->capacity){sqDataType* pa = (sqDataType*)realloc(ps->arr, sizeof(sqDataType) * newcapacity);if (pa == NULL){perror("realloc");return;}ps->arr = pa;printf("扩容成功\n");}
}//顺序表尾插函数
void TailInsert(SQL* ps, sqDataType info)
{assert(ps && &info);//判断是否需要扩容check_capacity(ps);//插入联系人信息ps->arr[ps->size] = info;ps->size++;printf("添加成功\n");
}//任意位置删除顺序表元素
void SQLDelete(SQL* ps, int pos)
{//检验指针有效性和pos的有效性assert(ps && pos >= 0 && pos < ps->size);//pos后的元素全部向前一位for (int i = pos; i < ps->size - 1; i++){ps->arr[i] = ps->arr[i + 1];ps->size--;}printf("删除成功\n");
}//任意位置修改顺序表元素
void SQLModify(SQL* ps, int pos)
{//创建临时结构体变量peoInfo info;//输入联系人信息printf("请输入联系人姓名:>");scanf("%s", info.name);printf("请输入联系人性别:>");scanf("%s", info.gender);printf("请输入联系人年龄:>");scanf("%s", &info.age);printf("请输入联系人电话:>");scanf("%s", info.tele);printf("请输入联系人地址:>");scanf("%s", info.addr);//修改元素信息ps->arr[pos] = info;	
}/************************************************************************************************************************/
//初始化通讯录
void ContactInit(Contact* pcon)
{//其实就是初始化顺序表,因为顺序表的底层就是数组;SQLInit(pcon);//扩容check_capacity(pcon);
}//增加联系人
void ContactAdd(Contact* pcon)
{ //断言assert(pcon);//创建临时联系人结构体peoInfo info;//输入联系人信息printf("请输入联系人姓名:>");scanf("%s", info.name);printf("请输入联系人性别:>");scanf("%s", info.gender);printf("请输入联系人年龄:>");scanf("%d", &info.age);printf("请输入联系人电话:>");scanf("%s", info.tele);printf("请输入联系人地址:>");scanf("%s", info.addr);//尾插函数:插入顺序表TailInsert(pcon,info);
}//查找联系人
int Contactsearch(SQL* ps)//在顺序表中查找
{char name[NAME_MAX];printf("请输入联系人姓名:>");scanf("%s", name);//遍历顺序表,查找联系人for (int i = 0; i < ps->size; i++){if (strcmp(ps->arr[i].name, name) == 0){//找到了return i;}}//没找到return -1;
}//修改联系人信息
void ContactModify(SQL* ps)
{//想要修改联系人,前提是要先找到联系人int find = Contactsearch(ps);if (find < 0){printf("未找到该联系人\n");return;}//修改顺序表中的该元素SQLModify(ps,find);
}//删除联系人
void ContactDel(SQL* ps)
{//想要删除联系人,前提是要先找到联系人int find = Contactsearch(ps);if (find < 0){printf("未找到该联系人\n");return;}//删除顺序表的该元素SQLDelete(ps, find);
}//文件保存联系人
void KeepFile(SQL* ps)
{//打开文件FILE* pf = fopen("C:\\编程\\2024\\continue\\ContactProject_4_7\\ContactProject_4_7\\contact.txt", "w");if (pf == NULL){perror("fopen");return;}//读入文件char arr[100000];for (int i = 0; i < ps->size; i++){fprintf(pf, "%s %s %d %s %s\n", ps->arr[i].name, ps->arr[i].gender, ps->arr[i].age, ps->arr[i].tele, ps->arr[i].addr);}//关闭文件fclose(pf);pf = NULL;
}//显示通讯录
void ContactShow(SQL* ps)
{printf("%s    %s    %s    %s                       %s\n", "姓名", "性别", "年龄", "电话", "地址");for (int i = 0; i < ps->size; i++){printf("%s    %s    %d    %s                       %s\n", ps->arr[i].name, ps->arr[i].gender, ps->arr[i].age, ps->arr[i].tele, ps->arr[i].addr);}
}//销毁通讯录
void ContactDestroy(SQL* ps)
{if (ps->arr != NULL){free(ps->arr);ps->arr = NULL;}ps->capacity = ps->size = 0;printf("通讯录已销毁\n");
}

test.c

#define _CRT_SECURE_NO_WARNINGS
#include"Contact.h"
//改名为通讯录
typedef peoInfo Contact;void menu()
{printf("**************************------通讯录-----******************************\n");printf("**************          1、Add        2、Delete         *****************\n");printf("**************          3、Search     4、Modify         *****************\n");printf("**************          5、KeepFile   6、Show           *****************\n");printf("**************          7、Destroy    0、Exit           *****************\n");printf("*************************************************************************\n");
}int main()
{//创建结构体便量Contact con;//初始化ContactInit(&con);int input = 0;int ret = 0;do{//菜单函数menu();printf("请选择:>");scanf("%d", &input);switch (input){case 1://增ContactAdd(&con);break;case 2://删ContactDel(&con);break;case 3://查ret = Contactsearch(&con);if (ret < 0){printf("未找到该联系人\n");}else{//显示联系人信息ContactShow(&con);}break;case 4://改ContactModify(&con);break;case 5://文件操作KeepFile(&con);break;case 6://显示通讯录ContactShow(&con);break;case 7://销毁通讯录ContactDestroy(&con);break;case 0://退出printf("退出通讯录\n");break;default:printf("选择错误,请重新选择\n");break;}} while (input);return 0;
}

http://www.yayakq.cn/news/137745/

相关文章:

  • asp.net网站设计分工wordpress 1g cpu
  • 建筑设计专业的网站产品包装设计公司网站
  • 基于百度地图的网站开发这么制作自己的网站
  • 一站式企业网站建设网页设计导航条怎么做
  • 免费站长工具女生学什么专业最吃香
  • 杭州杭州网站建设公司郑州网站创建
  • 西安商城网站制作重庆seo快速优化
  • 玩具 网站模板创新产品设计方案
  • 369网站建设个人网站要多少钱
  • 找网络公司做的网站可以出售吗一一影视网站源码
  • 网站开发语言哪一种好些怎么生成网页链接
  • 有什么比较好的画册设计网站十大免费ae模板网站
  • 保定网站搜索引擎优化做互联网平台要多少钱
  • 本地赣州网站建设全国建设管理信息网站
  • 企业网站备案教程织梦可以做婚纱影楼网站吗
  • 做网站需要哪些硬件软件网站定制开发收费标准是多少
  • 个人网站架设卖东西怎么推广
  • 网站常州建设发帖秒收录的网站
  • 前几年做哪个网站能致富哪个公司做企业网站好
  • HTML网站页面建设公司网站推广计划书
  • 延边州网站建设wordpress 文章和tag
  • 鄂尔多斯北京网站建设天元建设集团有限公司法人代表
  • 湖北省建设主管部门网站医院网站域名备案
  • 公司给别人做的网站违法的吗自己怎么制作一个公众号
  • 手机代码网站有哪些问题pc端宣传网站开发
  • 苏州网站建立公司郑州即将迎来全面解封
  • 中天建设招标网站中小企业网络组网案例
  • 网站的总体风格包括昆明网站建设kmdtkj
  • windows 网站开发wordpress archive插件
  • 网站优化怎样做做网站的 需要续费维护费吗