C语言图书借阅管理系统.doc

电脑杂谈  发布时间:2020-07-11 18:23:54  来源:网络整理

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

结果表学生姓名任春雷班级学生ID 1203050126计算机科学与技术课程设计职称借阅系统注释团队负责人的签名: 结果日期201月份日期课程设计任务书信息科学与工程学院计算机科学与技术学生姓名任春雷班级学生人数1203050126课程设计主题图书借阅系统实际教学要求和任务: 设计图书借阅系统,功能包括: 图书馆管理子系统,管理员负责输入图书(包括ISBN编号,书名,作者,数量和数量). 其他信息),销毁二手书和其他功能;图书借阅子系统(保存用户名,借书的ISBN号,借阅日期和其他信息),负责图书借阅,退还,续订,逾期等功能;查询子系统,包括查询图书馆中书籍,客户借阅等并将信息保存在文件中的功能. 工作计划和时间表: 第14周: 问题分析,程序设计,软件编码和调试;第19周: 软件测试,撰写课程报告,回复. 讲师: 201月日负责人: 201天月学校助理院长: 201天月日1,实践培训主题和实践任务1.实践培训主题书籍借阅系统2.设计实践培训任务图书借阅系统,功能包括: 图书管理子系统,管理员负责输入图书(包括ISBN号,书名,作者,数量等信息),销毁废书等功能;图书借阅子系统(保存用户名,借阅的图书)ISBN号,借阅日期等信息,负责图书借阅,归还,续订,逾期等功能;查询子系统,包括查询图书馆书籍,客户借阅状态等的能力.

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

(您可以自己玩);将信息保存在文件中. 3.标题分析: 学校图书馆,其图书借阅管理系统应具有以下功能: 图书馆员将图书的ISBN号,标题,书名,作者,价格等输入系统的存储区域,以方便使用以后再说. 您还可以修改书的内容. 读者可以根据ISBN号或书名在系统中搜索并借阅所需的书. 每人借书的数量不超过20. 创建文件并将信息保存在文件中. 方法: 创建有关书籍的结构,包括ISBN号,书名,作者,出版商和价格. InsertDoc函数负责插入新书信息. void sort_maopao函数使用冒泡方法按升序排列书籍的ISBN号. void DeleteDoc函数,删除废书信息. void Print_Book_Doc函数,输出书籍信息,以方便读者选择书籍. void search_book函数,用于查询书籍. void info_change函数可修改书籍信息. main函数使用switch-case结构调用该函数. 4.开发工具和环境开发工具: Visual C ++ 6.0,CodeBlock10.05等环境: Windows 7 2.软件设计1.图书借阅系统的关键技术分析和设计,功能包括: 图书管理子系统,可输入由管理员管理书籍(包括ISBN号,书名,作者,数量等信息),废书销毁等功能;图书借阅子系统(保存用户名,图书借阅ISBN号,借阅日期等信息),负责图书借阅,归还等工作;查询子系统,包括查询图书馆中书籍以及将信息保存在文件中的功能.

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

2. 软件模块设计图2-2-13. 软件界面设计图2-3-1 3.软件测试及运行结果1.测试计划选择1,输入01大学英语李孟华上海外语3802大学物理徐松宁科学出版社51选择2,输出图片3-2-1选择7,输出图片3-2-2 2.测试结果图片3-2-1图3-2-2 IV. 收获和经验1.实践收获在编程实践中,我仅意识到自己缺乏基本知识. 经过一段时间的努力,我的基础知识更加扎实,尤其是关于指针,结构,链接列表和文件的知识. 第二是知识的运用. 先前学习的知识是单方面的理解. 一旦编程,就无法启动. 现在我们可以熟练地应用各种知识,从而可以应用知识. 最后,编程技巧c语言图书管理系统报告,从总体配置到各种功能的应用都取得了长足的进步. 2.通过一段时间的编程实践,实习经验使我对C语言的了解更加深入和广泛. 同时,我在编程实践中遇到了很多困难. 显然,我知道我缺乏应用知识的能力. 通过书评和与同学的交流,我取得了长足的进步. 在编程过程中,与同学的交流使我取得了很大进步. 老师的指导也使我受益匪浅. 老师问后,一些困难的知识突然变得明亮起来. 当我看到强大的同学编写的数百行程序时,我常常会感到害怕. 我一直觉得自己做不到,但是经过艰苦的努力,我觉得程序运行起来并不难,这极大地提高了我的自信心,为以后的学习和工作打下了良好的基础. 我认为这是我最重要的收获.

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

