姓名:任光烨 日期:2018年7月24日

今日学习任务:自学文件操作,单链表,完成通讯录4.0。

今日完成情况:都已完成,100~200行代码。

今日开发中出现的问题汇总:全局变量的延迟问题,fwrite函数的参数,。

今日未解决问题:无。

今日开发收获:文件操作以及数据结构

自我评价:

其他:附通讯录4.0源代码

通讯录现已完成功能汇总:

1.信息录入

2信息按序号以及名字大小冒泡排序输出

3修改信息

4删除信息

5按照电话号码以及名字查找信息

实现功能需自行创建data文件,可按自己需求修改信息存储文件的目录。

#include<stdio.h>
#include<string.h>
#define nmemb 10
int i=0;//信息总数
struct test
{int num;char name[30];char sex[30];char address[30];char tel[30];
}stu[nmemb];
int screen1();//声明
void screen2()//显示功能
{int ag=0,b=0;int ig,jg;int og=0;char new3[30];aa: printf("请选择显示方式:1.按序号显示2.按名字大小显示\n");printf("请输入:");scanf("%d",&ag);if(ag==1){for(b=0;b<i;b++){printf("序号为:%d\n",stu[b].num);printf("姓名为:%s\n",stu[b].name);printf("性别为:%s\n",stu[b].sex);printf("地址为:%s\n",stu[b].address);printf("电话为:%s\n",stu[b].tel);}      screen1();}else if(ag==2){for(ig=0;ig<i-1;ig++){for(jg=0;jg<i-1-ig;jg++){if(strcmp(stu[ig].name,stu[ig+1].name)>0){strcpy(new3,stu[ig].name);strcpy(stu[ig].name,stu[ig+1].name);strcpy(stu[ig+1].name,new3);strcpy(new3,stu[ig].sex);strcpy(stu[ig].sex,stu[ig+1].sex);strcpy(stu[ig+1].sex,new3);strcpy(new3,stu[ig].address);strcpy(stu[ig].address,stu[ig+1].address);strcpy(stu[ig+1].address,new3);strcpy(new3,stu[ig].tel);strcpy(stu[ig].tel,stu[ig+1].tel);strcpy(stu[ig+1].tel,new3);}}}for(b=0;b<i;b++){printf("序号为:%d\n",stu[b].num);printf("姓名为:%s\n",stu[b].name);printf("性别为:%s\n",stu[b].sex);printf("地址为:%s\n",stu[b].address);printf("电话为:%s\n",stu[b].tel);}      }else {printf("输入错误");ag=0;goto aa;}screen1();
}
void screen3()//输入信息功能
{int c=0,d=0;for(c=i;c<10;c++){// printf("请输入序号:");// scanf("%d",&stu[c].num);printf("请输入姓名:");scanf("%s",stu[c].name);printf("请输入性别:");scanf("%s",stu[c].sex);printf("请输入地址:");scanf("%s",stu[c].address);printf("请输入号码:");scanf("%s",stu[c].tel);printf("输入成功\n");i++;lopa:printf("继续输入请按1,退出请按2\n");printf("请输入:");scanf("%d",&d);if(d==1);else if(d==2) break;else{goto lopa;}if(i==nmemb){printf("通讯录已满");}}screen1();
}
void screen4()//删除信息功能
{int e=0,f=0,g=0;for(g=0;g<i;g++){printf("序号为:%d\n",stu[g].num);printf("姓名为:%s\n",stu[g].name);printf("性别为:%s\n",stu[g].sex);printf("地址为:%s\n",stu[g].address);printf("电话为:%s\n",stu[g].tel);}printf("请选择需要删除的序号:");scanf("%d",&e);for(f=e;f<i;f++){strcpy( stu[f-1].name,stu[f].name);strcpy( stu[f-1].tel,stu[f].tel);strcpy( stu[f-1].sex,stu[f].sex);strcpy( stu[f-1].address,stu[f].address);}strcpy( stu[i].name,"");strcpy( stu[i].tel,"");strcpy( stu[i].sex,"");strcpy( stu[i].address,"");i--;printf("删除成功\n");screen1();
}
void screen5()
{int j=0,k=0;char new1[30];kkk: printf("请选择查找方法:1.按电话号码查找 2.按姓名查找 3.返回主菜单\n");strcpy(new1,"");printf("请输入:");scanf("%d",&j);if(j==1){printf("请输入所要查询的电话号码:");scanf("%s",new1);for(k=0;k<10;k++){if(strcmp(new1,stu[k].tel)==0){printf("已找到相关信息:\n");printf("序号为:%d\n",stu[k].num);printf("姓名为:%s\n",stu[k].name);printf("性别为:%s\n",stu[k].sex);printf("地址为:%s\n",stu[k].address);printf("电话为:%s\n",stu[k].tel);break;}if(k==9){printf("未找到相关信息\n");}}}else if(j==2){printf("请输入所要查找的姓名:");scanf("%s",new1);for(k=0;k<10;k++){if(strcmp(new1,stu[k].name)==0){printf("已找到相关信息:\n");printf("序号为:%d\n",stu[k].num);printf("姓名为:%s\n",stu[k].name);printf("性别为:%s\n",stu[k].sex);printf("地址为:%s\n",stu[k].address);printf("电话为:%s\n",stu[k].tel);break;}if(k==9){printf("未找到相关信息\n");}}screen1();}else if(j==3){screen1();}else {   printf("输入错误\n");goto kkk;}screen1();
}
void screen6()//修改信息功能
{int o,p,q,r;char new2[10];for(r=0;r<i;r++){printf("序号为:%d\n",stu[r].num);printf("姓名为:%s\n",stu[r].name);printf("性别为:%s\n",stu[r].sex);printf("地址为:%s\n",stu[r].address);printf("电话为:%s\n",stu[r].tel);}printf("请输入需要修改信息的序号:\n");printf("请输入:");scanf("%d",&q);printf("序号为:%d\n",stu[q-1].num);printf("姓名为:%s\n",stu[q-1].name);printf("性别为:%s\n",stu[q-1].sex);printf("地址为:%s\n",stu[q-1].address);printf("电话为:%s\n",stu[q-1].tel);ee: printf("请选择需要修改的内容:1.姓名 2.性别 3 地址 4.电话号码 5.返回主界面\n");strcpy(new2,"");printf("请输入: ");scanf("%d",&o);if(o==1){p=0;ff: printf("请输入新姓名:");scanf("%s",new2);printf("%s",new2);gg: printf("请确认信息是否正确\n");printf("确认请按1,重新输入请按2 : ");scanf("%d",&p);if(p==1){strcpy( stu[q-1].name,new2);printf("修改成功\n");goto ee;}else if(p==2){goto ff;}else{printf("输入错误");goto gg;}}else if(o==2){p=0;ff1: printf("请输入新性别:");scanf("%s",new2);printf("%s",new2);gg1: printf("请确认信息是否正确\n");printf("确认请按1,重新输入请按2 : ");scanf("%d",&p);if(p==1){strcpy( stu[q-1].sex,new2);printf("修改成功\n");goto ee;}else if(p==2){goto ff1;}else{printf("输入错误");goto gg1;}}else if(o==3){p=0;ff2: printf("请输入新地址:");scanf("%s",new2);printf("%s",new2);gg2: printf("请确认信息是否正确\n");printf("确认请按1,重新输入请按2 : ");scanf("%d",&p);if(p==1){strcpy( stu[q-1].address,new2);printf("修改成功\n");goto ee;}else if(p==2){goto ff2;}else{printf("输入错误");goto gg2;}}else if(o==4){p=0;ff3: printf("请输入新号码:");scanf("%s",new2);printf("%s",new2);gg3: printf("请确认信息是否正确\n");printf("确认请按1,重新输入请按2 : ");scanf("%d",&p);if(p==1){strcpy( stu[q-1].tel,new2);printf("修改成功\n");goto ee;}else if(p==2){goto ff3;}else{printf("输入错误");goto gg3;}}else if(o==5){screen1();}else{printf("输入错误");goto ee;}screen1();
}
int screen1()//主屏幕
{int a=0;int flag = 1;printf("****************************\n");printf("************功能************\n");printf("       1. 显示通讯录        \n");printf("       2. 添加新信息        \n");printf("       3. 删除信息          \n");printf("       4. 查找信息          \n");printf("       5. 修改信息          \n");printf("       6. 结束功能          \n");printf("****************************\n");printf("请选择功能(1~6):");scanf("%d",&a);switch(a){case 1:screen2();break;case 2:screen3();break;case 3:screen4();break;case 4:screen5();break;case 5:screen6();break;case 6:flag=0;sleep(0.5);break;default :printf("输入错误\n");break;}return flag;
}
int main()
{int h=0;int flag=1;FILE * stream;stream=fopen("/root/Desktop/addresslist/data","r");if(stream == NULL){printf("文件打开失败");}fread(&i,sizeof(int),1,stream);printf("总数为:%d",i);fread(stu,sizeof(struct test),i,stream);fclose(stream);for(h=0;h<10;h++){stu[h].num=h+1;}while(flag){flag=screen1();}stream=fopen("/root/Desktop/addresslist/data","w+");fwrite(&i,sizeof(int),1,stream);fwrite(stu,sizeof(struct test),10,stream);fclose(stream);return 0;
}

2018年7月24日日报相关推荐

  1. 梦想世界2014年5月29日服务器维护公告,2018年5月24日更新公告

    2018年5月24日更新公告 发布时间:2018-05-24 [新增内容] 1.口令红包:新增帮派口令红包,玩家通过帮派频道-表情-红包即可打开口令红包界面 1)开放时间为:晚上18:00-22:00 ...

  2. 2018年7月20日日报

    姓名:任光烨 日期:2018年7月20日 今日学习任务:学习Linux操作指令,在Linux环境下完善通讯录程序,用*输出sin cos函数等. 今日完成情况:都已完成,200~300代码. 今日开发 ...

  3. 2018年7月21日日报

    姓名:任光烨 日期:2018年7月21日 今日学习任务:学习Linux操作指令,趣味编程3.4题,通讯录程序新增修改功能. 今日完成情况:都已完成,300~400代码. 今日开发中出现的问题汇总:无. ...

  4. 2018年7月18日日报

    姓名:任光烨 日期:2018年7月18日 今日学习任务: 1.自习Linux操作指令 2.将下列名单随机分组:分组要求,随机选择4个人组成一组 输出结果:4个人一行进行输出,每行代表一个组. 3.在v ...

  5. 2018年7月19日日报

    姓名:任光烨 日期:2018年7月19日 今日学习任务:学习Linux操作指令. 今日完成情况:都已完成,100~200代码. 今日开发中出现的问题汇总:无. 今日未解决问题:无. 今日开发收获:学习 ...

  6. 2018年7月24日安全快讯

    安全动态 "漏洞即挖矿" DVP去中心化漏洞平台全球上线 https://dvpnet.io/ 大量蓝牙硬件和系统驱动程序受加密bug影响,可能导致攻击者获取秘钥 https:// ...

  7. 用Windows Live Writer在51CTO写博客(2018年2月24日更新)

    OpenLiveWriter客户端下载请见附件 打开客户端:使用Windows Live Writer时会出现向导界面,快速引导我们配置博客空间,如图: 选择"Other services& ...

  8. 2015年6月24日日报

    今天要做的事情: 1.摄像头怎么录一段视频 2.录好之后发W老师看一下 3.标groundtruth 4.找SH问一下 怎么给数据的问题. 给数据的方式有两种: A.因为每个图片要切成好几个图片,我们 ...

  9. 2018年8月24日英语学习

    新句 短篇1主题:中年危机(midlife crisis) phrase almost completes itself: midlife crisis 中年危机 这个词语几乎完全的解释了自己 It' ...

