图书信息管理系统设计c语言课程设计实验报告内容摘要:
} printf(成功删除 \n)。 system(pause)。 } ⑦ 修改模块:( 1)根据输入的 书籍名修改信息;( 2)根据输入的登录号修改信息 ( 1) void ChangeMarkByName(void) { book *p。 char bookName[20]。 char flag=0。 float mark1。 char kind。 float mark2。 p=headLinknext。 printf(请输入书名: \n)。 scanf(%s,amp。 bookName)。 while(p) { if(strcmp(pbookName,bookName)==0) { printf(请输入新的价格: \n)。 scanf(%f,amp。 mark1)。 printf(请输入新的分类号( A 办公类 B 文学类 C 商务类 D 科学历史类): \n)。 10 scanf(%s,amp。 kind)。 printf(请输入新的出版时间 (年 .月 ): \n)。 scanf(%f,amp。 mark2)。 pmark1=mark1。 pkind=kind。 pmark2=mark2。 flag=1。 printf(修改成功 \n)。 system(pause)。 break。 } p=pnext。 } if(!flag) printf(对不起,不存在书籍名为 %s 的书籍 \n,bookName)。 } ( 2) void ChangeMarkByNumber(void) { book *p。 char bookNumber[20]。 char flag=0。 float mark1。 char kind。 float mark2。 p=headLinknext。 printf(请输入书籍登录号: \n)。 scanf(%s,bookNumber)。 while(p) { if(strcmp(pbookNumber,bookNumber)==0) { printf(请输入新的价格: \n)。 scanf(%f,amp。 mark1)。 printf(请输入新的分类号( A 办公类 B 文学类 C 商务类 D科学历史类 ): \n)。 scanf(%s,amp。 kind)。 printf(请输入新的出版时间 (年 .月 ): \n)。 scanf(%f,amp。 mark2)。 pmark1=mark1。 pkind=kind。 pmark2=mark2。 flag=1。 printf(修改成功 \n)。 system(pause)。 11 break。 } p=pnext。 } if(!flag) printf(对不起,不存在登录号为 %s 的书籍 \n,bookNumber)。 } ⑧ 排序模块:按价格排序 void CompositorByMark1(void) { book exchange,*r,*p,*q。 r=headLinknext。 if(r==NULL) { printf(现在还没书籍信息 ,请先输入书籍信息 \n)。 return。 } while(r) /*两层 while循环实现排序 */ { p=r。 q=rnext。 while(q) { if((qmark1)(pmark1)) { strcpy(,qbookNumber)。 /*先复制 q 结点信息到exchange*/ strcpy(,qbookName)。 strcpy(,qwriterName)。 =qmark1。 =qkind。 =qmark2。 strcpy(qbookNumber,pbookNumber)。 /*再复制 p结点信息到 q*/ strcpy(qbookName,pbookName)。 strcpy(qwriterName,pwriterName)。 qmark1=pmark1。 qkind=pkind。 qmark2=pmark2。 strcpy(pbookNumber,)。 /*最后复制 exchange结点信息到 p*/ strcpy(pbookName,)。 strcpy(pwriterName,)。 12 pmark1=。 pkind=。 pmark2=。 } q=qnext。 } r=rnext。 } OutputInformation()。 } ⑨ 保存、退出模块:保存链表数据到文件中 void SaveLinkToFile(void) { book *p。 FILE *fp。 p=headLinknext。 if(p==NULL) { printf(注意:没有书籍信息。 继续操作推出。 \n\n)。 system(pause)。 return。 } fp=fopen(,wb)。 if(!fp) { printf(文件不存在 \n)。 return。 } while(p) { fprintf(fp,%8s,pbookNumber)。 fprintf(fp,%8s,pbookName)。 fprintf(fp,%8s,pbookconcernName)。 fprintf(fp,%8s,pwriterName)。 fprintf(fp,%,pmark1)。 fprintf(fp,%8c,pkind)。 fprintf(fp,%,pmark2)。 fprintf(fp,\n)。 p=pnext。 } fclose(fp)。 printf(保存成 功,按任意键安全退出 )。 13 } 程序的运行和测试结果 ( 1)初始界面 ( 2)菜单界面测试: 14 ( 3)浏览功能测试 ( 4)查询功能测试 15 ( 5)增加功能测试 16 ( 6)删除功能测试 17 ( 7)修改功能测试 18 ( 8)排序功能测试 19 四、 实验中的问题及心得 遇到的问题: 对链表运用不熟悉,对链表中的头指针和头结点经常搞错,导致程序错误。 面对程序中所出现的错误,往往不知道如何修改,不知道如何通过调试手段对程序进行改进。 程序中所包含的步骤较多,不分步编写将造成较大麻烦。 心得: 写好一段有效的程序应该注重格式, 分步书写,方便 在后期的调试中找出错误。 学会了 单步调试, 比如通过判断是否赋值成功等, 比单独的思考 更有帮助 ,有利于 快速找出错误, 学会了建立 断点 , 可以节省时间。 另外虽然对 C 语言的语法上有所掌握, 学会使用链表,因为 链表 方便动态变化,比如插入一个数据很容易,而在一个数 组中插入一个数组,要移动一堆数据,删除也是 虽然很多问题是通过网络搜索解决,但是同时学会了更多程序其它头文件的调用,也发现了 算法 需要一步一步 细想 ,锻炼了我们的逻辑思维能力。 最后就是此次 课程设计 ,主张用划分功能模块的思想来整体编程 , 这样的方法 有助于我们理清思绪, 对此次的编程有很大帮助,避免了以往较长程序杂乱现象,做到主函数、功能实现模块、接口模块分开。 而且主函数之前的函数声明,也让我们对整个程序的构成更有思考方向,避免了之后继续编程或修改的思路混乱。 20 五、 附录(程序清单) include include /*如 用 getchar()、 getch()就要包含 ” ” */ include include include include include iostream /*如用 system是便需要包含 ”iostream”*/ typedef struct book { char bookNumber[10]。 /*登录号 */ char bookName[20]。 /*书名 */ char bookconcernName[20]。 /*出版社名 */ char writerName[20]。 /*作者名 */ float mark1。 /*价格 */ float mark2。 /*出版时间 (年 .月 )*/ char kind。 /*分类号( A 办公类 B 文学类 C 商务类 D科学历史类) */ struct book *next。 }book。 book *headLink。 /*链表表头指针 : 告诉第一个元素的地址 */ void logo(char logos[10]) /*界面优化代码 (清屏) */ { system(cls)。 } void ReadInfoFormFile(void)。 /*以下是函数声明 */ void DesplayMenu(void)。 void CreateHeadLink(void)。 book *MallocNode(void)。 void GetInformation(book *t)。 void OutputInformation(void)。 void D。图书信息管理系统设计c语言课程设计实验报告
相关推荐
1) 丰富的图形化管理工具,使系统管理,操作更为直观方便。 (2) 动态自动管理和优化功能。 (3) 充分的 Inter技术支持。 (4) 丰富的编程接口工具,使用户开发 SQL Server 数据库应用程序更加灵活。 (5) 具有很好的伸缩性和可靠性。 (6) 简单的管理方式。 MIS 系统开发方法 20 世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。 20世纪 50年代
8 职业规划与就业指导 2 36 36 讲座 讲座 讲座 9 军事理论 1 18 18 讲座 公共必修课小计 31 377 142 519 14 9 4 职 业 基 础 课 1 市 政工程制图 4 54 21 75 5 2 土木工程材料 3 42 12 54 3 3 工程测量 3 42 12 54 3 4 工程力学与结构 5 58 32 90 3 2 5 土力学与地基基础 35 10 45 3
的优 要是工艺和装备的设计,而对中药厂工艺与装备设计的基本要求必须牢牢树立质量、生产、经济三大观念。 质量观念:药品用于防病、治病,药品的质量关系到患者的身体健康,而伪劣药品直接危及用药者的健康甚至生命,因此我国政府非常关注药品的质量,而质量的优劣首先是设计,之后是生产出来的。 因此在设计过程中第一应当关心的是工艺与装置设计能否确保投产后药品的生产质量,诸如洁净室的设置
重复使用。 2 、实现菜单选项 菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护, Visual Basic 也提供了强大的创建菜单功能是程序更加标准。 本系统使用 Visual Basic 的菜 单编辑器建立菜单或者修改已经存在的菜单,您也可以使用 Visual Basic 的 Application Wizard 来操作。 实现工具栏 CoolBar 控件与
1、农业技术全集之植,要吸收多种营养元素,一旦某种元素缺乏,就会通过植株的外部形态表现出相应的缺素症状,生产上多以此作为诊断缺素症和采取补救措施的依据。 缺氮症 氮是油菜生长发育需要量最多的一种元素。 缺氮时,植株生长瘦弱,叶片少而小,呈黄绿色至黄色,茎下部叶片有的边缘发红,并逐渐扩大到叶脉;有效分枝数、角果数都大为减少,千粒重也相应减轻,产量显著降低。 补救措施:苗期缺氮,每亩用 1525