C语言实现图书馆课程设计报告书借阅管理系统

电脑杂谈  发布时间:2020-03-29 01:02:31  来源:网络整理

大型基于c语言图书管理系统_大型基于c语言图书管理系统_图书管理系统c语言

C / C ++程序设计研究所I(中心,系,系)计算机工程学院电子信息科学与技术设计开始和结束时间: 2013年25月25日至2013年目录设计任务设计任务为本书编写程序贷款管理. 从键盘输入数据(最好考虑输入数据的格式和输入数据的有效性),然后实现以下功能. 该程序要求主要功能是功能选择菜单,而其他功能则通过各自的功能实现. 至少需要20本书借阅的原始数据. 原始数据如下: : 学生姓名系1001计算机图书信息: 图书编号图书名称出版者单价是否已借出12345678语言程序设计清华大学38.00借入信息: 学生编号图书编号借书日期还款日期逾期1001 12345678 2007/9/10 2007/10/10功能要求如下: 1.添加图书信息2.添加3.登记借书和归还图书4.计算逾期,按0.1元/天计. 5.您可以添加,删除和修改数据. 6,可以查询数据. 7.逾期2.系统设计方案可以注册书籍信息,还可以进行添加,删除和更改. 书籍可以在各个方面进行操作. 实现学生借阅和注册功能. 定义了三种结构: 书本信息,和日期结构.

大型基于c语言图书管理系统_大型基于c语言图书管理系统_图书管理系统c语言

