版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通讯录管理系统设计思路,首先对于通讯录中的各成员包含的信息序号、姓名、TEL、住址定义一个结构体。 对与通讯录重要实现的各种操作可以使用一张菜单清单进行任务选择使用switch语句执行 实验中定义一个结构体数组来储存成员,进行成员的插入,信息修改,删除操作 实验的数据输入包括选择功能数字,成员的联系信息,查找的成员姓名;输出成员的信息。 实验采用文件对学生数据的保存,提高操作效率,结构体模型,姓名 char name【】 结构体 Data Type 电话号码 char phone【】 住址 char addr 【】 0-选择进行建立一个通讯录 1-列出成员的信息 2-查找成员的信息 功能清单
2、3-删除一个成员 4-增加新的成员 5-通讯录排序 6-实现通讯录中的文件复制 7-退出系统,实验主要用到的函数,1:通讯建立函数 Enter() 2:成员信息列出函数 List() 3: 成员删除函数Delete() 4:成员新增函数Add () 5:成员信息排序函数Sort() 6:文件复制函数Copy() 7: 退出系统函数Quit(,Main 函数的设置,void main() int m; do printf(* * * * * * * * * *MENU * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf( 0
3、-Enter recordn); printf( 1-List the filen); printf( 2-Search record on namen); printf( 3-Delete a recordn); printf( 4-Add recordn); printf( 5-Sort to make new filen); printf( 6-copy the file to new filen); printf( 7-Quitn); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
4、 * * * *n,printf(nEnter your choice(07):n); scanf(%d,void enter(void) /进入工作,初始化通讯录信息 FILE*fp; int i,j; for(i=0;iSIZE;i+) /输入成员信息 printf(nInput score of student%d:n,i+1); printf(NO.:); scanf(%s,stui.num); printf(name:); scanf(%s,); printf(phone:); scanf(%s,stui.phone); printf(%s,stui.addr);
5、if(fp=fopen(“stu.dat”,“wb”)=NULL)/新建一个stu.dat文件储存信息 printf(Can not open the file.n); exit(0); for(i=0;iSIZE;i+) /将信息写入文件中 if(fwrite(,void list(void) /输出学生信息 FILE*fp; int i,n; if(fp=fopen(“stu.dat”,“rb”)=NULL) /打开建立好的文件stu.dat printf(Can not open the file.n); exit(0); for(i=0;fread(,void search(void)
6、 /查找学生信息 int b; do printf(* * * * * * * * MENU* * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf( 8-search by number.n ); printf( 9-search by name.n); printf( 10-exit.n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(“nEnter your choice
7、(810):n”); /查找的方法选择 scanf(“%d,void sea_num(void) /以序号进行查找 FILE*fp; int i,flag,n; char num10; if(fp=fopen(stu.dat,rb)=NULL)/以二进制读的一个方式打开一个文件 printf(Can not open the file.n); exit(0); for(i=0;fread,printf(No.tnametphonen); printf( %st%st%st%sn,stui.num,,stui.phone,stui.addr); flag=1; printf(*
8、 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); if(flag!=1)printf(Not found the recordn);,void sea_name(void) /按名字查找成员信息 FILE*fp; int i,j,flag,n; char name10; if(fp=fopen(“stu.dat”,“rb”)=NULL)/打开文件stu.dat printf(Can not open the file.n); exit(0); for(i=0;fread,printf(
9、 %st%st%st%sn,stui.num,,stui.phone,stui.addr); flag=1; printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); if(flag!=1)printf(Not found the recordn);,void sort(void)/通讯录排序 FILE*fp; int i,j,n; struct student temp; if(fp=fopen(stu.dat,rb)=NULL)/二进制方式打开一文件 pr
10、intf(Can not open the file.n); exit(0); for(i=0;fread(,printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(No.tnametphonen); for(i=0;in;i+) printf(%st%st%stn,stui.num,,stui.phone,stui.addr ); fp=fopen(stu.dat,wb);/新创一个文件将排好序的文件写入新建的文件中 for(i=0;in;i
11、+) fwrite(,void add(void)/追加新的学生信息 int i,j,n; FILE*fp; struct student s; printf(NO.:); scanf(%s,s.num); printf(name:); scanf(%s,); printf(phone:); scanf(%s,s.phone); printf(address:); scanf(%s,s.addr); if(fp=fopen(stu.dat,rb)=NULL) printf(nCan not open the file.n); exit(0); for(i=0;fread,fclos
12、e(fp); strcpy(,);/将新增人的信息复制到结构体数组中 strcpy(stun.num,s.num); strcpy(stun.phone,s.phone); strcpy(stun.addr,s.addr); n=n+1; /n记录成员的个数,新增时时n加一 printf(nNow the new list is:n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(No.tnametphonen); pr
13、intf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); fp=fopen(stu.dat,wb); for(i=0;in;i+) fwrite(,void Delete(void) /删除某人的信息 FILE*fp; int i,j,n,flag; char name10; if(fp=fopen(“stu.dat”,“rb”)=NULL) /打开储存文件stu.dat printf(nCan not open the file.n); exit(0); for(i=0;fread,n=n-1; /储存成员个数的变量n减一 printf(nNow the list is:n?); fp=fopen(“stu.dat”,“wb”); /追加的方式打开储存文件stu.dat for(i=0;in;i+) fwrite,void copy(void) /文件复制 FILE * in,* out; /定义两个文件指针fp if(in=fopen(“stu.dat”,“rb”)=NULL) /in指向需要复制的文件 print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京西城区北自科技校园招聘参考考试试题及答案解析
- 2026年郑州商贸旅游职业学院单招综合素质考试备考试题含详细答案解析
- 2026年宁夏职业技术学院单招综合素质考试模拟试题含详细答案解析
- 2026年广东茂名农林科技职业学院单招综合素质考试备考题库含详细答案解析
- 2026年铁岭师范高等专科学校高职单招职业适应性测试模拟试题及答案详细解析
- 2026年长沙电力职业技术学院单招综合素质笔试备考试题含详细答案解析
- 2026年长白山职业技术学院单招综合素质考试备考试题含详细答案解析
- 2026年辽宁工程职业学院单招综合素质考试参考题库含详细答案解析
- 2026广西崇左凭祥市退役军人服务中心见习人员招聘1人考试参考题库及答案解析
- 2026年海南外国语职业学院单招职业技能考试备考试题含详细答案解析
- 物资管理实施细则
- 2025年北京东城区天街集团有限公司招聘笔试参考题库含答案解析
- 结肠炎与肠道菌群的关系
- 安全健康与自我管理学习通超星期末考试答案章节答案2024年
- 2024年《国际货运代理实务》考试复习题库资料(含答案)
- 人教版2019高中英语选择性必修二(课文语法填空)
- 乳腺炎与乳腺癌关联研究
- 2022年初会《经济法》真题答案
- 新华人寿培训讲义
- GB/T 22551-2023旅居车辆居住要求
- mdvx节能证书及第三方检测报告cqc
评论
0/150
提交评论