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

设计师个人网站源码免费网站怎么做啊

设计师个人网站源码,免费网站怎么做啊,网站seo关键字,wordpress可视化编辑失效在之前顺序表的实现中#xff0c;我们利用了顺序表实现了通讯录#xff0c;基于上篇文章学习了单链表#xff0c;本篇文章将介绍如何利用单链表再实现通讯录。 1. 结构体用户数据 实现结构体的函数#xff1a; //⽤⼾数据 typedef struct PersonInfo {char name[NAME_MA…在之前顺序表的实现中我们利用了顺序表实现了通讯录基于上篇文章学习了单链表本篇文章将介绍如何利用单链表再实现通讯录。 1. 结构体用户数据 实现结构体的函数 //⽤⼾数据 typedef struct PersonInfo {char name[NAME_MAX];char sex[SEX_MAX];int age;char tel[TEL_MAX];char addr[ADDR_MAX]; }PeoInfo; 2. 通讯录数据导入 实现将历史数据导入通讯录的函数 void LoadContact(contact** con) {FILE* pf fopen(contact.txt, rb);if (pf NULL) {perror(fopen error!\n);return;}//循环读取⽂件数据PeoInfo info;while (fread(info, sizeof(info), 1, pf)){SLTPushBack(con, info);}printf(历史数据导⼊通讯录成功\n); }3. 通讯录数据初始化 实现通讯录数据初始化的函数 void InitContact(contact** con) {LoadContact(con);//把本地的通讯录数据导⼊到链表结构 } 4. 添加通讯录数据 实现添加通讯录数据的函数 void AddContact(contact** con) {PeoInfo 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);SLTPushBack(con, info);printf(插⼊成功\n); }5. 删除通讯录数据 实现删除通讯录数据的函数 contact* FindByName(contact* con, char name[]) {contact* cur con;while (cur){if (strcmp(cur-data.name, name) 0) {return cur;}cur cur-next;}return NULL; }void DelContact(contact** con) {char name[NAME_MAX];printf(请输⼊要删除的⽤⼾姓名\n);scanf(%s, name);contact* pos FindByName(*con, name);if (pos NULL) {printf(要删除的⽤⼾不存在删除失败\n);return;}SLTErase(con, pos);printf(删除成功\n); }6. 展现通讯录数据 实现展现通讯录数据的函数 void ShowContact(contact* con) {printf(%-10s %-4s %-4s %15s %-20s\n, 姓名, 性别, 年龄, 联系电话, 地址);contact* cur con;while (cur){printf(%-10s %-4s %-4d %15s %-20s\n,cur-data.name,cur-data.sex,cur-data.age,cur-data.tel,cur-data.addr);cur cur-next;} } 7. 查找通讯录数据 实现查找通讯录数据的函数 void FindContact(contact* con) {char name[NAME_MAX];printf(请输⼊要查找的⽤⼾姓名\n);scanf(%s, name);contact* pos FindByName(con, name);if (pos NULL) {printf(要查找的⽤⼾不存在查找失败\n);return;}printf(查找成功\n);printf(%-10s %-4s %-4d %15s %-20s\n,pos-data.name,pos-data.sex,pos-data.age,pos-data.tel,pos-data.addr); }8. 修改通讯录数据 实现修改通讯录数据的函数 void ModifyContact(contact** con) {char name[NAME_MAX];printf(请输⼊要修改的⽤⼾名称:\n);scanf(%s, name);contact* pos FindByName(*con, name);if (pos NULL) {printf(要查找的⽤⼾不存在修改失败\n);return;}printf(请输⼊要修改的姓名\n);scanf(%s, pos-data.name);printf(请输⼊要修改的性别\n);scanf(%s, pos-data.sex);printf(请输⼊要修改的年龄\n);scanf(%d, pos-data.age);printf(请输⼊要修改的联系电话\n);scanf(%s, pos-data.tel);printf(请输⼊要修改的地址\n);scanf(%s, pos-data.addr);printf(修改成功\n); } 9. 保存通讯录数据 实现保存通讯录数据的函数 void SaveContact(contact* con) {FILE* pf fopen(contact.txt, wb);if (pf NULL) {perror(fopen error!\n);return;}//将通讯录数据写⼊⽂件contact* cur con;while (cur){fwrite((cur-data), sizeof(cur-data), 1, pf);cur cur-next;}printf(通讯录数据保存成功\n);} 10. 销毁通讯录数据 实现销毁通讯录数据的函数 void DestroyContact(contact** con) {SaveContact(*con);//在通讯录销毁之前先把历史数据保存到本地⽂件中contact.txtSListDesTroy(con); } 最后附上全部代码 //contact.h #pragma once #define NAME_MAX 100 #define SEX_MAX 4 #define TEL_MAX 11 #define ADDR_MAX 100//前置声明 typedef struct SListNode contact;//⽤⼾数据 typedef struct PersonInfo {char name[NAME_MAX];char sex[SEX_MAX];int age;char tel[TEL_MAX];char addr[ADDR_MAX]; }PeoInfo;//初始化通讯录 void InitContact(contact** con);//实际调⽤的是链表的初始化接⼝可以简单做⼀个头结点的 初始化//添加通讯录数据 void AddContact(contact** con);// 链表尾插/头插//删除通讯录数据 void DelContact(contact** con);//链表的删除指定位置的数据//展⽰通讯录数据 void ShowContact(contact* con);//链表的打印//查找通讯录数据 void FindContact(contact* con);//修改通讯录数据 void ModifyContact(contact** con);//销毁通讯录数据 void DestroyContact(contact** con); //contact.c #define _CRT_SECURE_NO_WARNINGS #includecontact.h #includeSList.h//部分函数上篇文章讲过可以直接用void LoadContact(contact** con) {FILE* pf fopen(contact.txt, rb);if (pf NULL) {perror(fopen error!\n);return;}//循环读取⽂件数据PeoInfo info;while (fread(info, sizeof(info), 1, pf)){SLTPushBack(con, info);}printf(历史数据导⼊通讯录成功\n); }void InitContact(contact** con) {LoadContact(con);//把本地的通讯录数据导⼊到链表结构 }void AddContact(contact** con) {PeoInfo 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);SLTPushBack(con, info);printf(插⼊成功\n); }contact* FindByName(contact* con, char name[]) {contact* cur con;while (cur){if (strcmp(cur-data.name, name) 0) {return cur;}cur cur-next;}return NULL; }void DelContact(contact** con) {char name[NAME_MAX];printf(请输⼊要删除的⽤⼾姓名\n);scanf(%s, name);contact* pos FindByName(*con, name);if (pos NULL) {printf(要删除的⽤⼾不存在删除失败\n);return;}SLTErase(con, pos);printf(删除成功\n); }void ShowContact(contact* con) {printf(%-10s %-4s %-4s %15s %-20s\n, 姓名, 性别, 年龄, 联系电话, 地址);contact* cur con;while (cur){printf(%-10s %-4s %-4d %15s %-20s\n,cur-data.name,cur-data.sex,cur-data.age,cur-data.tel,cur-data.addr);cur cur-next;} }void FindContact(contact* con) {char name[NAME_MAX];printf(请输⼊要查找的⽤⼾姓名\n);scanf(%s, name);contact* pos FindByName(con, name);if (pos NULL) {printf(要查找的⽤⼾不存在查找失败\n);return;}printf(查找成功\n);printf(%-10s %-4s %-4d %15s %-20s\n,pos-data.name,pos-data.sex,pos-data.age,pos-data.tel,pos-data.addr); }void ModifyContact(contact** con) {char name[NAME_MAX];printf(请输⼊要修改的⽤⼾名称:\n);scanf(%s, name);contact* pos FindByName(*con, name);if (pos NULL) {printf(要查找的⽤⼾不存在修改失败\n);return;}printf(请输⼊要修改的姓名\n);scanf(%s, pos-data.name);printf(请输⼊要修改的性别\n);scanf(%s, pos-data.sex);printf(请输⼊要修改的年龄\n);scanf(%d, pos-data.age);printf(请输⼊要修改的联系电话\n);scanf(%s, pos-data.tel);printf(请输⼊要修改的地址\n);scanf(%s, pos-data.addr);printf(修改成功\n); }void SaveContact(contact* con) {FILE* pf fopen(contact.txt, wb);if (pf NULL) {perror(fopen error!\n);return;}//将通讯录数据写⼊⽂件contact* cur con;while (cur){fwrite((cur-data), sizeof(cur-data), 1, pf);cur cur-next;}printf(通讯录数据保存成功\n);}void DestroyContact(contact** con) {SaveContact(*con);//在通讯录销毁之前先把历史数据保存到本地⽂件中contact.txtSListDesTroy(con); } 在接下来我们将会学习更多有意思的东西如果本篇有不理解的地方欢迎私信我或在评论区指出期待与你们共同进步。创作不易望各位大佬一键三连
http://www.zqtcl.cn/news/62056/

