C语言课程设计报告—手机通讯录管理系统(2)

2018-12-04 17:19

课程设计说明书

三. 程序清单

#include #include #include #include #include

#include

#include void Menu(); FILE *fp; int i;

struct address

{ char a[40]; .............../*email地址*/ };

struct ffriend

{ int num; ............................./*序号*/ char name[20];.................../*姓名*/ char kind[20]; ................../*种类*/

long telephone;............./*电话号*/ struct address address;....../*邮箱*/ };

friends[50];

void Load() { int j; long k;

fp=fopen(\打开文件friend.txt*/ if(fp!=NULL) {

for(i=1;i<50;i++)

j=fgetc(fp);

if(j==EOF)...................................................../*判断是否到了文件尾*/ return; k=i-1;

fseek(fp,k*sizeof(struct ffriend),SEEK_SET);

fread(&friends[i],sizeof(struct ffriend),1,fp);........./*从文件中读取一

3

课程设计说明书

条记录*/ }

} else {

fp=fopen(\ i=1;

}

void Find(int j) ....................................... /*查询函数*/ {

system(\

printf(\编号-Nnumber: =\ printf(\姓名-Name:%-20s\ printf(\性别-kind:%s\

printf(\联系电话-Telephone:%-13ld\ printf(\}

void Append(int j) ............................................../*输入联系人函数*/ {

system(\

friends[j].num=j;

printf(\序号-Number : %d\

printf(\姓名-Name : \读入姓名*/ scanf(\

printf(\类别-kind : \读入类别*/ scanf(\

printf(\联系电话-telephone : \读入联系电话*/ scanf(\

while(friends[j].telephone<0||friends[j].telephone>16000000000) /*判断电话合法*/ {

printf(\电话号码不合法!请重新输入 : \ scanf(\ }

printf(\ scanf(\ getchar(); }

void Delete() ................................................................................/*删除信息函数*/

4

课程设计说明书

{ int k;int j; system(\

printf(\序号-Number : \输入要删除的人物序号*/ scanf(\

if(k<=i).............................................................................../*判断序号是否存在*/

{

for(j=k;j

strcpy(friends[j].name,friends[j+1].name);................/*开始交换元素内容*/ strcpy(friends[j].kind,friends[j+1].kind); friends[j].telephone=friends[j+1].telephone;

strcpy(friends[j].address.a,friends[j+1].address.a); }

i--; } else {

printf(\输入的序号太大!\ } }

void Modify(int j)............................................................................../*修改信息函数*/ {

system(\

Append(j);................................................................../*调用建立联系人函数*/ }

void Save()......................................................................................../*保存信息函数*/ {

int i,j; system(\

printf(\请耐心等待,信息正在保存!\\n\ printf(\ for(i=0;i<20;i++) {

Sleep(300); printf(\

5

课程设计说明书

} printf(\信息已经保存成功!\\n\ fp=fopen(\ for(j=1;j<=i;j++) {

fwrite(&friends[j],sizeof(struct ffriend),1,fp); }

fclose(fp); }

void main()....................................................................../*主函数*/ {

int j;char a;char x; char grade;

char searchkind[20]; char searchname[20]; i--;

system(\ do {

printf(\ printf(\手机通讯录 \\n\

printf(\功能选择 \\n\输出主界面*/ printf(\ printf(\ A.查看 *\\n\ printf(\ B.增添 *\\n\ printf(\ C.删除 *\\n\ printf(\ D.查询 *\\n\ printf(\ E.修改 *\\n\ printf(\ F.保存 *\\n\

printf(\ printf(\请选择(Choice)\\n\\n\\t\\t注:输入a~h或A~H的字母:\ scanf(\

switch(grade) ........................./*用switch case判断使用者要选择的功能*/ { case 'a':

case 'A': j=0;

while(getchar()!=0x1b&&j<=i) ............../*判断查询文件是否存在*/

{

Find(j++);......................................................./*调用查询函数*/

printf(\请按回车键继续!\ }

while(getchar()==0x1b||j>i)......................................./*判断查询文件是否存在*/

6

课程设计说明书

{

printf(\空文档,无任何记录-Empty Note\\n\ printf(\请按回车键继续!\ getchar(); break; }

printf(\此次操作结束\

printf(\ break; case 'b':

case 'B':

while(i<=50) {

i++;

Append(i);....................................../*调用建立联系人的函数*/

printf(\是否继续增加?(y/n)\ a=getchar(); if(a=='n')

break; }

if(i==51)........................................................./*判断是否存满记录*/ printf(\文档已满,无法增加记录-note full\ printf(\此次操作结束\

printf(\ getchar(); break; case 'c':

case 'C':

Delete();........................................../*调用删除联系人的函数*/

if(i<1)......................................./*判断查询联系人是否存在*/ printf(\没有记录-No records\\n\ printf(\请按回车键继续!\ getchar(); getchar();

printf(\此次操作结束\

printf(\ break; case 'd':

case 'D': system(\

printf(\请输入要查询记录的相关类别: p.个人类 b.商务类 w.

7


C语言课程设计报告—手机通讯录管理系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:同人游戏蜀汉传卧龙篇攻略

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: