图书档案管理系统指南_第1页
图书档案管理系统指南_第2页
图书档案管理系统指南_第3页
图书档案管理系统指南_第4页
图书档案管理系统指南_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计课程设计阐明书

图书借阅管理系统

指导教师:张银霞

设计者:翟祥闫妍郝显微岳俊

专业班级:化工092

设计时间:2023年10月-12月

《C语言程序设计》课程设计任务书

专业班级:化工092

设计题目:图书管理系统

一、已知技术参数或设计前提

1、图书馆有多种图书200万册。

2、每种图书均有书号、书名、作者(译者)、出版社、定价这些基本信息。

3、借书卡记录有佶阅者的卡号、姓名、班级。

二、设计内容及规定

图书借阅管理系统

(1)输入:将书的序号,书名,作者,出版日期,单价储存到书文献里。

(2)删除:将没故意义或破损n勺书在文献里删除。

(3)修改:可输入书号或书名讲行杳询,找到后来对图书错误的信息讲行

修改。

(4)查询:

若按书号查询,输入书号后来,屏幕上会出现书的详细信息,包括书

的序号,书名,作者,出版日期,单价。

若按书名查询,输入后,屏幕上口勺显示成果也是书的详细信息。

(5)办卡:将新卡储存到卡文献里。

(6)退卡:将要删除的卡从卡文献里删除。

(7)借书时,屏幕上显示请输入你口勺卡号,请输入你要借阅的书的书号,

若该书已被借出,屏幕上显示对不起,此书有人借出,请借其他书。

若该书没有借出,则直接显示借书完毕,按任意键返回,

(8)还书时,输入你要还时书的书号,输入后屏幕上显示还书完毕,按任

意键返回。

三、课程设计工作计划

1、确定题目,成立设计小组,做顾客需求分析(10月22日)

2、查阅资料,进行问题分析,制定方案,确定组员分工(10月22日-25日)

3、根据方案编写程序并进行调试(10月26Tl月26日)

4、撰写设计阐明书,完毕设计(11月27日-12月5日)

5、提交设计内容,答辩()

四、有关教材及参照书目

[1]谭浩强.C程序设计.清华大学出版社,2023年

「21邓文新、张宏烈.C语言程序设计措施.哈尔滨工业大学出版社,2023年

[3][美]BrianW.Kernighan,DennisM.Ritchie.C程序设计语言.机械工业

出版社,2023年

[4]KennethA.Reek.C和指针.人民邮电出版社,1998年

[5]PerterVanDerLinDen.C专家编程,人民邮电出版社,2023年

指导教师签字:

系主任签字:

年月FI

书借阅管理系统

一、需求分析

当今社会知识逐渐占据主导地位,人们越来越需要知识,图竹馆竹店逐

渐成为人们理解知识掌握知识的窗口,因此更需要有效的管理图反以便人们

以便查阅。许多的I大学图书馆里,图不管里对管理人员来说是非常麻烦的事

情,并且有些落后的地区,图书管理还是靠人工管理,针对这些现象,我们

设计此系统,但愿可以为他们提供某些协助。。

二、系统的软硬件环境

1、硬件环境CPUIntel1.80GHz内存1G硬盘80G

2、软件环境WindowsXPMicrosoftVisualC++6.0

三、系统模块功能:

1、总体功能

实现图书信息的全面管理,重要是对图书书名,书号叫管理。通过此程序

可以更以便的处理图书信息,如图1所示。

怪1图书借阅管理系统程序功能框架图

2、模块功能

(1)输入模块

该模块是实现对图书按照书号、书名、作者、出版日期、单价的录入并保留

到文献中

(2)删除模块

该模块实现按图书编号对图书信息的删除。

(3)修改模块

该模块实现按图书号或刊名对图出信息n勺修改。

(4)查询模块

实现按图书编号和书名查询每种图书的信息

(5)记录模块

