2018年7月24日日报
姓名:任光烨 日期: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日日报相关推荐
- 梦想世界2014年5月29日服务器维护公告,2018年5月24日更新公告
2018年5月24日更新公告 发布时间:2018-05-24 [新增内容] 1.口令红包:新增帮派口令红包,玩家通过帮派频道-表情-红包即可打开口令红包界面 1)开放时间为:晚上18:00-22:00 ...
- 2018年7月20日日报
姓名:任光烨 日期:2018年7月20日 今日学习任务:学习Linux操作指令,在Linux环境下完善通讯录程序,用*输出sin cos函数等. 今日完成情况:都已完成,200~300代码. 今日开发 ...
- 2018年7月21日日报
姓名:任光烨 日期:2018年7月21日 今日学习任务:学习Linux操作指令,趣味编程3.4题,通讯录程序新增修改功能. 今日完成情况:都已完成,300~400代码. 今日开发中出现的问题汇总:无. ...
- 2018年7月18日日报
姓名:任光烨 日期:2018年7月18日 今日学习任务: 1.自习Linux操作指令 2.将下列名单随机分组:分组要求,随机选择4个人组成一组 输出结果:4个人一行进行输出,每行代表一个组. 3.在v ...
- 2018年7月19日日报
姓名:任光烨 日期:2018年7月19日 今日学习任务:学习Linux操作指令. 今日完成情况:都已完成,100~200代码. 今日开发中出现的问题汇总:无. 今日未解决问题:无. 今日开发收获:学习 ...
- 2018年7月24日安全快讯
安全动态 "漏洞即挖矿" DVP去中心化漏洞平台全球上线 https://dvpnet.io/ 大量蓝牙硬件和系统驱动程序受加密bug影响,可能导致攻击者获取秘钥 https:// ...
- 用Windows Live Writer在51CTO写博客(2018年2月24日更新)
OpenLiveWriter客户端下载请见附件 打开客户端:使用Windows Live Writer时会出现向导界面,快速引导我们配置博客空间,如图: 选择"Other services& ...
- 2015年6月24日日报
今天要做的事情: 1.摄像头怎么录一段视频 2.录好之后发W老师看一下 3.标groundtruth 4.找SH问一下 怎么给数据的问题. 给数据的方式有两种: A.因为每个图片要切成好几个图片,我们 ...
- 2018年8月24日英语学习
新句 短篇1主题:中年危机(midlife crisis) phrase almost completes itself: midlife crisis 中年危机 这个词语几乎完全的解释了自己 It' ...
最新文章
- SEO基础知识8大精华文章之第三篇 SEO的历史(连载)
- QML与C++交互:登陆界面设计
- 【已解决】对JSP页面传值中文乱码的简单解决方法
- windows下mysql命令_windows下的mysql命令使用
- Shell(13)——find
- P3396 哈希冲突 根号分治
- Flask 验证模式
- 20210803:AXI-Stream协议源码分析初探
- Linux php5 curl 扩展
- 用js判断ie版本,ie11被识别为ie7
- 卡尔曼滤波算法及其应用
- prayaya v3-国产神操作系统
- 5G加速实现沉浸式体验
- 嗨格式Heic图片转换器v1.0.13.1436官方版
- sja1000 中断_SJA1000程序
- Mac环境下为Python安装MySQLdb库时遇到的诸多问题
- vue 使用人脸识别_使用Vue.js和Kairos构建简单的人脸识别应用
- linux 监听图形,Zabbix3.2+Grafana4.0实现可视化监控图形
- 苹果核”乔布斯不为人知的九件事
- CTR --- AFM论文阅读笔记,及tf2复现
热门文章
- mysql行转列简单例子_mysql行转列、列转行示例
- 【技术邻】基于有限元方法的整车风噪仿真分析
- 标准正态分布函数数值表
- windows7隐藏桌面计算机,win7小技巧之隐藏桌面图标
- 安卓10侧边返回_安卓10.0内测版现新操作手势:取消返回键、全靠Home胶囊完成...
- 一起talk C栗子吧(第一百八十七回:C语言实例--反余弦函数 )
- 西门子服务器装系统,IPC427D重新安装系统
- 【有利可图网】PS实战教程36:巧用PS制作人物破碎消散效果
- iOS软件开发实现类似微信上传图片选择
- Charles使用及常用功能介绍