相关文章:

  • 伊春网络建站公司网站接单
  • 网站注册地址查询企业站seo
  • 四川省城乡住房建设部网站wordpress 登录后查看
  • 营销型网站的缺点外贸网站 服务器
  • 现代建设公司网站word可以制作网页
  • 深圳网站建设公司哪家可以建app介绍一个电影的网站模板
  • 电子商务网站策划书布局设计网站布局优化怎么做
  • 网站建设费怎么记账应用市场下载手机版
  • 深圳网站设计 建设元图片交易网站如何建设
  • 网站建设谈业务要知道什么南通网站制作
  • 网络营销网站建设方案做app网站有哪些功能
  • 排名优化网站建设企业为什么要建网站
  • 网站漏洞 在线扫描网站开发技术 创新点
  • 中山企业手机网站建设广州做网站 汉狮网络
  • 简易蜘蛛池网站开发网页设计作品分析
  • win10系统可以做网站搭建网站建设 发展历程
  • 南阳seo网站排名优化网站建设课程论文
  • 门户网站简单模板域名建网站公司
  • wordpress设置联系表格咸阳seo推广
  • 影视网站模板怎么做燕郊网站建设公司
  • 免费下载ppt模板的网站有哪些网站的登录界面怎么做
  • 网站设计可以在手机上做吗有名的app开发公司
  • 网站建设书籍资料网站建设的毕业设计报告
  • 青岛市网站建设公司中卫网站设计公司招聘
  • 安贞做网站公司合肥做网站的公司
  • 网站 怎么备案求职信息发布网
  • 湖南专业网站建设服务百度推广销售
  • 房产网站门户系统如何创造一个自己的网站
  • c 网站开发需要学什么创意设计网站推荐
  • 柬埔寨做网站网站在那边违反吗网站整站开发项目亮点