调用11个自定义功能,并使用菜单功能连接和切换功能. 整个系统使用数组实现. 第三,程序的主要代码分析//头文件#include #include #include #include //全局变量int //结构struct bookinfo charnum [10];字符名称[20];字符发布[50];浮动价格;}书籍[100],书籍; //书籍struct studentinfo charnumber [10];字符名称[20];字符[50];}学生[100]; //学生结构lendinfo charstunum [10]; char booknum [10];年份int月int day;}借出[100]; //借出信息//函数描述void putin(struct bookinfo book []); //图书信息输入无效的放置项(struct bookinfo book []); //书籍信息显示无效菜单(); //无效的菜单putinstudent(struct studentinfo student []); //输入无效的putoutstudent(struct studentinfo student []); //显示无效的addbook(struct bookinfo book []); //添加书籍信息void addstudent(struct studentinfo student []); //添加无效的搜索书(struct bookinfo book []); //查询想要的书籍作废lendinfo(struct lendinfo leng []); //借入信息输入void putlendinfo(struct lendinfo lend []); //借阅信息检查无效的alterbook(struct bookinfo book []); //修改书籍信息void delbook(struct bookinfo book []); //删除书籍信息//主要功能void main()//菜单void menu()// structbookinfo书籍信息管理系统\ t \ t \ t \ t \ n“); printf(” \ t \ t *** ************************* ***************** \ n“); printf(” \ t \ t \ t1 ------------------图书信息输入\ n“); printf(” \ t \ t \ t2 --------- ---------图书信息显示\ n“); printf(” \ t \ t \ t3 ------------------添加图书信息\ n“ ); printf(“ \ t \ t \ t4 -------------- ----修改图书信息\ n”); printf(“ \ t \ t \ t5 ---- --------------删除图书信息\ n“); printf(” \ t \ t \ t6 ------------------查询书信息\ n“); printf(” \ t \ t \ t7 --------- ---------输入\ n“); printf(” \ t \ t \ t8 ------------------显示\ n“); printf(” \ t \ t \ t9 -------------- ----添加\ n“); printf(” \ t \ t \ t10 ---- --------------输入借阅信息\ n“); printf(” \ t \ t \ t11 ------------------借阅信息查询\ n“); printf(“ \ t \ t \ t0 ------------------退出系统\ n”); printf(“ \ t \ t ** ************** *************************** ** \ n“); printf(“ \ t \ t请输入对应的数字,输入对应的系统\ n”); fflush(stdin); scanf(“%d”,&k);开关(k)case1: 普京(书);打破;案例2: 推出(书本);打破;情况3: addbook(书);休息;情况4: alterbook(书);打破;案例5: delbook(book);打破;情况6: 搜寻本(书籍);打破;案例7: putinstudent(学生);打破;案例8: putoutstudent(学生);休息;案例9: addstudent(学生);打破;案例10: lendinfo(lend);打破;案例11: putlendinfo(lend);打破;情况0: 退出(1);打破;默认值: printf(“ \ n错误的数字\ n”); // 1.图书信息输入无效的普京(struct bookinfo book [])系统(“ cls”); while(k!= 0)printf(“请输入书号: \ n”); scanf(“%s”,图书[a] .num); printf(“请输入书名: \ n”); scanf(“%s”,图书[a] .name); printf(“请输入发布者: \ n”); scanf(“%s”,图书[a] .publish); printf(“请输入单价: \ n”); scanf(“%f”,&book [a] .price); printf(“ \ n是否继续输入(1.继续; 0,退出输入): ”); fflush(stdin); scanf(“%d”,&k); // 2.图书信息显示无效putout(struct bookinfobook [])系统(“ cls”); printf(“编号\ t图书名称\ t出版商\ t单价\ n”); printf(“%s \ t%s \ t%s \ t%f \ n”,图书[i] .num,图书[i] .name,图书[i] .publish,图书[i] .price); printf(“输入0退出系统,进入其他返回菜单\ n”); scanf(“%d”,&k); // 3.输入无效putinstudent(struct studentinfo student [])系统(“ cls”); while(k!= 0)printf(“请输入学生ID: \ n”); scanf(“%s”,学生[b] .number); printf(“请输入名称: \ n”); scanf(“%s”,学生[b] .name); printf(“请输入部门: \ n”); scanf(“%s”,学生[b] .major); printf(“ \是否继续输入(1.continue; 0,退出输入): ”); fflush(stdin); scanf(“%d”,&k); // 4.输出无效putoutstudent(struct studentinfo student [])系统(“ cls”); printf(“学生编号\ t名称\ t部门\ n”); printf(“%s \ t%s \ t%s \ t \ n”,学生[i] .number,学生[i] .name,学生[i] .major); printf(“输入0退出系统并进入其他返回菜单\ n”); scanf(“%d”,&k); // 5.添加书信息void addbook(struct bookinfo book [])系统(“ cls”); while(k!= 0)printf(“请输入其他书籍编号: \ n”); scanf(“%s”,图书[a] .num); printf(“请输入添加的书的标题: \ n”); scanf(“%s”,图书[a] .name); printf(“请输入添加的书的出版者的名称: \ n”); scanf(“%s”,图书[a] .publish); printf(“请输入添加的书的单价: \ n”); scanf(“%f”,&book [a] .price); printf(“ \ n您将继续输入(1.Continue; 0,Exit entry): ”); fflush(stdin); scanf(“%d”,&k); // 6.添加void addstudent(struct studentinfo student [])系统(“ cls”); while(k!= 0)printf(“请输入学生的学生编号: \ n”); scanf(“%s”,学生[b] .number); printf(“请输入学生姓名: \ n”); scanf(“%s”,学生[b] .name); printf(“请输入学生所在的系: \ n”); scanf(“%s”,学生[b] .major); printf(“ \是否继续输入(1.continue; 0,退出输入): ”); fflush(stdin); scanf(“%d”,&k); // 7.查询书籍无效的搜索书(struct bookinfo book [])系统(“ cls”);字符s2 [100]; int printf(“ \ n请输入您要查询的书的名称: fflush(stdin); scanf(”%s“,s2); for(int printf(” \ n \ n \ nnumber \ t标题\ t出版商\ t单价\ n“); printf(”%s \ t%s \ t%s \ t%f \ n \ n \ n“,b [i] .num,book [i] .name,book [i] .publish,book [i] .price); printf(“ \ n \ n \ n您要的书不存在!!! !! !! \ n \ n \ n \ n”); fflush(stdin ); printf(“输入0退出系统并进入其他返回菜单\ n”); scanf(“%d”,&m); // 8.借入信息输入void lendinfo(struct lendinfo leng [])系统( “ cls”); while(k!= 0)printf(“请输入: \ n”); scanf(“%s”,借给[c] .stunum); printf(“请输入书号: \ n “]; scanf(”%s“,借出[c] .booknum); printf(”请输入借入年份: \ n“); scanf(”%d“,&借出[c] .year); printf(”请输入借用月份(1--12): \ n“); scanf(”%d“,&lend [c] .month); printf(”请输入借用日期(1 --31): \ n “); scanf(”%d“,&借[c] .day); printf(“ \ n是否继续输入(1.continue; 0,退出输入): ”); fflush(stdin); scanf(“%d”,&k); // 9.查询借阅信息void putlendinfo(struct lendinfo lend [])system(“ cls”); printf(“学生编号\ t图书编号\ t借书日期\ t截止日期\ n“); if(lend [i] .month == 12)printf(“%s \ t%s \ t \ t%d. %D.%D \ t%d. %D.%d \ n”,借出[i ] .stunum,借出[i] .bo oknum,借出[i] .year,借出[i] .month,借出[i] .day,借出[i] .year + 1,1,借出[i] .day ); else printf(“%s \ t%s \ t \ t%d. %D.%D \ t%d. %D.%D \ n”,借出[i] .stunum,借出[i] .bo oknum ,借出[i] .year,借出[i] .month,借出[i] .day,借出[i] .year,借出[i] .mon th + 1,借出[i] .day); printf(“输入0退出系统,输入other返回菜单\ n”)scanf(“%d”,&k); // 10.修改书籍信息void alterbook(struct bookinfo book [])charalter [20];系统(“ cls”); printf(“请输入要修改的书号: \ n”); fflush(stdin); scanf(“%s”,alter); int printf(“编号\ tbook名称\ t出版商\ t单价\ n“); printf(“%s \ t%s \ t%s \ t%f \ n”,书[i] .num,书[i] .name,书[i]. 出版,确定[i] .price) 打破; printf(“请输入您的更改书号: \ n”); scanf(“%s”,abook.num); printf(“请输入修改后的书名: \ n”); scanf(“%s”,abook.name); printf(“请输入修改后的发布者: \ n”); scanf(“%s”,abook.publish); printf(“请输入修改后的单价: \ n”); scanf(“%f”,&abook.price); fflush(stdin); strcpy(书[i] .name,abook.name); strcpy(书[i] .num,abook.num); strcpy(书[i] .publish,abook.publish); book [i] .price = abook.price; elseprintf(“ \ n \ n \ n对不起,没有找到书!!! !! !! \ n \ n \ n \ n”); printf(“输入0退出系统并进入其他返回菜单\ n”); scanf(“%d”,&k); // 11.删除图书信息void delbook(struct bookinfo book [])chardel [20];系统(“ cls”); printf(“请输入要删除的书的编号: \ n”); fflush(stdin); scanf(“%s”,del); int if(strcmp(del,book [i] .num)== 0)中断; strcpy(书[i] .name,书[i + 1] .name); strcpy(图书[i] .num,图书[i + 1] .num); strcpy(书[i] .publish,书[i + 1] .publish); book [i] .price = book [i + 1] .price; printf(“ \ t \ n成功删除!!!! \ n \ n \ n \ n”); elseprintf(“ \ n \ n \ n对不起,找不到书!!! \ n \ n \ n”); printf(“输入0退出系统,输入其他返回菜单\ n”); scanf(“%d”,&k); 4.程序调试中的问题和解决方案1.刚启动程序时,无法切换功能. 也就是说,进入某个功能后,您将无法返回主菜单并继续完成其他功能操作.

