C程序设计图书信息管理系统Word下载.docx
- 文档编号:4071905
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:26
- 大小:123.47KB
C程序设计图书信息管理系统Word下载.docx
《C程序设计图书信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C程序设计图书信息管理系统Word下载.docx(26页珍藏版)》请在冰点文库上搜索。
二、系统目标
欢迎界面、主菜单、系统管理功能、图书信息管理、借阅功能模块、其中系统管理功能包括系统管理员添加、删除、修改信息以及用管理员身份登录系统等功能。
图书信息管理包括新增图书、修改图书、删除图书、等功能。
借阅功能模块包括借书功能、还书功能、查询已借图书、查询过期未还图书,其中借书还书功能可以按图书编号信息进行操作。
三、设计的过程及步骤
1、需求分析
根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;
在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;
另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。
2、设计文件结构
此系统根据所要实现的功能,使用的函数等综合考虑,设计了两个,图书信息文件(tushu.red),借还书文件(borrow.red),录入新图书,修改,删除图书等一些操作时在图书信息文件上运行,借还书功能则在借还书文件上运行,同时也要在图书信息文件上运行。
两个文件相互结合,使各个功能很好的实现了,运用C语言的文件功能,也是整个程序的主线。
3、函数设计
此系统主要有7个功能,也就有主要的7个函数,他们分别是
voidshan()//删除图书信息
voidxiu()//修改图书信息
voidputin()//录入新图书
voidprint()//打印图书信息表
voidreturned()//还书
voidbooks()//创建图书文件
voidborrowed()//借书
其中每一个函数都用到了两个结构体,它们分别是:
structtushu
{
charbianhao1[10];
charbianhao2[10];
charleixing[20];
charshuming[50];
charchubanshe[50];
charwriter[20];
longzongshu;
longshengyu;
}shu;
structbooks
longnian;
longborrowmonth;
longborrowday;
longreturnedmonth;
longreturnedday;
longlimittime;
charstudent[10];
}book;
4、设计系统功能图
四、实训成果
经过几天的编写,修改,运行,最后完成时,预想的功能都能比较好的实现。
下面是各个功能运行的界面:
进入界面:
功能选择界面:
录入新图书界面:
还有各个功能各种界面,这里就不一一列出了。
五、实训心得与体会
此次系统编程,我感受很多,从开始编程时的迷茫,到修改时的烦躁,再到运行时的无奈,最后是成功时无法表达的喜悦和兴奋。
每一步都是自己努力走过来的,虽然这个过程比较辛苦,但是现在回过头去想想,这几天还是过得很有意义和价值的。
大家都说编程最需要的是耐心,我这次是深有体会,程序刚开始编,满身都是信心和兴趣,到修改的时候,检查一遍又一遍,修改一次有一次还是无法成功运行,这个时候只有耐心才能坚持完成。
同时,编程时,会发现许多以前学的概念都记错了,这时候要找出课本重新温习,所以这也是一个不断学习的过程。
还有,编程时不能太死板,要实现一个功能其实都会有很多种算法,我们应边做边学习新的方法。
对于我的不足之处,要实现一个功能时,我总是第一遍编程实现后,就不愿意在深探究下去,这种惰性很不适合做编程工作。
总而言之,通过此次C语言实践编程,使我对C语言的兴趣更加浓厚,也对C语言的实践应用更加了解,充分感受到了它的魅力,同时也明白了自身在这方面工作的优势和不足。
代码设计
#include<
stdio.h>
stdlib.h>
string.h>
{
FILE*fp;
inti=0,j,n,m,l;
charbooknum[20];
structtushutu[1000];
if((fp=fopen("
tushu.txt"
"
r"
))==NULL)
printf("
cannotopenthetushu.txt.\n"
);
exit(0);
}
while(fread(&
tu[i],sizeof(shu),1,fp))
i++;
m=i;
要删除几本书:
"
scanf("
%d"
&
n);
getchar();
for(i=0;
i<
n;
i++)
输入图书编号2:
gets(booknum);
for(j=0;
j<
m;
j++)
if(strcmp(booknum,tu[j].bianhao2)==0)
break;
if(j<
m)
{
for(l=0;
l<
l++)
if(strcmp(tu[j].bianhao1,tu[l].bianhao1)==0)
{
tu[l].zongshu--;
tu[l].shengyu--;
}
for(j;
tu[j]=tu[j+1];
}
else
输入有误重新输入\n"
i--;
}
w"
m-n;
fwrite(&
tu[i],sizeof(shu),1,fp);
删除成功!
!
}
inti=0,m,n;
charbooknum[20],numchar[20];
cannotopentheborrow.txt.\n"
要修改几本书:
输入要修改的图书编号2:
if(strcmp(booknum,tu[i].bianhao2)==0)
if(i<
{
》》》输入修改后的\n\n"
》》》输入编号1:
gets(tu[i].bianhao1);
printf("
\n"
》》》编号2:
gets(tu[i].bianhao2);
》》》类型:
gets(tu[i].leixing);
》》》书名:
gets(tu[i].shuming);
》》》出版社:
gets(tu[i].chubanshe);
》》》作者:
gets(tu[i].writer);
》》》总数:
gets(numchar);
tu[i].zongshu=atol(numchar);
》》》剩余:
tu[i].shengyu=atol(numchar);
输入有误\n"
fclose(fp);
charnumchar[20];
要录入几本书:
{
printf("
gets(shu.bianhao1);
gets(shu.bianhao2);
gets(shu.leixing);
gets(shu.shuming);
gets(shu.chubanshe);
gets(shu.writer);
shu.zongshu=atol(numchar);
shu.shengyu=atol(numchar);
shu,sizeof(shu),1,fp);
{
puts("
_______________________________________________________________________"
-----------------------------------------------------------------------"
|编号1|编号2|类型|书名|作者|出版社|总数|剩余|"
fseek(fp,0L,SEEK_SET);
shu,sizeof(shu),1,fp)==1)
%-9s%-10s%-10s%-10s%-10s%-10s%-10ld%-10ld\n"
shu.bianhao1,shu.bianhao2,shu.leixing,shu.shuming,shu.writer,shu.chubanshe,shu.zongshu,shu.shengyu);
inti=0,m,flag=0,j;
structbooksbook1[1000];
borrow.txt"
book1[i],sizeof(book),1,fp))
输入要还的图书编号2:
if(strcmp(booknum,book1[j].bianhao2)==0)
flag=1;
break;
if(flag)
flag=0;
输入还书月份:
%ld"
book1[i].returnedmonth);
输入还书日期:
book1[i].returnedday);
fwrite(&
book1[i],sizeof(book),1,fp);
charnumchar[50],ch='
y'
;
wt"
while(ch=='
||ch=='
Y'
)
do{
haveanotherbookrecord(y/n)?
:
ch=numchar[0];
}while(!
(ch=='
n'
N'
));
FILE*fp,*fq;
charnumchar[50];
inti=0,j,m1,m2,n,flag=0,x;
借几本书:
x);
if((fq=fopen("
tu[i],sizeof(shu),1,fq))
i++;
m1=i;
m2=i;
x;
输入编号2:
m1;
if(strcmp(numchar,tu[j].bianhao2)==0)
{
n=j;
flag=1;
break;
}
输入正确\n\n"
flag=0;
strcpy(book.bianhao2,numchar);
》》》输入编号1"
gets(book.bianhao1);
》》》借书年份:
book.nian=atol(numchar);
》》》借书月份:
book.borrowmonth=atol(numchar);
》》》借书日期:
book.borrowday=atol(numchar);
》》》还书月份:
book.returnedmonth=atol(numchar);
》》》还书日期:
book.returnedday=atol(numchar);
》》》期限:
book.limittime=atol(numchar);
》》》学生学号:
gets(book.student);
printf("
fwrite(&
book,sizeof(book),1,fp);
m2;
fwrite(&
book1[j],sizeof(book),1,fp);
for(j=0;
if(strcmp(tu[n].bianhao1,tu[j].bianhao1)==0)
tu[j].shengyu--;
if((fq=fopen(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 图书 信息管理 系统