b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

C语言程序设计之图书管理系统

电脑杂谈  发布时间:2019-08-02 13:02:09  来源:网络整理

c语言课程设计报告图书管理系统_c语言图书管理系统程序设计_c语言课程设计图书管理系统

《C 语言程序设计》课程设计 《C 语言程序设计》课程设计 题 目: 图 书 管 理 系 统 系 部: 机械与电子工程学院 系 部: 机械与电子工程学院 专 业: 自 动 化 专 业: 自 动 化 班 级: XXXXXXXX 班 级: XXXXXXXX 姓 名:XX 姓 名:XX 学 号:XXXXXXXXXX 学 号:XXXXXXXXXX 课题名称: 图书管理系统 课题名称: 图书管理系统 指导老师: XX 指导老师: XX机械与电子工程学院2011 年 5 月 27 日机械与电子工程学院2011 年 5 月 27 日目录 一、 绪论························3. 二、 课题要求····················3. 三、 系统概述····················4. 四、 需求分析····················4. 五、 数据处理流程图··············5. 六、 系统源码····················6. 七、 调试截图····················21. 八、 总结感想····················24.绪 论 图书管理系统是每个图书馆不可缺少的。

二、系统菜单的部分功能及相应函数1 查阅图书findbook()1.1按书名查询 namefindbook()1.2按作者查询 authorfindbook()2 借阅图书lendbook()3 管理系统3.1增加图书addbook()3.2删除图书delbook()—考虑输入错误的情况3.3修改图书资料changebook()3.4书籍统计bookcount()3.5职工管理系统3.5.1增加员工addemploy()3.5.2删除员工delemploy()3.5.3修改员工资料changemploy()3.5.4员工统计employcount()3.6学生管理系统3.6.1申请新卡addcar()3.6.2删除卡号delcar()3.6.3借书统计lendcount()3.6.4卡号统计carcount()4 还书returnbook()0 退出三、主要数据文件 book.txt 存放书名 car.txt 卡号文件 record.txt 存放每个读者借阅的书 employ.txt 职工信息 student.txt 四、要求 1、只能使用c语言,源程序要有适当的注释,使程序容易阅读。 以前对信息管理主要是利用文本纸质介质的方式进行手工处理, 对图书借阅情况(借书时长、 超过可借阅的图书数量、 所借图书已过期、 库存的某本图书的库存量还有多少、 某本图书的流向等)的统计都是通过人工检索, 对读者的借阅权限以及借阅天数和可借数量等都采用人工计算,手抄进行记录, 数据的信息处理量非常大, 比如一个人去借书, 首先的查询资料改用户的借阅卡是否有效, 知道有效后又得查询借阅的图书数量是否超出规定的数量, 得知没有超出可借数量, 才可以出借图书, 这时又得把这次的借阅信息记录下来, 在读者信息添加借书信息, 在库存减少一本该书的数量。4.网上图书馆,可在网上查阅各类图书的目录及借阅情况-“图书查阅”,同时可在网上“预约借书”。

c语言图书管理系统程序设计_c语言课程设计报告图书管理系统_c语言课程设计图书管理系统