五,源代码列表#include #include #include #include struct books_list {char writer [20]; / *作者姓名* / char title [20]; char ISBN [20]; / *书名* / char Publishinghouse [20]; / * Publisher * /借入的int price; / * Price * / struct books_list * next; / *指针字段* /}; struct books_list * Create_Books_Doc(); / *新的链表* / void InsertDoc(struct books_list * head); / *插入* / void sort_maopao(struct books_list * head); // Sort void DeleteDoc(struct books_list * head,int num ); / *删除* / void Print_Book_Doc(struct books_list * head); / *浏览* / void search_book(struct books_list * head); / * Query * / void info_change(struct books_list * head); / *修改* / void save( struct books_list * head); / *将数据保存到文件中* // *新的链表头节点* / struct books_list * Create_Books_Doc(){struct books_list * head; head = {struct books_list *)malloc(sizeof(struct books_list)); / *分配头节点空间* / head-> next = NULL; / *头节点指针字段初始化,设置为空* /返回头;} / *将数据保存到文件* / void save(struct books_list * head){struct books_list * p;文件* fp; p =头; fp = fopen(“ data.txt”,“ w +”); / *通过写入* / fprintf(fp,“创建并打开data.txt文件,” --------数字-------标题-------------- -作者----------出版社-----------价格\ n“); / *指针从头节点移动,遍历到末端节点,并按顺序输出书籍信息* / while(p-> next!= NULL){p = p-> next; fprintf(fp,“%-6.6s%-15.10s%-10.10s%-10.10s%-10.10d \ n”,p-> ISBN,p->标题,p-> writer,p-> publishinghouse,p ->价格);} fprintf(fp,“ \ n”); fclose(fp); printf(“书籍数据已保存到data.txt文件\ n”);} void sort_maopao(struct books_list * head)(struct books_list * tail,* p,* q,* p1,* t; // p1等于head t等于head q保存p的下一个节点p1 =(struct books_list *)malloc(sizeof(struct books_list)); for(t = head-> next; t!= NULL; t = t-> next)为(p = head-> next,p1 = head; p-> next!= NULL; p = p-> next,p1 = p1-> next){if(strcmp(p-> ISBN,p-> next-> ISBN)> 0){q = p-> next-> next; tail = p-> next; tail-> next = NULL; p-> next = q; p1-> next = tail; tail-> next = p ; p = p1;}} save(head); //保存文件} / * INSERT * / void InsertDoc(struct books_list * head)(/ *定义结构指针变量s指向打开的新节点的第一个地址p作为中间变量* / struct books_list * s,* p; char flag ='Y'; / * define flag为了方便用户选择重复输入* / p = head; / *遍历尾节点,p指向尾节点* / while(p-> next!= NULL){p = p-> next;} / *打开新空间,保存输入数据,添加到链接列表* / while(flag =='Y'|| flag =='y'){system(“ cls”) ; p->借入= 0; s = {struct books_list *)malloc(sizeof(struct books_list)); printf(“ \ n请输入书号: ”); fflush(stdin); scanf(“%s”,s-> ISBN); printf(“ \ n请输入书名: ”); fflush(stdin); scanf(“%s”,s-> title); printf(“ \ n请输入作者姓名: ”); fflush(stdin); scanf(“%s”,s-> writer); printf(“ \ n请输入图书出版商: ”); fflush(stdin); scanf(“%s”,s-> publishinghouse); printf(“ \ n请输入书价: ”); fflush(stdin); scanf(“%d”c语言图书管理系统报告,&s-> price); printf(“ \ n”); p-> next = s; / *将新添加的节点添加到链接列表中* / p = s; / * p指向尾节点,向后移动* / s-> next = NULL; printf(“━━━━成功添加!━━━━”)); printf(“ \ n继续添加?(Y / N): ”); fflush(stdin); scanf(“%c”,&flag); printf(“ \ n”); if(flag =='N'|| flag =='n'){break;}其他if(flag =='Y'|| flag =='y'){continue;}} save(head); / *将数据保存到文件* / system(“ cls”); return;} / *查询操作* / void search_book(struct books_list * head){struct books_list * p; char temp [20]; p =头; if(head == NULL || head-> next == NULL)/ *检查是否为空* / {printf(“━━━━库为空!–━━━ \ n”);} else {printf(“请输入标题以找到: ”); fflush(stdin); scanf(“%s”,temp); / *指针从头节点移到末尾,然后找到书目信息* / while(p-> next!= NULL){p = p-> next; if(strcmp(p-> title,temp)== 0){printf(“ \ n找到书!\ n”); printf(“ \ n”); printf(“ Number: %s \ t \ n”,p -> ISBN); printf(“书名: %s \ t \ n”,p-> writer); printf(“作者姓名: %s \ t \ n”,p-> writer); printf(“出版单位: %s \ t \ n“,p->出版社); printf(” Price: %.2d \ t \ n“,p-> price);} if(p-> next == NULL){printf(” \ n查询完成!\ n“);}}}返回;} / *浏览操作* / void Print_Book_Doc(struct books_list * head){struct books_list * p; if(head == NULL || head-> next == NULL)/ *确定是否为空* / {printf(“ \n━━━━No book records!━━━━\ n \ n”) ; return;} p = head; printf(“ \ n \ n \ n \ t \ t编号的书名作者出版单位价格\ n”); / *指针从头节点移动,遍历到末端节点,并按顺序输出书信息* / while(p-> next!= NULL){p = p-> next; printf(“ \ t \ t%-7.6s%-13.10s%-10.10s%-10.10s%d \ n”,p-> ISBN,p-> title,p-> writer,p-> publishinghouse,p -> price);} printf(“ \ n”);} / *修改操作* / void info_change(struct books_list * head){struct books_list * p; int panduan = 0; / *此变量用于确定是否找到书目* / char temp [20]; p =头; printf(“请输入要修改的书的标题: ”); scanf(“%s”,temp); while(p-> next!= NULL){p = p-> next; if(strcmp(p-> title,temp)== 0){printf(“ \ n请输入书号: ”); fflush(stdin); scanf(“%d”,p-> ISBN); printf(“ \ n请输入书名: ”); fflush(stdin); scanf(“%s”,p-> title); printf(“ \ n请输入作者姓名: ”); fflush(stdin); scanf(“%s”,p-> writer); printf(“ \ n请输入图书出版商: ”); fflush(stdin); scanf(“%s”,p-> publishinghouse); printf(“ \ n请输入书价: ”); fflush(stdin); scanf(“%d”,&p-> price); printf(“ \ n”); panduan = 1;}} if(panduan == 0){printf(“ \n━━━━━无书记录!–━━━ \ n \ n”);} return;} void book_borrow(struct books_list * head) {struct books_list * p; int panduan = 0; / *此变量用于确定是否找到书目* / char temp [20]; p =头; printf(“请输入要借用的书的标题: ”); scanf(“%s”,temp); while(p-> next!= NULL){p = p-> next; if((strcmp(p-> title,temp)== 0)&&(p-> borrowed == 0)){p-> borrowed = 1;潘端= 1; printf(“书籍已成功借出\ n”);}} if(panduan == 0){printf(“ \n━━━━没有书可借!─━━━\ n \ n”); } return;} / *删除操作* / void DeleteDoc(struct books_list * head){struct books_list * s,* p; / * s是一个中间变量,在遍历指针* / char temp [20]中使用p;潘当/ *此变量用于确定是否找到书目* / panduan = 0; p = s = head; printf(“ [[请输入您要删除的书的名称]: ”); scanf(“%s”,temp); / *遍历到终端节点* / while(p!= NULL){if(strcmp(p-> title,temp)== 0){panduan ++; break;} p = p-> next;} if(panduan == 1){for(; s-> next!= p;)/ *找到要删除的卡号节点的前一个节点* / {s = s-> next;} s-> next = p-> next; / *将下一个节点的地址分配给前一个节点的指针字段* / free(p); printf(“ \n───────删除成功!━━━━\ n”);} else / *找不到相应的书目* / {printf(“您输入的书目不存在,请输入\ n“);} return;} int main(void){struct books_list * head; int choice; head = NULL; do {printf(“ \ n”); printf(“ --------------------库管理系统----- --------- ----- \ n \ n“);打印机tf(” [1]图书信息输入\ n \ n“); printf(” [2]图书信息浏览\ n \ n“); printf(” [3 ]图书信息查询\ n \ n“); printf(” [4]图书信息修改\ n \ n“); printf(” [5]图书信息删除\ n \ n“); printf(” [6]图书排序\ n \ n“); printf(“ [7]借书\ n \ n”); printf(“ [0]退出系统\ n \ n”); printf(“请选择: ”); fflush(stdin); scanf(“%d”,&choice);开关(选择){情况1: if(head == NULL){head = Create_Books_Doc();} InsertDoc(head); break;情况2: Print_Book_Doc(head); break;情况3: search_book(head); break;情况4: info_change(head); break;情况5: DeleteDoc(head); break;情况6: sort_maopao(head); break;情况7: book_borrow(head); break;情况0: printf(“ \ n”); printf(“━━━━━━━━━感谢使用图书馆管理系统━━━━━━━━n\ n”); break;默认值: printf(“━━━━输入错误,请重新输入!━━━━”);}} while(choice!= 0); return 0;}参考文献[1] c语言程序设计,马秀丽,李军,清华大学出版社. 2008.1[2] c程序设计(第三版),谭浩强,清华大学出版社. 2005.7 [3]面向对象程序设计(c ++语言),李爱华,程磊,清华大学出版社. 2010,2图书管理系统,图书分类,借书信息删除信息查询信息修改信息浏览信息录入


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

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

      • 周共王
        周共王

        同仇敌忾共同回击美国鬼子的可耻

      • 刘培
        刘培

        低收入者可合娶老婆----浙江财经学院教授谢作诗

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