版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
说明:统,至少具有如下功能:录通讯录内的人员的学号、姓名、地址、电话号码。示所有人员的信息。过输入姓名查找人员信息。加人员信息。系统功能描述:提供简单的通讯录进行管理,通过该程序存储联系人信息,提供关键字(只能是英文关键字进行查找)查找功能,可以对数据进行修改、删除、添加等操的功能如下:记录:以姓名为关键字,查找并显示该记录。若查找不记录:将当前记录按姓名序加入通讯录,然后显示第一录;记录:修改当前记录,显示当前记录。姓名为关键字,修改;记录:删除当前记录,然后显示第一条记录;条记录:将当前记录指针移动至首节点,若已为首节点,移动;条记录:将当前记录指针向前移动一个节点,若已为首则不移动;条记录:将当前记录指针向后移动一个节点,若已为尾则不移动;一条记录:将当前记录指针移动至尾节点,若已为尾节不移动;:从文件中掉入已保存的通讯录数据;:保存通讯录数据;:退出系统; 图1系统功能模块图使用的结构体和结构体数组,如:structcallmembercharname[20];charaddress[20];charcode[20];charcallnumber[20];户的信息进行保存,他们都以二进制的形式读写。charname[20];charaddress[20];charcode[20];charcallnumber[20]对姓名、地址、邮编、电话号码进行储存数中还使用了结构体数组:structcallmemberone[100];还使用了exit()、fclose()等库函数。还运用了头文件:#include"stdafx.h"#include"string.h"#include<stdio.h>clude<stdlib.h>使用大量的子函数,例如:voidoutput();void voidfound();voidmodify();voidinsert();函数的详细代码:voidoutput()intb=0,i=0;intstructcallmemberone[100];FILE*fp;if((fp=fopen("e:\\通讯录.txt","r"))==NULL)printf("无法从已有通讯录输入!\n可能是因为原通讯录不存在或为空!\n建议你检查你的通讯录文挡!\n");it(1);ile(fscanf(fp,"%s%s%s%s",one[i].name,one[i].addresone[i].code,one[i].callnumber)!=EOF)+;j=i;j;i++)printf("%s %s %s one[i].name,one[i].address,one[i].code,one[i].callnumr);ose(fp);voidinsert()FILEstructcallmember*p;if((fp=fopen("e:\\,"a+"))==NULL)printf("操作失败);it(1);structlmember));ntf("llmembermalloc(sizeof(struct**********************\n");intf("
姓名);anf("%s",p->name);intf("
地址);anf("%s",p->address);intf("
邮编);anf("%s",p->code);intf("
电话);anf("%s",p->callnumber);intf("**********************\n");fprintf(fp,"%s%s%s%s",p->name,p->address,p->code,callnumber);ose(fp);ee(p);对这些资源的合理利用使系统初步实现了通讯录管理系统功能。
y()
fclose(fp);}1运行进入程序主菜单2查看所有人员信息界面可以显示全部的人员的信息。可在3.3参看流程图。3功能界面4查找记录界面5修改界面6添加界面根据要求添加用户想添加的人员信息。7.退出界面:现没有查找人员信息时会自动返回主选单1本程序的局限性及改进方法:全面,比如年龄,性别,通讯地址,电去,电子邮箱还可以建立链接。3行。解决的办法是对指针进行必要跟踪,把该函数写入独立的cpp文件中,单个进行检查。进行处理。4心得体会与收获:通过这次课程设计,我对很多的函数有了新的认识,我对C是文件的开启和关闭,读与写。这次课课总的来说让我受益匪浅。写程序,才能更好的理解与掌握书本上西。#include<stdio.h> /*标准输入输出函数库#include<string.h>struct student{char
name[8];char tel[15];char addr[50];};charfilename[20];FILE*fp;voidsearch();voidappend();voidmodify();voidremove();main()intm;scanf("%d",&m);if(m>=0&&m<=5)switch(m)case1:append();case2:search();case
case
remove();case
case
printf("\n\n操作完毕,请再次选择!");
one;longs1;fprintf(fp,"%-10s%-20s%-50s\n","姓名","电话\n");scanf("%s",);while(strcmp(,"0"))scanf("%s%s",one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s\n",,one.tel,onscanf("%s",);voidoutput()
one;printf("\n\n%20s\n","通讯录");fscanf(fp,"%s%s%s\n",,one.tel,one.addr);printf("%-10s%-20s%-50s",,one.tel,one.addr
append()
one;printf("\n请输入添加的姓名、电话号码及住址\n");scanf("%s%s%s",,one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s\n",,o
k=0;charnamekey[8];structstudentone;scanf("%s",namekey);}fscanf(fp,"%s%s%s\n",,one.tel,one.addr);if(!strcmp(namekey,))printf("\n%-10s%-18s%-50s",,one.tel,one.ak=1;voidmodify()
m,k=0;charnamekey[8];structstudentone;scanf("%s",namekey);}fscanf(fp,"%s%s%s\n",,one.tel,one.addr);if(!strcmp(namekey,))k=1;printf("\n%-10s%-18s%-50s",one.na请输scanf("%s%s%s",,one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s\n",,one.tel,on
charnamekey[8],
structstudentone;scanf("%s",namekey);}fs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论