记录图书管既有的图书的数量。

(6)读者管理模块

该模块实现添加读者卡口勺信息和删除读者卡口勺信息。

(7)借阅模块

实现图书的借阅和偿还。

四程序设计分析

1、数据构造

程序定义了两个构造体变量emp[100],card[500]构造体组员包括图书序

号no、书名mz、作者zuozhe、出版日期nl、单价salar、卡号cardnum、读者

姓名readername、班级classnum、借书日期lenddate。

structbook

(

charno[5];

charmz[10];

charzuozhe[10];

intnl;

intsalar;

}emp[NUM],ncwemp;

structcard

(

intcardnum;

charreadernameF101:

intclassnun;

intbooknum;

charlcnddate[10];

}card[500];

2、模块设计分析

(1)主函数

用printf函数输出有关信息,然后用while(1)语句执行循环体,用scanf

函数获取命令,用if判断操作与否对的,用switch语句执行函数的调用。

(2)图书信息输入

由input()函数实现,用fopcn语句打开文献通过if来判断文献与否存在,

用for语句执行循环体,用scanf函数获取图书各项信息,定义一种整形变量n,

用来记录输入图书口勺木数,当这些图书信息输入完毕后,接受到命令0跳出循环

体。运用fwrite函数将录入的数据逐一写到文献emp.txt中,再用fclose函数

关闭文献emp.txte

(3)删除模块

函数先定义了整形变量x,然后用while(1)语句执行循环体,用scanf

函数获取命令,用if判断操作与否对的,用switch语句执行函数的调用。

用fopen函数按照rb的方式打开己经保留好H勺文献"emp.txt”,然后用

printf语句输出删除前的图书记录,再用for语句和fread函数逐条读出文献

中日勺数据,然后用scanf语句输入要删除的书日勺书号,并用字符串比较函数

strc叩判断与否有此图书信息,若找到此图书信息,删除后,再用fclose函数

关闭文献emp.txt再一次打开emp文献用fwrite函数和for循环将删除后的图

书记录emp[i].no,emp[i].mz,emp[i].zuozhe,emp[i].nl,emp[i].salar;重新

写入文献emp中。然后关闭文献。

(4)修改模块

函数先定义了整形变量x,然后用while(1)语句执行循环体,用scanf

函数获取命令,用if判断操作与否对的,用switch语句执行函数的调用。在调

用modi_num()函数中定义文献指针*fp和整形变量i,然后按照rb+日勺方式打开

已经保留好的文献”。叩.txt”,然后用for语句和fread函数逐条读出文献中

日勺数据,然后用scanf语句输入要修改的图书序号,并用字符串比较函数strcmp

判断与否有此图书信息,若找到此商品信息并用scanf函数输入此商品修改后日勺

信息。修改成功后再用fwrite函数将商品信息再次保留到文献“。叩.txt”中。

最终用fclose函数关闭文献“emp.txt”。

(5)查询模块

函数先定义了整形变量x,然后用while(1)语句执行循环体,用scanf

函数获取命令,用if判断操作与否对的,用switch语句执行函数的调用。在调

用scarch_num()函数中定义文献指针*fp和整形变量i,然后按照rb的方式打

开已经保留好的文献“emp.ixt",然后用for语句和fread函数逐条读出

"emp.txt"文献中的信息,然后用scanf语句输入要查询的书的序号,并用字

符串比较函数strcmp判断与否有此图书信息,若找到此商品信息则通过printf

语句输出图书信息。然后关闭文献。调用searchjnzO,原理同上。

(6)记录模块

用fopen函数按照rb方式打开文献“emp.txt",然后用fread函数读出文

献中的信息,再用for语句输出读出图书各项信息,并用i控制循环,对要记录

的图书总数量进行求合计和,再用printf函数输出图书的总数量,fclose函数

关闭文献"emp.txt”。

(7)读者信息录入

