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

济南移动网站制作蒙阴县城乡建设局网站

济南移动网站制作,蒙阴县城乡建设局网站,修改WordPress文章发布模板,illustrator 学习网站我们了解顺序表之后来一个比较简单的小项目来巩固一下. 每一个函数我都进行了详细的补充, 各位可以仔细阅读。我将整个项目分为了Contact.h 、Contact.c和test.c三个文件中#xff0c;其中Contact.h用于函数声明和结构体创建#xff0c;Contact.c用于函数的实现#xff0c;t…       我们了解顺序表之后来一个比较简单的小项目来巩固一下. 每一个函数我都进行了详细的补充, 各位可以仔细阅读。我将整个项目分为了Contact.h 、Contact.c和test.c三个文件中其中Contact.h用于函数声明和结构体创建Contact.c用于函数的实现test.c用于测试代码。 Contact.h #pragma once #includestdio.h #includeassert.h #includestdlib.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 #includeContact.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 #includeContact.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.hkea.cn/news/14432478/

相关文章:

  • 一级门户网站建设费用懒人做图网站
  • 建设银行金牛支行网站seo优化技术教程
  • 网站建设app小程序网站下面 备案
  • gif表情包在线制作网站做网站会员金字塔系统
  • 宁波做网站十大公司哪家好金堂县建设局网站
  • 土特产网站模板 织梦张家港杨舍网站制作
  • 北京商城网站建设报价单乱码网站怎么办
  • 建设互联网教育网站网站服务器在哪里买好
  • 成都seo公司seo基础课程
  • 徐州网站排名创建网站需要哪些步骤
  • 网站建设基本技术全球贸易中心网
  • 做关于车的网站有哪些怎么把自己的网站推广出去
  • wordpress搭建电影网站温州seo霸屏
  • 常德网站设计公司高级网络营销师
  • 加强农业网站建设班玛网站建设
  • 网站建设需求分析时光轴 网站
  • 东莞网站开发网站建设制作费用温州logo设计公司
  • 移动端网站和app开发网站定向推送怎么做
  • 东莞公司网站设计ps个人网站设计总结
  • 网站大全app下载wordpress更改了域名 图片不显示
  • 网页入口网站推广天水 网站建设 招聘
  • 个人网站备案 网站名称网站建设行情
  • 鲜花网网站开发的意义wordpress主题外贸私人分享
  • 做家纺网站哪家好找客户的软件
  • 网站开发部经理招聘设计一个网站的优势
  • 网站被k怎么查网站的风格主要包括
  • 世界建筑网站wordpress教程之
  • 抚州做网站公司拓者吧室内设计吧
  • 福州网站排名推广做网站优化的话术
  • 网站内容建设包括企业形象设计的意义