最新文章

  1. SEO基础知识8大精华文章之第三篇 SEO的历史(连载)
  2. QML与C++交互:登陆界面设计
  3. 【已解决】对JSP页面传值中文乱码的简单解决方法
  4. windows下mysql命令_windows下的mysql命令使用
  5. Shell(13)——find
  6. P3396 哈希冲突 根号分治
  7. Flask 验证模式
  8. 20210803:AXI-Stream协议源码分析初探
  9. Linux php5 curl 扩展
  10. 用js判断ie版本,ie11被识别为ie7
  11. 卡尔曼滤波算法及其应用
  12. prayaya v3-国产神操作系统
  13. 5G加速实现沉浸式体验
  14. 嗨格式Heic图片转换器v1.0.13.1436官方版
  15. sja1000 中断_SJA1000程序
  16. Mac环境下为Python安装MySQLdb库时遇到的诸多问题
  17. vue 使用人脸识别_使用Vue.js和Kairos构建简单的人脸识别应用
  18. linux 监听图形,Zabbix3.2+Grafana4.0实现可视化监控图形
  19. 苹果核”乔布斯不为人知的九件事
  20. CTR --- AFM论文阅读笔记,及tf2复现

热门文章

  1. mysql行转列简单例子_mysql行转列、列转行示例
  2. 【技术邻】基于有限元方法的整车风噪仿真分析
  3. 标准正态分布函数数值表
  4. windows7隐藏桌面计算机,win7小技巧之隐藏桌面图标
  5. 安卓10侧边返回_安卓10.0内测版现新操作手势:取消返回键、全靠Home胶囊完成...
  6. 一起talk C栗子吧(第一百八十七回:C语言实例--反余弦函数 )
  7. 西门子服务器装系统,IPC427D重新安装系统
  8. 【有利可图网】PS实战教程36:巧用PS制作人物破碎消散效果
  9. iOS软件开发实现类似微信上传图片选择
  10. Charles使用及常用功能介绍