您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 图书管理系统课程设计c语言
*****大学实践报告姓名性别学号分院专业计算机类实践单位实践岗位岗位实习时间岗位②岗位③(一)实践主要内容及进程先根据要求建立主函数的菜单,其总体结构为:intmain(){intm=0;do{printf(\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n);printf(\t┃┃\n);printf(\t┃图书借阅管理系统┃\n);printf(\t┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫\n);printf(\t┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫\n);printf(\t┃1【借阅资料管理】┃\n);printf(\t┃2【借阅管理】┃\n);printf(\t┃3【读者管理】┃\n);printf(\t┃4【统计分析】┃\n);printf(\t┃5【参数设置】┃\n);printf(\t┃0【退出】┃\n);printf(\t┃【请输入0-7:】┃\n);printf(\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n);scanf(%d,&m);switch(m)//用swich-case语句:用于枚举选择{case1:menu_book();break;case2:Display_main_menu();break;case3:user_menu();break;case4:count_menu();break;case5:printf(请设置一天的罚款金额:);scanf(%f,&moneys);printf(设置成功!\n);//退出break;case6:exit(0);}}while(1);return0;}再根据没个选项来设计头文件分别为user.hbook.hrecord.h其中book.h(借阅资料管理)声明和结构为#includestdio.h#includestring.h//字符串头文件#includestdlib.h//exit函数的头文件,用于程序退出功能#defineN100structbook{charISBN[20];/*图书编号*/charbookName[20];/*书名*/charauther[20];/*作者姓名*/charpublish[20];//出版社chardate[20];/*出版时间*/chartype[20];//类别floatprice;/*价格*/inttotal;/*总库存量*/intnow;/*现在库存量*/intjie;/*已借出*/}Book[N];intnumber=0;voidmenu();voidInput_book();/*录入图书编号信息*/voidDelete_book();/*删除信息函数*/voidModification_book();/*修改信息*/voidSearch_book();/*按条件查询*/voidtitle_book();/*图书信息输出标题*/voidprint_book(structbookb);/*打印某一本书的*/intJudge();/*判断输入是否继续的函数*/voidmenu_book(){//菜单函数声明intm;do{printf(*****借阅资料管理菜单*****\n);printf(1增加信息\n);printf(2修改信息\n);printf(3删除信息\n);printf(4查询信息\n);printf(5返回主材单\n);printf(请选择[1/2/3/4/5]:\n);scanf(%d,&m);switch(m)//用swich-case语句:用于枚举选择{case1:Input_book();break;case2:Modification_book();break;case3:Delete_book();break;case4:Search_book();break;case5:;break;default:printf(请输入正确的按键!\n);break;}}while(m!=5);//使用do-while语句:用于控制条件}record.h声明与结构为:#includestdio.h#includestring.h//字符串头文件#includestdlib.h//exit函数的头文件,用于程序退出功能#includetime.h//获取当前系统时间#defineMAX100//定义学生的人数最多为100structdate{//定义日期结构体intyear;//年份intmonth;//月份intday;//日};structrecord{charcard[20];//借书证号charISBN[20];//书号为13位国际编码charname[20];//书名floatmaoney;//金额structdatesenddate;/*借书时间*/structdatebackdate;/*还书时间*/floatfine;/*罚款金额*/intstate;/*表示借书状态,0表示借,1表示还*/}records[MAX];intr_num=0;/*全局变量表示结构体中的图书数量*/floatmoneys=0;/*****************以下是函数声明部分************************************/voidlist();/*显示所有图书信息*/voidborrowing_books();//借书voidbookreturn();//还书voidsearch_by_date();//查询日期voiddel();//删除voiddel_by_year();//删除过期数据voidsearch_by_card();//以下四个函数是计算时间函数intcounterdays1(intyear,intmonth,intday,intyear1,intmonth1,intday1);//求某时间距离今天有多少天intcounterdays(intyear,intmonth,intday);//求某时间距离今天有多少天inteachyeartotal(intyear,intmonth,intday);voidgetTime(int*year,int*month,int*day);voidcountByYear();voidDisplay_main_menu();//显示主菜单voidDisplay_main_menu(){//菜单函数声明intm;do{printf(\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n);printf(\t┃┃\n);printf(\t┃借阅管理┃\n);printf(\t┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫\n);printf(\t┣━━━━━━━━━━━━━━━━━━━━━━━━━━━┫\n);printf(\t┃1【借书】┃\n);printf(\t┃2【还书】┃\n);printf(\t┃3【续借】┃\n);printf(\t┃0【返回主菜单】┃\n);printf(\t┃【请输入0-3:】┃\n);printf(\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n);scanf(%d,&m);switch(m)//用swich-case语句:用于枚举选择{case1:borrowing_books();//借书break;case2:bookreturn();//还书break;case3:search_by_card();//查询借书信息break;case0:break;default:printf(请输入正确的按键!\n);break;}}while(m!=0);//使用do-while语句:用于控制条件}user.h全部内容为#includestdio.h#includestring.h#includestdlib.h//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////读者管理//////////////////////////////////////////////structuser{intlabel;//0是老师1是学生charcard[20];//借书证号charname[20];//姓名charinfor[20];//老师是所属学院charnum[20];//老师工号学生是学号intnumber;//借书量intdays;//借书天数intstatue;//0表示可用1表示挂失}u[100];intDay[2]={0},Num[2]={0};intu_num=0;voidtitle_user(structuserus);voidprint_user(structuserus);voidinsert_user()/*录入信息*/{intflag=0,j=0,t;//表示此次录入的人数printf(\t*****读者信息录入*****\n);printf(1**教师2**学生);scanf(%d,&t);u[u_num].label=t-1;printf(借书证号:);scanf(%s,u[u_num].card);printf(姓名:);scanf(%s,u[u_num].name);printf(所属学院:);scanf(%s,u[u_num].infor);printf(学号:);scanf(%s,u[u_num].num);u[u_num].statue=0;u[u_num].number=Num[t-1];u[u_num].days=Day[t-1];u_num++;printf(新增信息成功!\n);}voidguashi_user(){intflag=0,i;charno[20];printf(\t\t\t*****挂失*****\n);printf(借书证号:);scanf(%s,no);for(i=0;iu_num;i++){if(strcmp(u[i].card,no)==0){u[i].statue=1;printf(挂失成功!\n);flag=1;break;}}if(flag==0)printf(无记录!\n);}voidzhuxiao_user()/*注销信息函数*/{intflag=1,i,a;intk=0;charinformation[20];printf(输入借书证进行查询注销:\n);scanf(%s,,information);for(i=0;iu_num;i++){if(strcmp(information,u[i].card)==0){flag=0;for(a=i;au_num;a++){u[a]=u[a+1];}u_num--;printf(注销成功!\n);break;}}if(flag==1)printf(无记录!\n);}voidSearch_user(){inti;charinfor[20];printf(请输入工号或学号查询:\n);scanf(%s,infor);for(i=0;iu_num;i++){if(strcmp(u[i].num,infor)==0){title_user(u[i]);print_user(u[i]);}}system(pause);}voidtitle_user(structuserus){if(us.label==1)printf(借书证姓名所属学院工号是否挂失\n);elseprintf(借书证姓名所属班级学号是否挂失\n);}voidprint_user(structuserus){printf(%10s%10s%10s%10s%5d\n,us.card,us.name,us.infor,us.num,us.statue);}voi
本文标题:图书管理系统课程设计c语言
链接地址:https://www.777doc.com/doc-7331467 .html