由addcard()函数实现,用fopen语句打开文献通过if来判断文献与否存在,

用for语句执行循环体,用scanf函数获取学生各项信息,当某种信息输入完毕

后,假如要继续录入下一种卡则按y,按n则信息录入已结束接受到命令跳出循

环体。运用fwrite函数将录入日勺数据逐一写到文献“card,txt〃中,再用fclose

函数关闭文献“card,txt

(8)读者信息删除

用fopcn函数按照rb的方式打开已经保留好的文献"card,txt”,然后用

printf语句输出删除前的卡记录,再用for语句和frcad函数逐条读出文献中

啊数据,然后用scanf语句输入要删除的卡号,并与文献中的卡号比较,判断与

否有此卡信息,若找到此卡信息,删除后,再用fclose函数关闭文献card.txt

再一次打开card文献用fwrite函数和for循环将删除后的卡记录

card[i].cardnum,card[i].readerneime,card",classnum;重新写入文献card

中。然后关闭文献。

(9)借阅图书

先定义文献指针和整形变量以及时间变量,用while(1)来执行循环体。

然后按照rb+啊方式打开已经保留好的文献“card.txt”,然后用for语句和

fread函数逐条读出"card,txt”文献中的信息,然后用scanf语句输入要借书

者的卡号,并用字符串比较函数strc叩判断与否有此卡号信息,若找到此信息

则通过scanf语句得到借书口勺图书编序号。然后按照rb口勺方式打开已经保留好

的J文献"emp.txt",然后用for语句和fread函数逐条读出“emp.txt”文献中

【付信息,并用字符串比较函数strcmp判断与否有此图书信息,若找到该图书信

息,则借书成功,并且将该书信息写如到lend.txt文献中,用printf函数显示

借阅成功和借阅时间,最终关闭文献。

(10)偿还图书

先定义文献指针、整形变量以及时间变量和字符变量,用while(1)来执

行循环体。然后按照rb时方式打开已经保留好日勺文献“lend,txt”,然后用for

语句和frcad函数逐条读出“lend,txt”文献中的信息,然后用scanf语句输入

要偿还的图书序号,并用字符串比较函数stremp判断与否有此图书信息,若找

到此信息。则偿还成功,用printf函数显示偿还成功和偿还时间。

五、使用阐明

1、启动系统

首先将光盘插入光驱,待光盘转动后打开,可以看到里面包括四部分:图书

借阅管理系统.c、emp.txt、card.txl>图书借阅管理系统.exe、图书借阅管理

系统阐明书。

在我的电脑C盘中新建一种文献夹,命名为图书管理系统,将图书管理系

统.c、emp.txt、card.txt>图书管理系统.exe。一起复制到其中。

在安装有MicrosoftVisualC++6.0的环境下,双击打开c盘中名为图书管

理系统的文献夹,然后双击图书管理系统.c,点击上方按钮器编译程序,接着

点击按钮--运行程序即可进入系统主界面,如图2所示。

I*C:\Docu>cntsandSettings\Ad>inistrator\IyDocimcnts\**Fit®l\VC\CoaMon.r7

设计班级:化工892

设计时间:20101120

.

2*毛

西

***欢迎使用图书管理系统***

请选择(0-7):

图2图书管理系统运行主菜单

使用者可以根据需要选择对应时键进行操作。

2、输入功能

在图2界面下选择数字1可进入输入功能界面,屏幕显示提醒信息,使用者

逐渐输入“输入图书数:"“输入格式:书号书名作者出版口期单价”后,系

统会自动将输入日勺图书信息保留到文献中,如图3所示。

c<*C:\Docu>entsandSet1ings\AdBinistrator\lyDocuBents\不要■\VC\COBBOIU••-□X

谀首工

6H二E

-An

V享

7产n

总-

4吭

0Y

XX欢迎使用图书管理系统IX

款选择〈0-7):

数%

:者壮

