c语言课程设计报告图书管理系统精品.docx

上传人:b****6 文档编号:8507029 上传时间:2023-01-31 格式:DOCX 页数:27 大小:318.15KB
下载 相关 举报
c语言课程设计报告图书管理系统精品.docx_第1页
第1页 / 共27页
c语言课程设计报告图书管理系统精品.docx_第2页
第2页 / 共27页
c语言课程设计报告图书管理系统精品.docx_第3页
第3页 / 共27页
c语言课程设计报告图书管理系统精品.docx_第4页
第4页 / 共27页
c语言课程设计报告图书管理系统精品.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告图书管理系统精品.docx

《c语言课程设计报告图书管理系统精品.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告图书管理系统精品.docx(27页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告图书管理系统精品.docx

c语言课程设计报告图书管理系统精品

《高级语言程序设计(C)》

课程设计报告书

设计题目图书管理系统

姓名

专业班级

学号

指导老师

成绩

营销管理学院电子商务系

2011年1月

目录

一引言……………………………………………………………3

二系统功能和原始数据…………………………………………3

三程序总体设计…………………………………………………4

四功能模块函数设计和调试……………………………………5

五程序清单………………………………………………………12

六课程设计总结…………………………………………………17

一引言

在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程.本任务应用指针编制小型的图书管理系统.通过整个程序开发的过程,提高综合应用C语言的能力,编程和调试能力

.

二系统功能和原始数据

(一)系统功能

(1)主菜单

0.图书信息录入

1.图书信息浏览

2按书名查询图书信息

3.按ISBN查询图书信息

4.增加图书信息

5.按书名排序

6.删除记录

7.保存文件

8.打开文件

9.退出

(2)各项功能

0.图书信息录入:

输入图书的名字、ISBN、作者、价格、出版社等。

1.图书信息浏览:

图书的名字、ISBN、作者、价格、出版社等

2.查看与书的名字有关的信息:

根据书名查找书。

3.查看与作者有关的书的信息:

根据作者查找书。

4.增加书的信息:

输入书的名字、ISBN、作者、价格、出版社等。

5按照书名排序:

字母的形式排序

6删除记录:

删除一条书的信息

7.保存文件

8.文件打开

9.退出

(二)原始数据

图书信息:

图书信息包括:

书名.isbn.分类号.作者.出版日期.出版社.价格

文件结构:

书名

Isbn

分类号

作者

出版时间

出版单位

价格

C语言

123

Xx1

谭浩强

09-01-21

高等教育出版社

15

数学

234

Xx2

彭辉

09-01-21

高等教育出版社

16

思修

345

Xx3

邹邹

09-01-21

高等教育出版社

17

英教

456

Xx4

王浩

09-01-21

高等教育出版社

18

应用文

567

Xx5

瑞瑞

09-01-21

高等教育出版社

19

概率

678

Xx6

雪雪

09-01-21

高等教育出版社

20

管理学

789

Xx7

小邹

09-01-21

高等教育出版社

21

线代

890

Xx8

周敏

09-01-21

高等教育出版社

22

军事

901

Xx9

张向东刘毅

09-01-21

高等教育出版社

23

运筹

012

Xx0

崔崔

09-01-21

高等教育出版社

24

三程序总体设计

(一)数据结构:

structrecord

{

charname[20];

charisbn[20];

charauthor[40];

charprice[10];

charcompany[30];

}

(二)模块划分:

四功能模块函数设计和调试

(一)函数原型,功能和形参说明

函数原型:

Voidadduser()Voidlist()Voidsearch_name()Voidsearch_isbn()Voidadd()

Voidlistbyname()Voiddele()Voidsave()Voidread()

函数功能:

adduser()增加书籍信息

list()显示书籍信息

search_name()按书名查找

search_isbn()按ISBN号码查找

add()增加书籍信息

listbyname()按书名排序

dele()删除书籍信息

save()保存

read()文件打开

参数说明:

read()/*从文件中读入数据*/FILE*fp;/*定义文件指针*/

(二)函数流程图

书名查找与ISBN查找方法相同

 

 

按书名删除与按ISBN删除方法相同

(三)运行结果

五程序清单

#include/*引用库函数*/

#include

#include

#include

#include

#include

#definenull0;

structrecord

{

charname[20];

charisbn[20];

charauthor[40];

chartype[10];

chardate[10];

charprice[10];

charcompany[30];

}student[30];

structLinkList

{

structrecordUS;

structLinkList*next;

}a;

structLinkList*head=null;

intnum=0;

FILE*fp;

 

intmenu_select();/*菜单函数*/

intadduser();

intlist();

intsearch_name();

intsearch_isbn();

intadd();

intlistbyname();

intdele();

intsave();

intread();

intexit();

voidmain()

{

system("cls");/*运行前清屏*/

for(;;)

{

switch(menu_select())

{

case0:

adduser();

break;

case1:

list();

break;

case2:

search_name();

break;

case3:

search_isbn();

break;

case4:

add();

break;

case5:

listbyname();

break;

case6:

dele();

break;

case7:

save();

break;

case8:

read();

break;

case9:

exit(0);

}

}

}

menu_select()

{

ints;

inta;

cout<<"*_*按任意键进入菜单!

*_*"<

getch();

system("cls");

cout<<"\t\t********************MENU*********************\n"<

cout<<"\t\t0.图书信息录入"<

cout<<"\t\t1.图书信息浏览"<

cout<<"\t\t2.按书名查询图书信息"<

cout<<"\t\t3.按ISBN查询图书信息"<

cout<<"\t\t4.增加图书信息"<

cout<<"\t\t5.按书名排序"<

cout<<"\t\t6.删除记录"<

cout<<"\t\t7.数据保存"<

cout<<"\t\t8.文件打开"<

cout<<"\t\t9.退出"<

cout<<"\t\t***********************************************"<

do{

cout<<"\n输入你的选择(0~9):

";

cin>>s;

a=s;

}

while(a<0||a>9);

returna;

}

adduser()//输入函数

{

cout<<"\n\t\t****************请输入图书信息****************"<

cout<<"\n\t\t输入书名:

";/*交互输入*/

cin>>student[num].name;

cout<<"\n\t\t输入ISBN:

";

cin>>student[num].isbn;

cout<<"\n\t\t输入作者:

";

cin>>student[num].author;

cout<<"\n\t\t输入分类号:

";

cin>>student[num].type;

cout<<"\n\t\t输入出版日期:

";

cin>>student[num].date;

cout<<"\n\t\t输入价格:

";

cin>>student[num].price;

cout<<"\n\t\t输入出版单位:

";

cin>>student[num].company;

num++;

cout<<"\n\t\t是否继续添加?

(Y/N):

";

charz;

cin>>z;

if((z=='y')||(z=='Y'))

adduser();

return(0);

}

intlist()//显示函数

{

inti;

system("cls");

if(num!

=0)

{

cout<<"\n\t\t***************以下为该书所有信息************";

for(i=0;i

{

cout<<"\n\t\t书名:

"<

cout<<"\n\t\tISBN:

"<

cout<<"\n\t\t作者:

"<

cout<<"\n\t\t分类号:

"<

cout<<"\n\t\t出版日期:

"<

cout<<"\n\t\t价格:

"<

cout<<"\n\t\t出版单位:

"<

cout<<"\t\t";

if(i+1

{

cout<<"\n\t\t__________________________";

system("pause");

}

}

cout<<"\n\t\t************************************************";

}

else

cout<<"\n\t\t书库中无任何纪录";

cout<<"\n\t\t按任意键返回主菜单:

";

getch();

return(0);

}

search_name()//按书名查找

{

intmark=0;

inti;

inta=0;

cout<<"\n\t\t*****************按书名查找*******************";

charname[20];

cout<<"\n\t\t请输入书名:

";

cin>>name;

for(i=a;i

{

if(strcmp(student[i].name,name)==0)

{

cout<<"\n\t\t*************以下是您查找的信息***************";

cout<<"\n\t\t书名:

"<

cout<<"\n\t\tISBN:

"<

cout<<"\n\t\t作者:

"<

cout<<"\n\t\t分类号:

"<

cout<<"\n\t\t出版日期:

"<

cout<<"\n\t\t价格:

"<

cout<<"\n\t\t出版单位:

"<

cout<<"\n\t\t************************************************";

mark++;

if((i+1)

{

cout<<"\n\t\t是否继续查找相同名字的信息:

(y/n)";

chary;cin>>y;

if((y=='y')||(y=='Y'))

{

a=i;

continue;

}

else

return(0);

}

else

{

cout<<"\n\t\t按任意键返回主菜单";

getch();

return(0);

}

}

}

if(mark==0)

{

cout<<"\n\t\t没有相同书名纪录";

cout<<"\n\t\t按任意键返回主菜单";

getch();

return(0);

}

}

search_isbn()//按ISBN查找

{

intmark=0;

inti;

inta=0;

cout<<"\n\t\t******************按ISBN查找******************";

charisbn[10];

cout<<"\n\t\t请输入ISBN:

";

cin>>isbn;

for(i=0;i

{

if(strcmp(student[i].isbn,isbn)==0)

{

cout<<"\n\t\t**************以下是您查找的书籍信息**********";

cout<<"\n\t\t书名:

"<

cout<<"\n\t\tISBN:

"<

cout<<"\n\t\t分类号:

"<

cout<<"\n\t\t出版日期:

"<

cout<<"\n\t\t价格:

"<

cout<<"\n\t\t作者:

"<

cout<<"\n\t\t出版单位:

"<

cout<<"\n\t\t************************************************";

cout<<"\n\t\t按任意键返回主菜单:

";

mark++;

getch();

return(0);

}

}

if(mark==0)

{

cout<<"\n\t\t没有更改信息";

cout<<"\n\t\t按任意键返回主菜单";

getch();

return(0);

}

return(0);

}

add()//增加书籍信息

{

inti;

if((fp=fopen("student.bin","wb"))==NULL)

{

cout<<"\n\t\t文件打开失败";

}

for(i=0;i

{

if(fwrite(&student[i],sizeof(structrecord),1,fp)!

=1)

{

cout<<"\n\t\t写入文件错误!

\n";

}

cout<<"\n\t\t****************请输入书籍信息****************"<

cout<<"\n\t\t输入书名:

";

cin>>student[num].name;

cout<<"\n\t\t输入ISBN号码:

";

cin>>student[num].isbn;

cout<<"\n\t\t输入作者:

";

cin>>student[num].author;

cout<<"\n\t\t输入出版日期:

";

cin>>student[num].date;

cout<<"\n\t\t输入分类号:

";

cin>>student[num].type;

cout<<"\n\t\t输入价格:

";

cin>>student[num].price;

cout<<"\n\t\t输入出版单位:

";

cin>>student[num].company;

num++;

cout<<"\n\t\t是否继续添加?

(Y/N):

";

if(getch()=='y')

adduser();

return(0);

}

fclose(fp);

cout<<"\n\t\t图书文件已保存";

cout<<"\n\t\t按任意键退出程序\n\t\t";

exit(0);

return(0);

}

voiddeletebyisbn()

{

inti,j;

intdeletemark=0;

charisbn[20];

cout<<"\n\t\t请输入要删除ISBN号码:

";

cin>>isbn;

if(num==0)

{

cout<<"\n\t\t对不起,文件中无任何纪录";

cout<<"\n\t\t按任意键返回主菜单";

getch();

return;

}

for(i=0;i

{

if(strcmp(student[i].isbn,isbn)==NULL)

{

cout<<"\n\t\t以下是您要删除的书籍纪录:

";

cout<<"\n\t\t书名:

"<

cout<<"\n\t\tISBN:

"<

cout<<"\n\t\t分类号:

"<

cout<<"\n\t\t出版日期:

"<

cout<<"\n\t\t价格:

"<

cout<<"\n\t\t作者:

"<

cout<<"\n\t\t出版单位:

"<

cout<<"\n\t\t是否删除?

(y/n)";

charu;cin>>u;

if((u=='y')||(u=='Y'))

{

for(j=i;j

student[j]=student[j+1];

num--;

deletemark++;

cout<<"\n\t\t删除成功";

cout<<"\n\t\t是否继续删除?

(y/n)";

charv;cin>>v;

if((v=='y')||(v=='Y'))

deletebyisbn();

return;

}

else

return;

}

continue;

}

if(deletemark==0)

{

cout<<"\n\t\t没有该书籍的纪录";

cout<<"\n\t\t是否继续删除?

(y/n)";

charm;cin>>m;

if((m=='y')||(m=='Y'))

deletebyisbn();

return;

}

}

voiddeletebyname()

{

inta=0;

intfindmark=0;

intj;

intdeletemark=0;

inti;

charname[20];

cout<<"\n\t\t请输入要删除书籍名称:

";

cin>>name;

for(i=a;i

{

if(strcmp(student[i].name,name)==NULL)

{

cout<<"\n\t\t以下是您要删除的书籍纪录:

";

findmark++;

cout<<"\n\t\t________________________________";

cout<<"\n\t\t书名:

"<

cout<<"\n\t\tISBN:

"<

cout<<"\n\t\t分类号:

"<

cout<<"\n\t\t作者:

"<

cout<<"\n\t\t出版日期:

"<

cout<<"\n\t\t价格:

"<

cout<<"\n\t\t出版单位:

"<

cout<<"\n\t\t________________________________";

cout<<"\n\t\t是否删除?

(y/n)";

charn;cin>>n;

if((n=='y')||(n=='Y'))

{

for(j=i;j

student[j]=student[j+1];

num--;

deletemark++;

cout<<"\n\t\t删除成功";

if((i+1)

{

cout<<"\n\t\t是否继续删除相同书籍信息?

(y/n)";

charl;cin>>l;

if((l=='y')||(l=='Y'))

{

a=i;

continue;

}

}

cout<<"\n\t\t是否继续删除?

(y/n)";

charo;cin>>o;

if((o=='y')||(o=='Y'))

deletebyname();

return;

}

if((i+1)

{

cout<<"\n\t\t是否继续删除相同书名信息?

(y/n)";

charp;cin>>p;

if((p=='y')||(p=='Y'))

{

a=i;

continue;

}

}

}

else

continue;

}

if((deletemark==0)&&(findmark==0))

{

cout<<"\n\t\t没有该书籍的纪录";

cout<<"\n\t\t是否继续删除?

(y/n)";

charq;cin>>q;

if((q=='y')||(q=='Y'))

deletebyisbn();

return;

return;

}

elseif(findmark!

=0)

{

cout<<"\n\t\t没

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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