通讯录管理系统1Word下载.docx

上传人:b****5 文档编号:21663521 上传时间:2023-01-31 格式:DOCX 页数:24 大小:571.03KB
下载 相关 举报
通讯录管理系统1Word下载.docx_第1页
第1页 / 共24页
通讯录管理系统1Word下载.docx_第2页
第2页 / 共24页
通讯录管理系统1Word下载.docx_第3页
第3页 / 共24页
通讯录管理系统1Word下载.docx_第4页
第4页 / 共24页
通讯录管理系统1Word下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

通讯录管理系统1Word下载.docx

《通讯录管理系统1Word下载.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统1Word下载.docx(24页珍藏版)》请在冰豆网上搜索。

通讯录管理系统1Word下载.docx

登陆号,书名,作者名,分类号,出版单位,出版时间,价格等;

图书信息录入功能;

图书信息分类浏览功能;

查询和排序功能:

(1)按书名查询;

(2)按登陆号查询;

图书信息的删除和修改;

系统的各个功能模块要求用函数的形式实现;

完成设计任务并书写课程设计报告;

1.2系统功能需求分析

主要包含以下多种功能:

●新建:

添加图书信息

●浏览:

显示图书信息

●查询:

查询图书信息

●修改:

修改图书信息

●删除:

删除图书信息

●保存:

将信息保存到文件

第2章总体设计

整个系统可以设计为主菜单模块、数据插入模块、数据浏览模块、数据查找模块、数据修改模块、数据删除模块、文件导入模块和文件保存模块。

voidmainmenu();

/*主菜单*/

voidinput();

/*输入图书信息*/

voidsearchbookname();

/*根据书名查询*/

voidsearchloginnum();

/*根据登录号查询*/

voidinsert();

/*插入图书信息*/

voiddelet();

/*删除图书信息*/

voidchange();

/*改变图书信息*/

voidmyexit();

/*返回主菜单*/

voidmain();

/*主函数*/

总体模块流图:

第3章详细设计

采用结构体数组。

Struct

{longloginnum;

/*登录号*/

charbookname[100];

/*书名*/

charwritername[20];

/*作者名*/

longbookid;

/*书号*/

charunit[100];

/*出版社地址*/

floatprice;

/*图书价格*/

chartime[15];

/*出版时间*/

}cbook;

/*信息结构体数组*/

(1)主菜单模块

采用switch()函数从键盘选择相应菜单的对应功能。

switch(num)

{

case1:

input();

break;

/*图书信息录入*/

case2:

searchbookname();

/*按书名查找*/

case3:

searchloginnum();

/*按登陆号查找*/

case4:

insert();

/*图书信息插入*/

case5:

change();

/*图书信息修改*/

case6:

delet();

/*图书信息删除*/

case7:

my_exit();

/*退出*/

default:

printf("

您输入的数字有误,请重新输入\n"

);

}

(2)数据录入模块

请输入图书信息:

\n"

登录号--书名--作者名--书号--出版社名--图书价格--出版时间\n"

while

(1)

{scanf("

%ld"

&

loginnum);

if(loginnum==-1)

break;

scanf("

%s%s%ld%s%s%f"

bookname,writername,&

bookid,unit,time,&

price);

book[book_n].loginnum=loginnum;

strcpy(book[book_n].bookname,bookname);

strcpy(book[book_n].writername,writername);

book[book_n].bookid=bookid;

strcpy(book[book_n].unit,unit);

book[book_n].price=price;

strcpy(book[book_n].time,time);

book_n++;

}save();

//调用文件保存模块将联系人信息

(3)数据浏览模块

由于本程序新建立文件book.txt,因此图书信息的查询即可到D盘book.txt文件中查找。

voidsave()