庵单价〈Enter〉

/'传

11耐

F5::0吴40

西

2承

2-R:

:0一

布45

I-“

2图

3书

4郭

5录

6理S

7理

0统

XX欢迎使用图书管理系统XXX

导选择<0-7):

d

图3输入图书信息运行界面

3、删除功能

在图2界面下选择数字2可进入删除功能界面,这时出现删除子菜单,规定

作者输入要删除的书号,输入书号后,程序开始执行删除功能,如图4、5所示。

c:\■C:\DocuMentsandSettings\Adsinistrator\lyDocuments\不要■\VC\Couon...□可

名—

嚎者

/■1力F

单价〈

传Enter)

1001水

个:

承40

2。:02

西

、45

2~

***欢迎使用图书管理系统3*

请选择〈。-7):

记录

0.返回主菜阜

请选择

QQPinyin半:

图4删除图书信息记录运行界面

图5删除图书信息记录运行界面

4、修改功能

在图2界面下选择数字3可进入修改功能界面,此程序模块重要于以便使用

人员进行录入的图书记录日勺错误日勺修改,使用人员选择修改日勺方式,直接输入图

书号,按照提醒就可以成功修改图书记录,选择“0”,则程序返回主菜单,如

图6、7、8所示。

c:\-C:\DocuaentsandSettingsVAdainistrator\IyDocuMentsX^F^ftWCXCoBaon...n2S1

■Z]

*******

主毒

单**■

1记

2书

3录

4查

5计

6者I

读1-

>理

7阅

0出

***欢迎使用图书管理系统***

请选择《0-7):

修改子菜单

襄书

号修

1改

2改

0菜

请送择<0-2):

图6修改图书信息运行界面

若选择1

□|x|

■3

佚名£胃鼻

2,投书名修改

0.返回主篥革

请选择<0-2〉:1

修改的书号找到原书:8。2

式:书号书名作者出版日期单价〈Enter〉

001西游记吴承忠1990011245

已夕r—.

t号•书号书名作道出版日期单价

1001西游记吴承恩1990011245

修改子菜年

1.书号修改

2.按书名修改

0.扳回主菜单

请选择《0-2):

QQPinyin半:

图7修改图书信息运行界面

若选择2

图£修改图书信息运行界面

5、查询功能

在图2界面下选择数字4可进入查询功能界面,此程序模块重要于以便使用

人员进行查询图书,使用人员选择查询的方式,直接输入书号或书名,按照提醒

就可以成功查询图书,选择“0”,则程序返回主菜单,如图9、10、11所示。

按书号查询

图9查询图书信息运行界面

按书名查询

武・C:\Docu>entsandSettings\Ad>inistrator\lyDocuaents\不要flM\VC\CoB>on----_nix

***欢迎使用图书管理系统二

请选择〈a-?):

查子菜单

襄书号

1查询

2查

0菜

请选择<0-2):2

署查询的书名:西游记

经录导书号书名作者出版日期单价

1002西游记吴承恩1990122448

查子菜单

1.

2.

请选择《0-2):

QQPinyin▼

图10查询图书信息运行界面

6、记录功能

在图2界面下选择数字5可进入记录功能界面,该功能以便图巾管理者整顿

图书馆里的藏书,如图7所示。

**欢迎使用图书管理系统***

款选择〈0-7〉:

世号

p」书名

蚯缶有出版日期单价

学.

101实荀照彬

理1990101225

203验

孟飞虎18891123

304化18

大迤丽如

405物01050620

本矍丽螂

草188S0412

纲35

李时珍1880011445

主方

f田*

>理S

**欢迎使用图书管理乐统***

手选择<0-?):

图11记录图书信息运行界面

7、读者管理功能

在图2界面下选择数字6可进入读者管理功能界面,使用者按照指示进行读

者卡口勺办理和删除,然后系统将录入的卡记录自动保留到对应口勺文献中,如图

