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

网站底部代码下载济南 网站建设

网站底部代码下载,济南 网站建设,网站的优化 设计,网站类型定义一、通讯录功能 实现一个可以存放100个人的信息的通讯录#xff08;这里采用静态版本#xff09;#xff0c;每个人的信息有姓名、性别、年龄、电话、地址等。 通讯录可以执行的操作有添加联系人信息、删除指定联系人、查找指定联系人信息、修改指定联系人信息、显示联系人信…一、通讯录功能 实现一个可以存放100个人的信息的通讯录这里采用静态版本每个人的信息有姓名、性别、年龄、电话、地址等。 通讯录可以执行的操作有添加联系人信息、删除指定联系人、查找指定联系人信息、修改指定联系人信息、显示联系人信息、根据联系人的某些信息年龄、姓名、电话等对联系人进行排序等。 二、代码 1、测试文件test.c #include contact.h int main() {int input 0;Contact con;//创建一个通讯录对象内部可以存放100个人的信息ConInit(con);//初始化通讯录一定不能放在循环内部do{int (*p[])(Contact*) { Add, Del, Search, Modify, Show, Sort };menu();printf(请选择:);scanf(%d, input);if (input 1 input 6)p[input - 1](con);else if (input 0)printf(退出通讯录\n);elseprintf(输入错误请重新输入0~6之间的整数\n);} while (input);return 0; } 2、通讯录具体实现contact.c #include contact.h //菜单 void menu() {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); }//初始化通讯录 void ConInit(Contact* pc) {assert(pc);pc-count 0;memset(pc-data, 0, sizeof(pc-data)); }//查找指定联系人 int FindByName(Contact* pc, char name[]) {for (int i 0; i pc-count; i)if (0 strcmp(name, pc-data[i].name))return i;//找到了返回下标return -1;//没找到返回-1 }//打印联系人信息 void Print(Contact* pc, int i) {printf( %-10s %-10s %-10s %-10s %-10s\n,pc-data[i].name,pc-data[i].sex,pc-data[i].age,pc-data[i].phone,pc-data[i].address); }//删除、查找、修改公共信息 int PubInfor(Contact* pc, int n) {char name[NAME] { 0 };const char* arr[] {, , 删除, 查找, 修改};//用2个空字符串占位int pos 0;while (1){printf(请输入要%s联系人姓名:, (DEL n) ? arr[DEL] : ((SEARCH n) ? arr[SEARCH] : arr[MODIFY]));scanf(%s, name);pos FindByName(pc, name);if (-1 pos)printf(待%s联系人的信息不存在\n, (DEL n) ? arr[DEL] : ((SEARCH n) ? arr[SEARCH] : arr[MODIFY]));elsebreak;}return pos; }//录入信息 void EnterInfor(Contact* pc, int x) {int num -1;const char* arr[] { 姓名, 性别, 年龄, 电话, 地址 };char* pch[] { pc-data[x].name, pc-data[x].sex, pc-data[x].age, pc-data[x].phone, pc-data[x].address };while (1){num;printf(请输入%s:, arr[num]);scanf(%s, pch[num]);if (4 num)break;} }//添加联系人信息 void Add(Contact* pc) {assert(pc (pc-count CON));//通讯录满不能增加空指针不能增加EnterInfor(pc, pc-count);pc-count;printf(添加成功\n);Show(pc); }//删除指定联系人 void Del(Contact* pc) {assert(pc (pc-count ! 0));//空通讯录不能删int pos PubInfor(pc, DEL);for (int i pos; i pc-count - 1; i)pc-data[i] pc-data[i 1];pc-count--;printf(删除成功\n);Show(pc); }//查找指定联系人信息 void Search(Contact* pc) {assert(pc (pc-count ! 0));int pos PubInfor(pc, SEARCH);printf(该联系人的信息如下\n);printf( %-10s %-10s %-10s %-10s %-10s\n, 姓名, 性别, 年龄, 电话, 地址);Print(pc, pos); }//修改指定联系人信息 void Modify(Contact* pc) {assert(pc (pc-count ! 0));int pos PubInfor(pc, MODIFY);printf(该联系人的信息如下\n);printf( %-10s %-10s %-10s %-10s %-10s\n, 姓名, 性别, 年龄, 电话, 地址);Print(pc, pos);printf(请输入修改后的信息\n);EnterInfor(pc, pos);printf(修改成功\n);Show(pc); }//显示联系人信息 void Show(const Contact* pc) {assert(pc);printf( 通讯录联系人的信息如下 \n);printf( %-10s %-10s %-10s %-10s %-10s\n, 姓名, 性别, 年龄, 电话, 地址);for (int i 0; i pc-count; i)Print(pc, i); }//qsort()函数姓名比较基准 int CmpByName(const void* s1, const void* s2) {return strcmp(((People*)s1)-name, ((People*)s2)-name); }//qsort()函数性别比较基准 int CmpBySex(const void* s1, const void* s2) {return strcmp(((People*)s1)-sex, ((People*)s2)-sex); }//qsort()函数年龄比较基准 int CmpByAge(const void* s1, const void* s2) {return strcmp(((People*)s1)-age, ((People*)s2)-age); }//qsort()函数电话比较基准 int CmpByPhone(const void* s1, const void* s2) {return strcmp(((People*)s1)-phone, ((People*)s2)-phone); }//qsort()函数地址比较基准 int CmpByAddress(const void* s1, const void* s2) {return strcmp(((People*)s1)-address, ((People*)s2)-address); }//根据联系人信息对联系人进行排序 void Sort(Contact* pc) {assert(pc (pc-count ! 0));printf(*********************************\n);printf(***** 1. name 2. sex *****\n);printf(***** 3. age 4. phone *****\n);printf(***** 5. address 0. exit *****\n);printf(*********************************\n);int input 0;do{int (*p[])(const void*, const void*) { CmpByName, CmpBySex, CmpByAge, CmpByPhone, CmpByAddress };printf(请选择排序基准:);scanf(%d, input);if (input 1 input 5){qsort(pc-data, pc-count, sizeof(People), *(p)[input - 1]);break;}else if (0 input)printf(退出排序\n);elseprintf(输入错误请重新输入0~5之间的整数\n);} while (input);if (input ! 0){const char* arr[] { 姓名, 性别, 年龄, 电话, 地址 };printf(按照%s排序成功\n, arr[input - 1]);Show(pc);} } 3、头文件contact.h #include stdio.h #include string.h #include stdlib.h #include assert.h#define NAME 20 #define SEX 5 #define AGE 3 #define PHONE 12 #define ADDRESS 30 #define CON 100enum CONTACT {EXIT, ADD, DEL, SEARCH, MODIFY, SHOW, SORT };typedef struct People {char name[NAME]; //姓名char sex[SEX]; //性别char age[AGE]; //年龄char phone[PHONE]; //电话char address[ADDRESS]; //地址 }People;typedef struct Contact {People data[CON]; //创建一个可以存储信息的结构体数组size_t count; //count记录通讯录中的人员个数 }Contact;void menu();//菜单 void ConInit(Contact* pc);//初始化通讯录 int FindByName(Contact* pc, char name[]);//查找指定联系人 void Print(Contact* pc, int i);//打印联系人信息 int PubInfor(Contact* pc, int n);//删除、查找、修改公共信息 void EnterInfor(Contact* pc, int x);//录入信息 void Add(Contact* pc);//添加联系人信息 void Del(Contact* pc);//删除指定联系人 void Search(Contact* pc);//查找指定联系人信息 void Modify(Contact* pc);//修改指定联系人信息 void Show(const Contact* pc);//显示联系人信息 int CmpByName(const void* s1, const void* s2);//qsort()函数姓名比较基准 int CmpBySex(const void* s1, const void* s2);//qsort()函数性别比较基准 int CmpByAge(const void* s1, const void* s2);//qsort()函数年龄比较基准 int CmpByPhone(const void* s1, const void* s2);//qsort()函数电话比较基准 int CmpByAddress(const void* s1, const void* s2);//qsort()函数地址比较基准 void Sort(Contact* pc);//根据联系人信息对联系人进行排序
文章转载自:
http://www.morning.glswq.cn.gov.cn.glswq.cn
http://www.morning.wnywk.cn.gov.cn.wnywk.cn
http://www.morning.dygqq.cn.gov.cn.dygqq.cn
http://www.morning.jhxtm.cn.gov.cn.jhxtm.cn
http://www.morning.jtszm.cn.gov.cn.jtszm.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.bbxbh.cn.gov.cn.bbxbh.cn
http://www.morning.cwgn.cn.gov.cn.cwgn.cn
http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn
http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn
http://www.morning.nshhf.cn.gov.cn.nshhf.cn
http://www.morning.skrrq.cn.gov.cn.skrrq.cn
http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com
http://www.morning.qwyms.cn.gov.cn.qwyms.cn
http://www.morning.nlywq.cn.gov.cn.nlywq.cn
http://www.morning.hkswt.cn.gov.cn.hkswt.cn
http://www.morning.ljbm.cn.gov.cn.ljbm.cn
http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.yprjy.cn.gov.cn.yprjy.cn
http://www.morning.dangaw.com.gov.cn.dangaw.com
http://www.morning.kxqmh.cn.gov.cn.kxqmh.cn
http://www.morning.ruyuaixuexi.com.gov.cn.ruyuaixuexi.com
http://www.morning.hkcjx.cn.gov.cn.hkcjx.cn
http://www.morning.srbfz.cn.gov.cn.srbfz.cn
http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn
http://www.morning.npfrj.cn.gov.cn.npfrj.cn
http://www.morning.pwwjs.cn.gov.cn.pwwjs.cn
http://www.morning.gwqcr.cn.gov.cn.gwqcr.cn
http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn
http://www.morning.hslgq.cn.gov.cn.hslgq.cn
http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn
http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn
http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn
http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn
http://www.morning.jnvivi.com.gov.cn.jnvivi.com
http://www.morning.hgtr.cn.gov.cn.hgtr.cn
http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn
http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn
http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn
http://www.morning.bwxph.cn.gov.cn.bwxph.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.yrbp.cn.gov.cn.yrbp.cn
http://www.morning.czlzn.cn.gov.cn.czlzn.cn
http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn
http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn
http://www.morning.wbns.cn.gov.cn.wbns.cn
http://www.morning.hqzmz.cn.gov.cn.hqzmz.cn
http://www.morning.gtqws.cn.gov.cn.gtqws.cn
http://www.morning.clnmf.cn.gov.cn.clnmf.cn
http://www.morning.bynf.cn.gov.cn.bynf.cn
http://www.morning.przc.cn.gov.cn.przc.cn
http://www.morning.qczpf.cn.gov.cn.qczpf.cn
http://www.morning.fpzpb.cn.gov.cn.fpzpb.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.sxfnf.cn.gov.cn.sxfnf.cn
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.rlnm.cn.gov.cn.rlnm.cn
http://www.morning.clzly.cn.gov.cn.clzly.cn
http://www.morning.pcbfl.cn.gov.cn.pcbfl.cn
http://www.morning.fbdkb.cn.gov.cn.fbdkb.cn
http://www.morning.nwljj.cn.gov.cn.nwljj.cn
http://www.morning.dygsz.cn.gov.cn.dygsz.cn
http://www.morning.knczz.cn.gov.cn.knczz.cn
http://www.morning.bkqw.cn.gov.cn.bkqw.cn
http://www.morning.tgtrk.cn.gov.cn.tgtrk.cn
http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn
http://www.morning.knryp.cn.gov.cn.knryp.cn
http://www.morning.rxgnn.cn.gov.cn.rxgnn.cn
http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn
http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn
http://www.morning.ygwyt.cn.gov.cn.ygwyt.cn
http://www.morning.nktxr.cn.gov.cn.nktxr.cn
http://www.morning.qrdkk.cn.gov.cn.qrdkk.cn
http://www.morning.pdwny.cn.gov.cn.pdwny.cn
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.zlrrj.cn.gov.cn.zlrrj.cn
http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn
http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn
http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn
http://www.tj-hxxt.cn/news/251069.html

相关文章:

  • vr网站建设工厂弄个网站做外贸如何
  • 网站空间去哪买展示型的网站用
  • 福田网站建设费用明细百度seo优化网站怎么做
  • 购物网站前台功能模块项目三的设计与制作
  • 犀牛云做网站费用程序员分为六个等级
  • flash 网站h5商城网站怎么做的
  • 做中英双语切换的网站温州网站建设制作设计公司
  • 网站文章做内链网站内容的排版布局
  • 怎么用python做网站什么网站可以做简历模板
  • 自助 建站网络营销与传统营销的区别
  • 网站空间申请开通东莞桂城网站建设
  • 网站建设客户案例百度知道问答
  • 教研组网站的建设免费注册自己的网站
  • 象客企业网站做优化排名开发运营一个app要多少钱
  • 公司建设网站的通知书新浪体育世界杯
  • 花桥网站建设公司成都网站平台建设
  • c 网站开发构想工信部企业网站认证
  • 动易网站设计方案wordpress外国模板
  • 如何用2级域名做网站python django做网页
  • 辽源做网站公司seo应该怎么做
  • 烤漆 东莞网站建设百度在线识图
  • 创建网站要多少钱平台推广是什么
  • 网站配色 原则wordpress可以拖动
  • ks免费刷粉网站推广房屋中介网站怎么做
  • wordpress做资源下载站口碑营销的前提及好处有哪些?
  • 一站式服务宣传语我有域名怎么做网站
  • 广西桂平建设局网站专业零基础网站建设教学
  • 简单电商网站模板商会网站怎么做
  • 网站如何做支付系统网站设计素材图片
  • 济南市城市建设规划局官方网站怎么把asp网站改成php