图书管理系统c语言_大型基于c语言图书管理系统_大型基于c语言图书管理系统

在老师下令后,我发现您可以省略主功能中的所有功能,然后定义菜单功能,将菜单功能写入主功能,然后所有其他功能都可以传递逻辑. 如果不成立,请返回主菜单. 确实是2. 在编译和调试时,我发现在实现每个功能后,无法清除已使用的功能. 这严重影响了功能的美观. 使用后,会感到非常凌乱大型基于c语言图书管理系统,无法人性化. 但是,在查看了信息之后,我发现可以创建一个#include头文件,然后使用system(“ cls”);清除屏幕. 我觉得这个功能很实用. 使用它之后,我显然感觉到整个功能的使用已经变得清晰起来. 3.编写删除图书信息功能时大型基于c语言图书管理系统,我的逻辑是: 首先找到已删除的图书,然后将后续的图书信息前移一个位置. 但是当我进行编译时,我发现每次删除一本书时,总是剩下最后两本书信息. 那时我感到非常困惑. 但是,在与同学讨论之后,发现删除后,宏定义a必须减少一个,否则最后一本书的信息将保留. 4.在编写借书功能时,我发现日期操作很困难. 当我们在12月借书时,年份将增加一. 我没想到如何编译它,但是在查阅了这些信息之后,我发现可以想象该月是30天,这使编译更加容易. 5.编写查询图书信息的功能时,我没有想到如何使一个数组等于我要查找的数组,但是在问了老师之后,我发现我们已经学习了这个功能. 我们只需要定义一个#include头文件,然后使用strcmp(s2,book [i] .name)== 0来实现此功能.