12、13、14所示。

c'*C:\DocuaentsandSettings\Ad*inistrator\IyDocu*ents\不要■\VC\Coa*on...-|n|x

删除读卡者程序

请输入要管理的对象号制0~2之间):

图12读者管理运行界面

c:*C:\DocuaentsandSettings\Adainistratoi\MyDocuBentsV1^^・\yC\CoBB(m.••0jx|

■z

是否继续,输入y.表示^续,输入。,表示放弃

卡号

诙者名字

班级

是否继续,输入y.表示^续,输入n,表示放弃

N主番*

欢迎使用图书管理漆统…

情选择<0-7):

图13读者管理运行界面

进入读者管理程序日勺删除读者卡功能后,会显示删除子菜单,如图9所示。

图14读者管理运行界面

8、借阅管理功能

在图2界面下选择数字7可进入借阅功能界面,使用者按照指示进行借阅图

书和偿还图书,如图15、16、17、18、19、20所示。

C:\Duuu*citl»midS匕11iKigs'AdMJLnjLal工Ducu*匕nl不妾■\VC\Cuaaun.0・日EJE

仅输入要管器髅号码(1〜2之间):

图15图书借阅运行界面

"C:\Docu>entsandSettings\Ad*inistrator\lyDocuaentsVF^flMWC'CoBMon—

请输入借书者的

图16图书借阅运行界面

输入卡号后,和图书编号后,

NX

八MC:XDocuaentsandSettings\Adainistrator\IyDocuaents\不要・\VC\Co»Bon...

情输入借书者的卡号

1

Eli

晴输入要借书的图书编号

mi

睛圆成珈

‘昔同时间为

SunDec1908:31:132010

赢赢正「赢赢。凝函羸

图17图书借阅运行界面

CA-C:\Docu>entsandSettings\AdBinistrator\lyDocuaeivtsVF^・\VC\Couon----「口|

1:借I兄为T,

2:归还图书

请输入要管理的对象号科(1〜2之间):

图18图书借阅运行界面

|c<*c:\Docu>entsandSettings\Ad>inistrator\lyDocuaerrts\不要■\VC\Couon•一

U1w.

H

图19图书借阅运行界面

然后输入偿还图书日勺编号

Z■C:\Docu>entsandSettings\Ad>inistrator\IyDocuaents,不要IWC'CcmBon...

网输入要归还的编号

001

归还成功?

归还时间为

SunDec1908:35:382010

能续归还请按1,退出清按。并按回车结束

d

图20图书借阅运行界面

六、结束语

通过本次课程设计,我们学到了不少东西,最重要的是:我们真正的体会到c

语言在实际生活中口勺作用,也深刻体会到了它带来的以便快捷。在设计过程中使

我们学会了分工和合作。同步也使我们愈加懂得了团体协作口勺重要性!就拿我们

来说吧,在设计之前,脑中一片空白,主线不懂得从哪里做起,最终通过讨论,还

是先查资料充实自己最重要,因此我们四个人都去找资料了,通过不停的看书,

和在网上看和我们相似的程序,我们终于明白该从哪里做起了,找到资料后,又

一起讨论,分析,选材。通过大家的一起努力,终于将程序设计好了。美中局限性

【付就是,本程序还处在初级阶段的图书借阅管理功能中,只实现了对图书口勺录入、

删除、修改、查询、基本借阅等简朴功能,不一定在实际中有大的用途。

在本次程序设计中,出现了多种各样的问题,在完毕各自模块建立起程序后

运行后,出现了诸多错误,通过我们长时间H勺修改,还是不能处理问题,无奈之

下去找老师处理问题,老师给我们提供了许多的I协助,通过仔细的检查和调试我

们最终把问题都处理了,顺利时完毕了程序时运夕亍。

查询、借阅模块是我们编写是花费时间最多的一部分,对于查询我们在其中

加入了子菜单,想实现分别用学号和姓名查找,因此花费了诸多精力,也修改了

诸多次,但我们最终成功了;然后我们仿照查找模块在修改模块中也加入了子菜

单,丰富了我们日勺函数。而借阅更是困难,由于想实现书和卡日勺联络,因此花费

了我们很长的时间。

在各自编写模块的时候,大家每碰到困难时都大家一起讨论一起查找资料,

共同处理问题,每当处理了一•种问题大家都会更有信心,又向终点前进了一步;

在完毕整个程序运行时,我们都捏了一把汗,生怕又有错误,当运行成功出现了

那个我们既熟悉又陌生的主目录时,我们悬着的心终于落到了地上,但在执行菜

单里的命令时又碰到了些麻烦,有些信息输入后但不能输出出来,在我们通过几

次尝试后,最终杷输入的形式改了,利定义口勺类型做了更改,终于出现了我们所

预期的效果。

通过这次的课程设计,我们才体会到自己学到口勺还远远不够,并且很不扎实,

因此后来有机会我们会更深入的学习C语言。

七、参照文献

[1]谭浩强.C程序设计.清华大学出版社,2023年

[2]邓文新、张宏烈.C语言程序设计措施.哈尔滨工业大学出版社,2023年

[3][美]BrianW.Kernighan,DennisM.Ritchie.C程序设计语言.机械工业

出版社,2023年

[4]KennethA.Reek.C和指针.人民邮电出版社,1998年

[5]PerterVanDerLinDen.C专家编程.人民邮电出版社,2023年

八、组员分工

姓名重要负责内容

翟祥总体设计主菜单程序,删除数据程序H勺编码与调试

郝显微学生数据管理,记录程序日勺编码与调试

闫研借阅,偿还,修改程序的编码与调试

岳俊负责输入,查询程序R勺编码与调试

九、源程序代码

#includc"timc.h"

#include<stdio.h>

#include<stdlib.h>

#includc<conio.h>

#include<string.h>

#include<iostream.h>

#dcfineNUM100

voidinput();产输入图书记录*/

voidsearch();户查找图书记录*/

voidscarch_num();/*按图书名查找图书*/

voidsearch_mz();/*按图书号查找图书*/

voiddeictcO;/*删除图书记录*/

voiddelctc」nim();/*按图书号删除图书记录*/

voidmodi();/*修改图书记录*/

voidmodi_num();/*按图书号修改图书记录*/

voidmodi_mz();/*按图书名修改图书记录*/

voidstat();/*记录图书记录*/

voidaddcard();/*增长卡*/

voiddclcard();/*删除卡*/

voiddclcard_num();

voidMngrcader();/*读者管理函数*/

voidfindbook();

voidlendbook();

voidretumbookO;

voidLendbook();

structreader/*读者类型*/

intcardnum;

charreadernaine[10];

}readers[1000];

structbook/*图书数据构造*/

charno[5];

charmz[10];

charzuozhc[10J;

intnl;

intsalar;

)emp[NUM],newemp;

structcard/*借书卡*/

(

intcardnum;

charreadername110];

intclassnuin;

intbooknum;

charlenddateflO]:/*借书日期*/

}card[5000];

main()

{intx;

);