{

FILE*fp;

inti;

if((fp=fopen("

D:

\\book.txt"

"

w+"

))==NULL)

{

printf("

cannotopenthefile\n"

return;

}

for(i=0;

i<

3;

i++)

fprintf(fp,"

%ld%s%s%ld%s%s%f\n"

book[i].loginnum,book[i].bookname,book[i].writername,book[i].bookid,book[i].unit,book[i].time,book[i].price);

}

fclose(fp);

(3)数据查询模块

a.按图书名查询

voidsearchbookname()

{

intmark=0;

charbookname[100];

printf("

\n按书名查找\n"

\n请输入书名:

"

%s"

bookname);

for(inti=0;

book_n;

if(strcmp(book[i].bookname,bookname)==0)

{printf("

\n以下是您查找的图书信息\n"

\n登录号:

%ld\n"

book[i].loginnum);

\n书名:

%s\n"

book[i].bookname);

\n作者名:

book[i].writername);

\n书号:

book[i].bookid);

\n出版社地址:

book[i].unit);

\n图书价格:

%f\n"

book[i].price);

\n出版时间:

%s\n"

book[i].time);

mark++;

}

if(mark==0)

\n没有该书名的图书纪录\n"

printfmenu();

b.按登陆号查找

voidsearchloginnum()

intmark=0,i;

longloginnum;

\n按登录号查找\n"

\n请输入登录号:

if(book[i].loginnum=loginnum)

\n以下是您查找的图书信息\n"

\n作者名:

if(mark==0)

\n\t\t没有该图书信息"

为了保证图书信息修改与删除后图书信息的直接动态,本程序又将文件读了出来,并在最后关闭文件的后面又打开了文件,防止文件的丢失与程序的不正常结束。

(4)图书信息插入

intcmp(constvoid*a,constvoid*b)

cbook*p1;

cbook*p2;

p1=(cbook*)a;

p2=(cbook*)b;

returnp1->

loginnum-p2->

loginnum;

intinsert()

{printf("

请输入要插入的图书信息\n"

%ld%s%s%ld%s%s%f"

loginnum,bookname,writername,&

strcpy(book[book_n].bookname,bookname);

strcpy(book[book_n].writername,writername);

book[book_n].bookid=bookid;

strcpy(book[book_n].unit,unit);

book[book_n].price=price;

strcpy(book[book_n].time,time);

book_n++;

qsort(book,book_n,sizeof(book[0]),cmp);

in();

return0;

(5)图书信息修改

intchange()

请输入要修改的图书的书号\n"

{if(loginnum==book[i].loginnum)

break;

if(i==book_n)

printf("

没有这本书\n"

return0;

请输入要修改的图书信息\n"

scanf("

book[i].loginnum=loginnum;

strcpy(book[i].bookname,bookname);

strcpy(book[i].writername,writername);

book[i].bookid=bookid;

strcpy(book[i].unit,unit);

book[i].price=price;

strcpy(book[i].time,time);

return0;

(6)图书信息删除

intdelet()

请输入要删除的图书的书号\n"

for(i=0;

{if(loginnum==book[i].loginnum)

intj;

for(j=i;

j<

j++)

copystruct(j,j+1);

book_n--;

(7)退出并返回主菜单

voidmy_exit()

{FILE*fp;

fp=fopen("

r+"

fprintf(fp,"

%ld%s%s%ld%s%f"

book[i].loginnum,book[i].bookname,book[i].writername,book[i].bookid,book[i].unit,book[i].price,book[i].time);

exit(0);

第4章程序源代码

#include<

stdio.h>

string.h>

stdlib.h>

typedefstruct

{longloginnum;

charwritername[20];

longbookid;

charunit[100];

floatprice;

chartime[15];

cbookbook[1000];

intbook_n=0;

longloginnum;

voidprintfmenu();

intcmp(constvoid*a,constvoid*b)

cbook*p1;

voidcopystruct(inta,intb)

book[a].loginnum=book[b].loginnum;

strcpy(book[a].bookname,book[b].bookname);

strcpy(book[a].writername,book[b].writername);

book[a].bookid=book[b].bookid;

strcpy(book[a].unit,book[b].unit);

book[a].price=book[b].price;

strcpy(book[a].time,book[b].time);

%ld%s%s%ld%s%s%f\n"

voidinput()

while

(1)

book[book_n].bookid=bookid;

strcpy(book[book_n].unit,unit);

book[book_n].price=price;

strcpy(book[book_n].time,time);

book_n++;

save();

}

voidsearchloginnum()

if(book[i].loginnum==loginnum)

printfmenu();

voidin()

w"

))!

=NULL)

{

r"

exit(0);

intinsert()

intchange()

scanf("

strcpy(book[i].unit,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1