需 求 分 析 1. 依据题目要求以及现实中图书馆的需求,应将该系统分为两大模块:图书管理和会员管理。图书管理模块中包括对图书的增加、修改、删除、查询、统计等操作,以及对图书借入借出服务。会员管理包括对会员卡号的申请、删除、统计等操作。2. 界面应该具有友善、直观、易操作等特点,本系统采用数字输入选择操作。数据处理流程图系 统 源 码 #include <stdio.h> #include <stdlib.h> #include <string.h> struct student { int cardnum; char lendbook[10]; }student[100]; struct book { 图书管理系统借书系统 会员管理系统 书籍管理系统 还书系统 申 请 新 卡 删除卡号借书统计卡号统计增加图书删 除 图 书 书籍统计查 询 图 书 修改资料int booknum; char bookname[20]; char author[10]; int bookcount; }book[100]; struct card { int cardnum; char studentname[10]; char studentclass[10]; }card[100]; void lendbook() { FILE *fp,*fp2; int I,n; int cardnum; printf(“\n\t\tPlease input your cardnum:”); scanf(“%d”,&cardnum); fp=fopen(“card.txt”,”r”); for(i=0;fread(&card[i],sizeof(struct card),1,fp)!=0;i++) { if(card[i].cardnum==cardnum) { n=i; fclose(fp); printf(“\n\t\tPlease inuput book name to lend:”); scanf(“%s”,student[n].lendbook); fp=fopen(“book.txt”,”r”); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(strcmp(book[i].bookname,student[n].lendbook)==0) { if(book[i].bookcount==0) { printf(“\t\tSorry,book has been lended,Press any key to back…\n”); fclose(fp); getch(); return; } else { book[i].bookcount--;fclose(fp); } fp=fopen(“record.txt”,”a+”); student[n].cardnum=cardnum; fwrite(&student[n],sizeof(struct student),1,fp); fclose(fp); fp=fopen(“book.txt”,”r”); fp2=fopen(“booktemp.txt”,”w”); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(strcmp(book[i].bookname,student[n].lendbook)==0) { book[i].bookcount--; fwrite(&book[i],sizeof(struct book),1,fp2); continue; } fwrite(&book[i],sizeof(struct book),1,fp2); } fclose(fp); fclose(fp2); fp=fopen(“book.txt”,”w”); fp2=fopen(“booktemp.txt”,”r”); for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++) { fwrite(&book[i],sizeof(struct book),1,fp); } fclose(fp); fclose(fp2); fopen(“booktemp.txt”,”w”); fclose(fp2); printf(“\n\t\tLend Succeed!Press any key to back…”); getch(); return; } } printf(“\n\t\tSorry,no this book!Press any key to back…”); fclose(fp); getch(); return; } } printf(“\n\t\tYour cardnum is absent!Please login!Press any key to back…”); fclose(fp);getch(); } void returnbook() { FILE *fp,*fp2; int I,temp; int cardexit=0,bookexit=0; int cardnum; char lendbook[10]; printf(“\n\t\tPlease input your cardnum:”); scanf(“%d”,&cardnum); fp=fopen(“card.txt”,”r”); for(i=0;fread(&card[i],sizeof(struct card),1,fp)!=0;i++) { if(card[i].cardnum==cardnum) { cardexit=1; temp=I; fclose(fp); printf(“\n\t\tPlease input book name to return: “); scanf(“%s”,lendbook); fp=fopen(“record.txt”,”r”); for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) { if(student[i].lendbook==lendbook) { bookexit=1; fclose(fp); fp=fopen(“record.txt”,”r”); fp2=fopen(“booktemp.txt”,”w”); for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) { if(student[i].lendbook==lendbook) { continue; } fwrite(&student[i],sizeof(struct student),1,fp2); } fclose(fp); fclose(fp2); fp=fopen(“record.txt”,”w”); fp2=fopen(“booktemp.txt”,”r”); for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++){ fwrite(&student[i],sizeof(struct student),1,fp); } fclose(fp); fclose(fp2); fopen(“booktemp.txt”,”w”); fclose(fp2); fp=fopen(“book.txt”,”r”); fp2=fopen(“booktemp.txt”,”w”); for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++) { if(i==temp) { book[i].bookcount++; fwrite(&book[i],sizeof(struct book),1,fp); continue; } fwrite(&book[i],sizeof(struct book),1,fp2); } fclose(fp); fclose(fp2); fp=fopen(“book.txt”,”w”); fp2=fopen(“booktemp.txt”,”r”); for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++) { fwrite(&book[i],sizeof(struct book),1,fp); } fclose(fp); fclose(fp2); fopen(“booktemp.txt”,”w”); fclose(fp2); printf(“\n\t\tReturn Succeed!Press any key to back…\n”); } } fclose(fp); } } fclose(fp); if(cardexit==0) printf(“\n\t\tYour cardnum is absent!Please login!Press any key to back…\n”); else if(bookexit==0) printf(“\n\t\tYou didn’t lend this book!Press any key to back…\n”); getch();} void addcard() { FILE *fp; int i=0,tempcard,temp=0; fp=fopen(“card.txt”,”a+”); printf(“\n\t\tPlease input your cardnum:”); scanf(“%d”,&tempcard); for(i=0;fread(&card[i],sizeof(struct card),1,fp)!=0;i++) if(tempcard==card[i].cardnum) temp=1; if(temp==1) { printf(“\n\t\tThis cardnum is exsit!Press any key to back…”); getch(); } else if(temp==0) { card[i].cardnum=tempcard; printf(“\n\t\tYour Name:”); scanf(“%s”,card[i].studentname); printf(“\n\t\tYour Class:”); scanf(“%s”,card[i].studentclass); fwrite(&card[i],sizeof(struct card),1,fp); fclose(fp); printf(“\n\t\tAdd succeed!Press any key to back…\n”); getch(); } } void delcard() { FILE *fp,*fp2; int I; int cardnum; char ch1; fp=fopen(“card.txt”,”r”); fp2=fopen(“booktemp.txt”,”w”); printf(“\n\t\tTip:If cardnum is exsit,system will delete.”); printf(“\n\t\tIf absent,system will not change.”); printf(“\n\t\tPlease input your cardnum:”); scanf(“%d”,&cardnum); for(i=0;fread(&card[i],sizeof(struct card),1,fp)!=0;i++){ if(card[i].cardnum!=cardnum) { fwrite(&card[i],sizeof(struct card),1,fp2); } } fclose(fp); fclose(fp2); printf(“\n\t\tAre you sure?<Y/N>”); scanf(“%s”,ch1); if(ch1==’y’||ch1==’Y’) { fp=fopen(“card.txt”,”w”); fp2=fopen(“booktemp.txt”,”r”); for(i=0;fread(&card[i],sizeof(struct card),1,fp2)!=0;i++) { fwrite(&card[i],sizeof(struct card),1,fp); } fclose(fp); fclose(fp2); fp2=fopen(“booktemp.txt”,”w”); fclose(fp2); printf(“\t\tPress any key to back…\n”); getch(); } else { printf(“\t\tPress any key to back…\n”); getch(); } } int lendcount() { FILE *fp; int I,n=0; fp=fopen(“record.txt”,”r”); for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) { printf(“\t\tCardnum:%d Lend book:%s\n”,student[i].cardnum,student[i].lendbook); n=n+1; } fclose(fp);printf(“\t\tThere are %dbooks lended\n”,n); printf(“\t\tPress any key to back…\n”); getch(); return n; } void addbook() { FILE *fp; int i=1,temp=0,booktemp; fp=fopen(“book.txt”,”a+”); printf(“\n\t\tInput New booknum:”); scanf(“%d”,&booktemp); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) if(booktemp==book[i].booknum) temp=1; if(temp==1) { printf(“\n\t\tBooknum is exsit!Press any key to back…”); getch(); } else if(temp==0) { book[i].booknum=booktemp; printf(“\n\t\tInput book name:”); scanf(“%s”,book[i].bookname); printf(“\n\t\tBook Author:”); scanf(“%s”,book[i].author); printf(“\n\t\tSet book num:”); scanf(“%d”,&book[i].bookcount); fwrite(&book[i],sizeof(struct book),1,fp); fclose(fp); printf(“\n\tAdd Succeed!Press any key to back…\n”); getch(); } } void cardcount() { FILE *fp; int I,n=0;fp=fopen(“card.txt”,”r”); printf(“\t\tCardnumNameClass\n”); for(i=0;fread(&card[i],sizeof(struct card),1,fp)!=0;i++) { printf(“\n\t\t%-10d%-10s%-2s\n”,card[i].cardnum,card[i].studentname,card[i].studentclass); n=n+1; } fclose(fp); printf(“\n\t\tThere are %dVIPS\n”,n); printf(“\t\tPress any key to back…\n”); getch(); } void delbook() { FILE *fp,*fp2; int I; char bookname[10],ch1; fp=fopen(“book.txt”,”r”); fp2=fopen(“booktemp.txt”,”w”); printf(“\n\t\tTip:If book name exsit,system will delete!\n\t\tIf absent,system will not change!”); printf(“\n\t\tInput book name to delete:”); scanf(“%s”,bookname); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(strcmp(bookname,book[i].bookname)!=0) { fwrite(&book[i],sizeof(struct book),1,fp2); } } fclose(fp); fclose(fp2); printf(“\n\t\tAre you sure?<Y/N>:”); scanf(“%s”,ch1); if(ch1==’y’||ch1==’Y’) { fp=fopen(“book.txt”,”w”); fp2=fopen(“booktemp.txt”,”r”); for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++) { fwrite(&book[i],sizeof(struct book),1,fp); }fclose(fp); fclose(fp2); fp2=fopen(“booktemp.txt”,”w”); fclose(fp2); printf(“\n\t\tPress any key to back…\n”); getch(); } else { printf(“\n\t\tPress any key to back…\n”); getch(); } } void searchbook() { int ch1; do { printf(“\n\t\t1.<Name>”); printf(“\t\t2.<Author>”); printf(“\n\t\t3.<Booknum>”); printf(“\t\t0.<Back Main Menue>”); printf(“\n\n\t\tPlease choose(0-3):”); scanf(“%d”,&ch1); switch(ch1) { case 1:findbook();getch();break; case 2:findbook1();getch();break; case 3:findbook2();getchar();break; case 0:break; default:printf(“\t\tError!Press any key to back…\n”);getch();break; } }while(ch1!=0); } int findbook() { FILE *fp; char bookname[10]; int I; fp=fopen(“book.txt”,”r”);printf(“\n\t\tBook Name:”); scanf(“%s”,bookname); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(strcmp(bookname,book[i].bookname)==0) { if(book[i].bookcount!=0) { printf(“\n\t\tThis Book:%d %s %s Can be lended!\n\t\tPress any key to back…\n”,book[i].booknum,book[i].bookname,book[i].author); } else { printf(“\n\t\tBook lended done!\n”); fclose(fp); return 0; } fclose(fp); return 0; } } printf(“\n\t\tNo this book!Press any key to back…\n”); fclose(fp); return 0; } int findbook1() { FILE *fp; char bookauthor[10]; int I; fp=fopen(“book.txt”,”r”); printf(“\n\t\tBook Author:”); scanf(“%s”,bookauthor); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(strcmp(bookauthor,book[i].author)==0) { if(book[i].bookcount!=0) { printf(“\n\t\tThis Book:%d %s %s Can be lended!\n\t\tPress any key to back…\n”,book[i].booknum,book[i].bookname,book[i].author); }else { printf(“\n\t\tBook lended done!\n”); fclose(fp); return 0; } fclose(fp); return 0; } } printf(“\n\t\tNo this book!Press any key to back…\n”); fclose(fp); return 0; } int findbook2() { FILE *fp; char booknum[10]; int I; fp=fopen(“book.txt”,”r”); printf(“\n\t\tBook Num:”); scanf(“%s”,booknum); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(strcmp(booknum,book[i].booknum)==0) { if(book[i].bookcount!=0) { printf(“\n\t\tThis Book:%d %s %s Can be lended!\n\t\tPress any key to back…\n”,book[i].booknum,book[i].bookname,book[i].author); } else { printf(“\n\t\tBook lended done!\n”); fclose(fp); return 0; } fclose(fp); return 0; } } printf(“\n\t\tNo this book!Press any key to back…\n”);fclose(fp); return 0; } void bookcount() { FILE *fp; int I,n=0; fp=fopen(“book.txt”,”r”); printf(“\t\tBooknumBook nameBook authorOnly\n”); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { if(book[i].booknum!=0&&strlen(book[i].bookname)!=0&&strlen(book[i].author)!=0) { printf(“\t\t%-10d%-20s%-10s%-2d\n”,book[i].booknum,book[i].bookname,book[i].author,book[i].bookcount); n=n+1; } } fclose(fp); printf(“\n\t\tThere are %dbooks”,n); printf(“\t\tPress any key to back…\n”); } void modifybook() { FILE *fp,*fp2; char bookname[20],ch1; int I; fp=fopen(“book.txt”,”r”); fp2=fopen(“booktemp.txt”,”w”); printf(“\n\t\tInput book name to change:”); scanf(“%s”,bookname); for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) { printf(“Test:”); if(strcmp(bookname,book[i].bookname)==0) { printf(“\t\tChoose inf to change:\n”); printf(“\t\tNum:<%d> Name:<%s> Author:<%s>\n”,book[i].booknum,book[i].bookname,book[i].author); printf(“\t\t1:Change Num\n”); printf(“\t\t2:Change name\n”); printf(“\t\t3:Change author\n”); printf(“\t\t4:Change OFF/On\n”); printf(“\t\tplease choose(1-4):”); scanf(“%s”,ch1); switch(ch1) { case 1: { printf(“\n\t\tNew Num:”); scanf(“%d”,&book[i].booknum); fwrite(&book[i],sizeof(struct book),1,fp2); }break; case 2: { printf(“\n\t\tNew Name: “); scanf(“%s”,book[i].bookname); fwrite(&book[i],sizeof(struct book),1,fp2); }break; case 3: { printf(“\n\t\tNew Author: “); scanf(“%s”,book[i].author); fwrite(&book[i],sizeof(struct book),1,fp2); }break; case 4: { printf(“\n\t\tNew Only:”); scanf(“%d”,book[i].bookcount); fwrite(&book[i],sizeof(struct book),1,fp2); }break; default:printf(“\t\tError!\n”);break; } continue; } fwrite(&book[i],sizeof(struct book),1,fp2); } fclose(fp); fclose(fp2); fp=fopen(“book.txt”,”w”); fp2=fopen(“booktemp.txt”,”r”); for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++){ fwrite(&book[i],sizeof(struct book),1,fp); } fclose(fp); fclose(fp2); fp2=fopen(“booktemp.txt”,”w”); fclose(fp2); printf(“\t\tSorry!book is absent!\n”); getchar(); } void main() { int ch1,ch2,ch3; do { clrscr(); printf(“\n\t\t *****WELCOME TO LIBRARY SYSTEM*****\n\n”); printf(“\t*****LIBRARY SYSTEM*****\n”); printf(“\t**\n”); printf(“\t*1:<Lend>2:<Return>*\n”); printf(“\t*3:<VIP Manage> 4:<Book Manage> *\n”); printf(“\t*0:<EXIT>*\n”); printf(“\t**\n”); printf(“\n\t\t*****************************************\n”); printf(“\t\tPlease choose(0-4):”); scanf(“%d”,&ch1); switch(ch1) {clrscr(); case 1:lendbook();break; case 2:returnbook();break; case 3: { do { clrscr(); printf(“\n\n”); printf(“\t**** VIP MANAGE****\n”); printf(“\t1:<login>2:<Delete> \n”); printf(“\t3:<Lend>4:<count>\n”); printf(“\t0:<Back>\n”); printf(“\t *********************************************\n”); printf(“\t\tPlease choose(0-4):”);scanf(“%d”,&ch3); switch(ch3) {clrscr(); case 1:addcard();break; case 2:delcard();break; case 3:lendcount();break; case 4:cardcount();break; case 0:break; default:printf(“\n\t\tError!Press any key to back…\n”);getch();break; } }while(ch3!=0); }break; case 4: { do { clrscr(); printf(“\n\n”); printf(“\t***** BOOK MANAGE ****\n”); printf(“\t1:<Add>2:<Delete>\n”); printf(“\t3:<Search>4:<Count>\n”); printf(“\t5:<Change> 0:<Back Main Manue>\n”); printf(“\t *********************************************\n”); printf(“\t\tPlease choose(0-5):”); scanf(“%d”,&ch2); switch(ch2) {clrscr(); case 1:addbook();break; case 2:delbook();break; case 3:searchbook();break; case 4:bookcount();getch();break; case 5:modifybook();break; case 0:break; default:printf(“\n\t\tError!Press any key to back…\n”);getch();break; } }while(ch2!=0); }break; case 0:break; default:printf(“\n\t\tError!Press any key to back…\n”);getch();break; } }while(ch1!=0);} 调 试 截 图总 结 感 想 经过几天的努力,图书管理系统总算可以正常运行了,功能也算基本完善。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-117652-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...