printf("****************-*\n"

printf("**\n");

printf("*C语言程序设计*\n");

printf("指导教师:张银霞\n");

printf("**\n");

printf("*设计者:相祥(组长)*\nH);

printf("*闫妍郝显微岳俊*\n");

printf("**\n");

printf("**\n");

printf("*设计班级:化工092*\n");

printf("**\n");

printf("*设计时间:20231120*\n)

printfC**\n');

printf("**\n");

******************

printf("\n");

)

while(l)

(

printf("-------====***主菜单***=========\n");

printf("1.输入图书记录\n”);

printf("2.删除图书记录\n”);

printf("3.修改图书记录\n”);

printf("4.查询图书记录\n”);

printf("5.记录图书\n");

printf("6.读者管理程序\n”);

printfC7.借阅管理程序\n");

printf("0.退出系统\n”);

printf("\n");

printf("***欢迎使用图书管理系统***\n");

printf("请选择(0-7):\n");

scanf("%d",&x);

switch(x)

(

case1:input();brcak;

case2:dclctc();brcak;

ease3:modi();brcak;

case4:search();break;

case5:stat():break;

case6:Mngreader();break;

case7:Lendbook();break;

case0:break;

default:printf("\nWrong!"!;

}

if(x==0)break;

/*图书管理程序部分*/

voidinput()

{

FILE*fp;

intn,i;

if((fp=fopcn("cmp";'wb"))==NULL)

{

printf("不能建立cmp文献\n");

cxit(l);

)

printf("输入图书数:");

scanf("%d".&n);

printf("输入格式:书号书名作者出版日期单价(Enter>\n");

for(i=0;i<n;i++)/*循环获取n个图书记录*/

{

printfC%%d个图书:",i+1);

scanf("%s%s%s%d%d",enip[i].no,emp[i].mz,emp|i].zuozhe,

&emp[il.nl,&emp[i].salar);

)

for(i=0;i<n;i++)/*将n个图书记录写入文献力

fwritc(&cnip|i],sizcof(stmctbook)J,fp);

fclosc(fp);

)

产********************»***记录模块**********************/

voidstat()

|

FILE*fp;

inti;

if((tp=topcn("emp","rb"))==NULL)

{

printf("不能打开cmp文献\n");

exit(O);

)

printf("记录号书号书名作者出版日期单价5)

for(i=0;fread(&emp[iLsizeof(structbook),1,fp);i++)

printf("%5d%3s%9s%7s%8d%7d\n",i+l,emp[il.no,emp[i].niz,emp[i].zuozhe,

emp[i].nl,emp[i].salar);

printf("共有书%d本\n\n”,i);

fclose(fp);

/********************釉除槌比*******************/

voiddeictcO

intx;

whilc(l)

printf("\n\n\t\t删除子菜单\n");

printf("\t\t*********\n");

pnntf("\t\t1.按书号删除记录\n");

printf("\t\t0.返回主菜单\n");

printf("\t\t*********\n");

printf("\t请选择(0-1):");

scanf("%d".&x);

switch(x)

{case1:delete_num();break;

default:printf(H\nWrong!");

)

if(x==O)break;

)

I

voiddelete_num()

FILE*fp;

inti,j,n;

charnum[5];

if((fp=fopcn("emp",,,rb"))==NULL)

{

printf("不能打开cmp文献\n");

cxit(l);

}

printf("删除前:\n”);

printf("记录号书号书名作者出版日期单价\n");

for(n=0;fread(&emp[n],sizeof(structbook),l,fp);n++)

printf("%6d%6s%9s%4s%5d%6d\n",n+l,emp[n].no,empfn].mz,emp[n].zuozhe,

emp[n].nLemp[n].salar);/*n为emp文献中记录数*/

printf("要删除的书号

scanf("%s",num);

fbr(i=0;(strcmp(emp[i].nojium)!=0&&i<n);i++)

if(i>=n)

(

printf("\t没有%s书号l用书\n",num);

exit(2);

}

fclosc(fp);

fp=fopcn("cmp',,"w+");

if(n==l)一种记录已经删除了*/

(

fclose(fp);

cxit(3);

)

for(j=0;j<i;j++)

twrite(&enip|i|,sizcof(structbook),l,fp);

for(j=i+l;j<n:j++)

fwritc(&emp[j],sizcof(structbook),l,fp);

printf("删除后:\n”);

fseek(fp.O.SEEKSET):

printf("记录号书号书名作者出版日期单价5”);

for(i=0;fread(&emp[il,sizeof(struct

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论