大型基于c语言图书管理系统_大型基于c语言图书管理系统_图书管理系统c语言

,改进建议和经验当我编译该系统时,我觉得仍然有很多缺点. 例如,在计算退还书的日期时,我只能想象它是每月30天. 实际上,这不是科学的日期,现实生活中的日期分为30.31天,第二年2月为29天. 总的来说,系统还是不完整的,但是现在我想到了使用switch函数来实现,实际上,它非常简单. 不要使用中断. 可以清楚地发现,无论是否为a年,都可以通过这种情况轻松地计算日期. 如果添加此功能,我认为是更好的选择. 这是我的进步. 当谈到收获和经验时,我真的充满了情感. 首先,我发现自己的缺点和知识不足. 每次老师都能非常准确地发现我的问题,但我无法达到这种状态. 似乎真的有无尽的学习. 我还很年轻,还有很多东西要学. 其次,我非常欣赏C语言的巨大而深刻的变化. 有时候,这只是一个很小的变化. 有时我发现它无法编译. 有时我发现编译后的东西与我想象的完全不同. 我们还需要更多地了解C语言并理解其精妙之处. 第三,我体验了成功的喜悦和成就. 当我看到自己为编译500多个程序而努力工作时,我兴奋不已. 如此多的程序对外界来说肯定是很奇怪的. 牛,哈哈.

大型基于c语言图书管理系统_图书管理系统c语言_大型基于c语言图书管理系统

第四,我学会了一种无所畏惧的精神. 当我想起当时老师给我们的要求时,我的内心充满了不满和痛苦. 我觉得我无法用我学到的东西来编译这么复杂的程序. 但是经过5天的不断编译和搜索信息,我终于慢慢地逐层剥离了这个神秘的事物,最终发现我们以前认为的问题实际上根本不是问题. 在将来的学习中,我不想再害怕语言了. 第五,本实验课程使我想起了以前学到的很多知识,因此我可以从一个多月的寒假中恢复到学习的状态!感谢您参加本实验课程,我学到了很多东西! !! 6.主要参考资料程序设计(第二版),谭浩强主编,清华大学出版社,2000年. 教师评论: 教师签名: ___________


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

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

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