c语言图书管理系统报告.doc
c语言程序设计报告--图书管理系统_第二组

C语言课程设计报告图书信息管理系统设计第二组指导老师:韩晶C语言程序设计C语言程序设计实践是学习C语言的重要一环。
在实践中我们运用所有所学的C语言知识完成此次项目。
任何上机实践都增强我们对C语言的理解及运用能力。
虽然此次项目对我们初学者来说是一个巨大的工程,但组员之间的合作让我们顺利解决了各种难题。
谨以此成果献给所有费尽心血的第二小组成员及不断给予指导的韩老师。
一.题目要求1.设计题目:图书信息管理系统2.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格3.系统实现以下功能:1)系统以菜单方式工作。
2)图书信息录入功能——输入。
3)图书信息浏览功能——输出。
4)查询和排序功能:(1)按书名查询(2)按作者名查询(3)按登录号排序(4)按图书价钱排序5)图书信息的删除与修改。
二.设计分析概括根据题目要求分析可知我们需要程序提供一个结构体及文件的输入输出功能。
图书信息以结构体的形式存入固定文件中,在此基础上实现图书信息的浏览,查询和排序,删除与修改功能。
并将各种功能分为不同的子程序,在主程序上进行调用及运行。
程序界面菜单以键盘输入选择的方式来运行各种功能。
三.总体设计根据题目要求将程序分为以下部分:1.管理员登陆系统模块2.菜单选择模块3.图书信息录入功能模块4.图书信息浏览功能模块5.图书信息查询功能模块6.图书信息的删除与修改模块四.具体编程#include<stdio.h>typedef struct bkInfo /*图书信息结构体*/{char idNum[20]; /*图书编号*/char bkName[20]; /*书名*/char writer[10]; /*作者名*/char press[10]; /*出版社*/char pubTime[10]; /*出版时间*/char price[10]; /*价格*/char claNum[14]; /*分类号*/} ;#define x 4#define y 6int main(){void menua(); /*管理员菜单*/void menub(); /*读者菜单*/void bkadd(); /*图书信息添加*/int choice1,chlan;int choice2,idcode=1615,passcode=123,idcheck,passcheck;clrscr();1.登录菜单printf("\n==============================================================");printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n ||\t\t *** WELCOME TO THE *** ||");printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n || UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION ||"); printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n ||\t\t *** STANDERD SYSTEM *** \t\t ||");printf("\n ||\t\t\t ( ALPHA-X-%d.%d )\t\t\t ||",x,y);printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n ||\t\t\tpowered by Group II \t\t\t ||");printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n==============================================================");printf("\n\n\t ---------------------------------------");printf("\n\t\t >>> ENTER THE SYSTEM? Y/N <<<");printf("\n\t ---------------------------------------\n");printf("\n\n\t[] Enter 1 for YES or 2 for NO"); /*是否选择进入*/printf("\n\nYOU CHOOSE:");scanf("%d",&choice1);2.管理员模式/读者模式进入while(choice1!=1&&choice1!=2) /*选择号错误*/{printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Enter 1 for YES or 2 for NO");printf("\n\nYOU CHOOSE:");scanf("%d",&choice1);}switch(choice1){case 1: /*选择进入系统*/printf("\n\n\t\t ACCESS confirmed loading...");printf("\n\n\t[] Is this an Administrator Visit or a General Visit?");printf("\n\n\t[] Enter 1 for your Administrator Visit or 2 for the other.\n\n"); printf("\nYOU CHOOSE:"); /*选择管理员模式或读者模式*/ scanf("%d",&choice2);while(choice2!=1&&choice2!=2) /*进入模式选择号错误*/ {printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Enter 1 for your Administrator Visit or 2 for the other.");printf("\n\nYOU CHOOSE:");scanf("%d",&choice2);}if(choice2==1) /*进入管理员模式*/{printf("\n\n\t ----------------------------------------------------");printf("\n\t LOGIN >>>please enter your ID CODE & PASSWORD<<<");printf("\n\t ----------------------------------------------------\n");printf("\nYOUR ID:");scanf("%d",&idcheck);printf("\nPASSWORD:");scanf("%d",&passcheck);while(idcheck!=idcode || passcheck!=passcode)/*通行证与密码错误*/ {printf("\n\n\t[] Unidentified ID or wrong PASSWORD,ACCESS refused,please recheck!");printf("\n\t[] please enter your ID CODE & PASSWORD");printf("\n\nYOUR ID:");scanf("%d",&idcheck);printf("\nPASSWORD:");scanf("%d",&passcheck);}if(idcheck==idcode && passcheck==passcode)/*进入管理员模式菜单*/ {printf("\n\n\n\n\t[] ACCESS for Noble Class has been authorisedloading...");printf("\n\n\t[] Administor System at your service !");printf("\n\n\n\t[] Please choose a language service: 1.Chinese 2.English3.French");printf("\n\nYOU CHOOSE:"); /*语言选择*/scanf("%d",&chlan);while(chlan!=2){if(chlan>3){printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Please choose a language service: 1.Chinese 2.English3.French");}else{printf("\n\n\t[] ERROR: NO LANGUAGE PACKAGE HAS BEEN FOUND !");printf("\n\t[] Please choose a language service: 1.Chinese 2.English3.French");}printf("\n\nYOU CHOOSE:");scanf("%d",&chlan);}if(chlan==2){menua();}}}if(choice2==2) /*进入读者模式*/{printf("\n\n\n\n\t[] OPTION CONFIRMED,LANGUAGE PACKAGE is laoding...please wait...\n");printf("\n\t[] ACCESS authorised loading...");printf("\n\n\t[] Visitor System operational...");menub();}break;case 2: /*选择不进入系统*/printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.%d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();break;}return 0;}3.管理员模式系统void menua(){int ch,out;printf("\n\n\n\t[] OPTION CONFIRMED,LANGUAGE PACKAGE is laoding...please wait...\n\n");printf("\n\t\t*********************************");printf("\n\t\t*\t\t\t\t*");printf("\n\t\t* CENTRAL BOOK ADMINISTRATION *");printf("\n\t\t*\t\t\t\t*");printf("\n\t\t*********************************\n\n");printf("\t\t\t <<< M E N U >>>\n\n");printf("\t\t 1.Book Data Input\t2.bkamend\n\n");printf("\t\t 3.bkdelete\t\t4.bkorder\n\n");printf("\t\t 5.bksearch\t\t6.bkview\n\n");printf("\t\t 7.QUIT\n\n\n");printf("PLEASE CHOOSE A SERVICE:");scanf("%d",&ch); /*服务选择*/while(ch>7){printf("\n\n\t[] Unidentified option,please recheck!\n");printf("\n\nPLEASE CHOOSE A SERVICE:");scanf("%d",&ch);}switch(ch){case 1:printf("\n\t[] As you wish!\n");bkadd();break;case 2:printf("\n\t[] As you wish!\n");break;case 3:printf("\n\t[] As you wish!\n");break;case 4:printf("\n\t[] As you wish!\n");break;case 5:printf("\n\t[] As you wish!\n");break;case 6:printf("\n\t[] As you wish!\n");break;case 7:printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.&d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();break;}}4.读者模式系统void menub(){int cho,out;printf("\n\n\n\t\t ***** INQUIRY OF BOOK INFORMATION *****");printf("\n--------------------------------------------------------------------------------");printf("\n\n\t\t\t <<< M E N U >>>\n\n");printf("\t\t 1.[restricted]\t 2.[restricted]\n\n");printf("\t\t 3.[restricted]\t 4.[restricted]\n\n");printf("\t\t 5.bksearch\t\t 6.bkview\n\n");printf("\t\t 7.QUIT\n\n\n");printf("PLEASE CHOOSE A SERVICE:");scanf("%d",&cho); /*服务选择*/while(cho>7 || cho<5){if(cho>7)printf("\n\n\t[] Unidentified option,please recheck!\n");if(cho>=1 && cho<=4)printf("\n\n\t[] Restricted option! You are not an authorised administor!\n"); printf("\n\nPLEASE CHOOSE A SERVICE:");scanf("%d",&cho);}switch(cho){case 5:break;case 6:break;case 7:printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.&d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();break;}}5.图书添加void bkadd(){struct bkInfo book;FILE *fp;int n,i,j;char message[2];if((fp=fopen("e:\\bkInfo.txt","a"))==NULL){if((fp=fopen("e:\\bkInfo.txt","w"))==NULL){printf("Failed to open the file\n");return;}}printf("\n\n\n\t\t==========================\n");printf("\t\t Book Information Input \n");printf("\t\t==========================\n\n");printf("\t[] The number of your books that are to write in is(are):");scanf("%d",&n);gets(message);for(i=1;i<=n;i++){printf("\n\n\t[] Now please write in the info:\n\n\n");printf("\t1.BOOK'S ID: ");gets(book.idNum);printf("\t2.BOOK'S NAME: ");gets(book.bkName);printf("\t3.AUTHOR'S NAME: ");gets(book.writer);printf("\t4.PRESS OF BOOK: ");gets(book.press);printf("\t5.BOOK'S PRICE: ");gets(book.price);printf("\t6.PUBLISHED TIME: ");gets(book.pubTime);printf("\t7.CLASSIFICATION: ");gets(book.claNum);fprintf(fp,"%s %s %s %s %s %s %s\n",&book.idNum,&book.bkName,&book.writer, &book.press,&book.price,&book.pubTime,&book.claNum);}printf("\n\n\n\t[] All data have been saved!\n\n\t[] Back to MENU(1) or just QUIT(2) ?");printf("\n\nYOU CHOOSE:"); /*服务选择*/scanf("%d",&j);while(j!=1&&j!=2){printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Enter 1 for MENU or 2 for QUIT");printf("\n\nYOU CHOOSE:");scanf("%d",&j);}if(j==1) /*返回菜单*/{printf("\n");menua();}if(j==2) /*选择结束*/{ printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.&d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();}fclose(fp);}五.后记1. 课程设计中遇到的主要问题和解决方法2. 创新和得意之处•界面美观•管理员有固定的登录名和密码•有语言包的选择:满足大部分人群需求•管理员和读者都可登录:系统包容性大•错选反馈:人机交互性强•一次性多重输入:方便操作•退出送别3. 设计中存在的不足及改进的设想由于编译器的局限,我们未能实现语言多重化的目标,目前系统中只存在英文版本。
c图书管理系统实验报告

c图书管理系统实验报告C图书管理系统实验报告摘要:本实验报告通过对C图书管理系统的设计、实现和测试,展示了该系统的功能和性能。
实验结果表明,C图书管理系统具有良好的稳定性和高效性,能够满足图书管理的需求。
1. 引言图书管理系统是一个用于管理图书信息、借阅记录和读者信息的软件系统。
随着图书馆规模的扩大和信息化的发展,图书管理系统的重要性日益凸显。
C图书管理系统是一个基于C语言开发的图书管理软件,具有良好的稳定性和高效性。
2. 设计与实现C图书管理系统的设计和实现主要包括以下几个方面:(1)数据库设计:设计图书信息、读者信息和借阅记录等数据库表结构,确保数据存储的有效性和完整性。
(2)功能实现:实现图书信息的录入、查询和修改功能,实现读者信息的管理和借阅记录的管理功能。
(3)界面设计:设计用户友好的界面,方便用户进行操作和查询。
3. 功能测试在实验中,我们对C图书管理系统进行了功能测试,主要包括以下几个方面:(1)图书信息管理:测试图书信息的录入、查询和修改功能,确保信息的准确性和完整性。
(2)读者信息管理:测试读者信息的录入、查询和修改功能,确保信息的准确性和完整性。
(3)借阅记录管理:测试借阅记录的录入、查询和修改功能,确保记录的准确性和完整性。
4. 性能测试在实验中,我们对C图书管理系统进行了性能测试,主要包括以下几个方面:(1)系统稳定性:测试系统在长时间运行中是否会出现崩溃或卡顿现象,确保系统的稳定性。
(2)响应速度:测试系统在查询和操作时的响应速度,确保系统的高效性。
5. 实验结果经过功能测试和性能测试,我们得出了以下实验结果:(1)C图书管理系统具有良好的稳定性,长时间运行中未出现崩溃或卡顿现象。
(2)C图书管理系统具有较快的响应速度,在查询和操作时能够快速响应用户的需求。
6. 结论C图书管理系统在设计、实现和测试中表现出良好的功能和性能,能够满足图书管理的需求。
通过本实验报告的展示,我们相信C图书管理系统将会成为图书馆管理的重要工具,为图书馆的信息化建设提供有力支持。
c语言图书管理系统实践报告

北京师大学分校C程序设计实践报告题目:图书管理系统学院信息技术学院专业计算机科学与技术学生姓名龙海恩,少彬,鑫,麦淑玲指导教师姓名肖红玉指导教师单位信息技术学院2013 年 4 月11 日1、题目与要求编写一个图书管理系统,除了书上的功能之外,还要能做到读者借书还书,查看书籍排行榜,看到书籍的借阅记录和分类状况。
2、系统总体设计(要给出必要的文字说明及图示)本报告中蓝色字体为我们小组新增的图书信息。
2.1功能需求分析(明确系统的功能需求)(1)用户登录(2)系统主控平台(3)新增图书信息处理(4)浏览图书信息处理(5)查询图书信息处理(6)删除图书信息(7)保存图书信息处理(8)普通用户借书信息处理(9)普通用户还书信息处理(10)普通用户可查看已借书籍(11)查看排行榜(12)新增用户信息(13)查找用户(14)查看所有用户(15)保存用户信息(16)退出2.2系统功能模块划分(要给出系统功能模块图)(1)登录系统(2)增加图书信息(3)浏览图书信息(4)查找图书信息((1))按书名查找((2))按作者查找((3))按出版社查找((4))按出版日期查找((5))按ISBN查找((6))按图书类型查找(5)删除图书信息保存图书信息(6)图书排行榜(7)新增用户信息(8)查找用户信息(9)更新用户信息(10)删除用户信息(11)保存用户信息(12)退出系统((1))管理员退出系统((2))普通用户退出系统3、详细设计本系统包括图书信息管理和用户管理两大面,程序有三大模块,有三个源程序文件(management.c、book.c、user.c)和三个头文件(management.h、book.h、user.h)。
其中book.c完成的是图书信息的管理,包括新增图书、浏览图书、查询图书、删除图书、保存图书功能。
user.c完成的是用户信息的管理,包括新增用户、用户查询、保存用户等功能。
management.c完成的是用户登录,用户退出等功能。
c语言课程设计报告图书管理系统

c语言课程设计报告图书管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,熟悉图书管理系统的开发流程,培养学生运用C语言解决实际问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解图书管理系统的需求和设计原理。
2.技能目标:–能够使用C语言编写简单的程序。
–学会使用C语言实现图书管理系统的功能。
3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。
–增强学生对计算机科学和编程的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及图书管理系统的开发。
具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数和数组–指针和引用2.数据结构:3.图书管理系统的开发:–系统测试和优化三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:用于讲解C语言的基本语法和数据结构。
2.案例分析法:通过分析具体的图书管理系统案例,使学生更好地理解系统设计和功能实现。
3.实验法:让学生动手编写程序,巩固所学知识,提高实际操作能力。
4.小组讨论法:鼓励学生分组讨论,培养团队协作意识和沟通能力。
四、教学资源本课程所需的教学资源包括:1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《数据结构与算法分析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络设备以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
评估方式应客观、公正,能够全面反映学生的学习成果。
具体安排如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。
2.作业:包括编程练习和理论作业,占总评的30%。
3.考试:包括期中和期末考试,占总评的50%。
期中和期末考试将涵盖C语言基本语法、数据结构以及图书管理系统的开发内容。
图书管理系统;c语言报告

C语言程序设计报告时间设计项目图书管理系统学院专业班级姓学名号指导教师目录一、需求分析 (3)二、程序流程图 (3)三、核心技术的实现说明 (12)四、课设总结 (13)五、参考文献 (13)六、源程序 (13)一、需求分析根据程序要求分析,我们认为整个程序大致应该分为5 个大块,其中包括主函数以及其他4个功能函数:存入模块void In_nue();查询模块void Book_search();借阅模块void Book_send();图书归还模块void Book_return()。
各个模块又利用小模块实现细小功能划分,例如:查询模块分为全库查询void Book_search_all();按书名查询该书籍BOOK Book_search_name(char sign[]);按编号查询该书籍BOOK Book_search_num(char sign[]);按作者查询该作者的所有书籍void Book_search_zuozhe(BOOK book2[],char sign[]);共4 个小模块。
在5个大模块外,还应加一个独立的小块——显示模块,即显示书籍信息的函数,用于全程序调用。
各功能介绍:1、新书存入:主要实现程序最初运行时书籍数据的录入以及其后的运行中新书数据的追加功能;2、查询函数:实现书库拥有书籍的查看、清点功能,方便管理员查看,以及借阅者参考;3、图书借阅:实现从书库中借出书籍,保存记录。
(由于时间问题,及人力不够,还不能保存借书者个人信息。
)4、图书归还:将已借出的书籍归还书库;5、用。
显示函数:显示书籍的基本信息,主要是供上面四个函数调除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每本书的信息类型为结构体类型,包括书名,书编号,作者,价格,拥有总数,已借出数量6个变量,添加及追加的书籍信息直接写入D盘的123.txt 文件中,其他函数每次对书籍信息访问时,其数据来源都是123.txt 文件,这样做不但可以保证书籍数据的一致性,而且可以对书籍数据进行永久保存,保证每次运行程序都可以采用原来的数据。
图书管理系统c课程设计报告

图书管理系统c 课程设计报告一、教学目标本课程旨在通过学习图书管理系统的设计与实现,使学生掌握数据库的基本操作、编程语言的应用以及软件工程的实践方法。
在知识目标上,学生应理解数据库的概念、结构及其在图书管理中的应用;掌握至少一种编程语言的基本语法和编程技巧;了解软件开发的流程和规范。
技能目标则要求学生能够独立设计简单的图书管理系统数据库;编写程序实现图书的增删改查等操作;运用软件工程的方法完成一个小型的图书管理项目。
情感态度价值观目标强调培养学生对计算机科学的兴趣,增强创新意识和团队协作精神,同时培养学生的信息素养,使其能够合法、合理地使用信息技术。
二、教学内容本课程的教学内容围绕图书管理系统的设计与实现展开,具体包括以下几个部分:1.数据库基础:介绍数据库的基本概念、数据模型以及SQL语言的使用,让学生掌握如何创建、查询和管理数据库。
2.编程语言应用:通过实例教学,使学生熟悉至少一种编程语言(如C语言)的基本语法,培养学生编写程序解决问题的能力。
3.软件工程实践:讲解软件开发的生命周期,包括需求分析、设计、编码、测试和维护等环节,强调编程规范和团队合作的重要性。
4.项目实现:指导学生利用所学知识设计并实现一个简易的图书管理系统,涵盖图书的录入、查询、借阅等功能。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行授课:1.讲授法:用于传授数据库理论基础、编程语言的基本语法和软件工程的概念。
2.案例分析法:通过分析具体的图书管理案例,使学生理解数据库设计和程序实现的过程。
3.实验法:安排实验室实践环节,让学生动手编写代码,实际操作数据库,加深理解和实践能力。
4.小组讨论法:学生分组完成项目设计,鼓励学生相互讨论、协作解决问题,培养团队精神和沟通能力。
四、教学资源教学资源将包括:1.教材:《数据库原理与应用》、《C程序设计》等,为学生提供理论学习的坚实基础。
2.多媒体资料:包括教学PPT、案例视频等,增强课堂的互动性和趣味性。
C语言设计的图书管理系统设计实践报告

C语言设计的图书管理系统设计实践报告1问题描述图书管理系统作为一个应用软件将为学校的老师和学生提供一个与学校图书馆图书以及个人信息进行交互的平台。
根据系统界面的提示信息,操作者就可以对图书信息进行查询,借阅,还书,登陆个人账户则可以个人账户信息,管理员通过登陆管理员账户可以整理和修改书籍和学生信息。
2开发环境visual C++ 6.03功能分析角色1: 管理员序号功能描述备注1书籍借阅——2 书籍归还账户状态有提示3 查询书籍信息能按书名、作者、编号查找4 修改账户密码——5 修改学生数据仅管理员有此权限6 修改图书数据仅管理员有此权限7 查询账户状态会提示还书角色2: 学生序号功能描述备注1书籍借阅——2 书籍归还账户状态有提示3 查询书籍信息能按书名、作者、编号查找4 修改账户密码——7 查询账户状态会提示还书4 项目设计4.1 程序结构设计借书 基本信息 借阅状态 还书 查询账户 普通账户进入 退出系 统管理员 作者 编号全部显示书名 查询书籍修改密码 修改账户 图书信息 学生信息 修改数据库 借还书 管理权限4.2 数据结构设计程序中用到的特殊数据结构(非标准C 的基本数据类型)。
存储学生数据的结构体: typedef struct information {char bookNum[10]; char bookNam[50]; char bookAut[20]; float bookPri; int status;struct information *next; }info;存储图书数据的结构体:typedef struct student {char stuNam[20]; char number[10]; char passKey[20]; int borrowSta; char key;struct student *next; }studentDat;4.3 主要算法(1)查询书籍函数:findBo1 2 3 4 0按编号choise开始choise ?显示所有 按书名 按作者 返回(2)登录函数: checkAccYN登录结束输入数据检查账户 有无数据 账号密码帐号、密码开始存入文件(3)更改书籍函数: changeBo1 2 3 4 0(4)删除书籍函数: delBookYN增添书籍choise开始choise ?更改编号 更改状态 删除书籍 返回结束继续?编号删除开始存入文件(5)添加书籍信息函数: addBookYN5 程序运行及调试(1)进入系统开始结束 继续?输入书信息排序插入链表 存入文件(2)创建数据(3)主菜单(4)实现的主要功能6总结首先说说系统运用的原理,主要是是图书数据和学生数据的动态存储与调用,通过函数之间的相互调用实现系统各级菜单的层次递进。
图书管理系统C语言程序设计实验报告

books[i].price=f;
i++;
flushall();
printf("is Continue(y/n)?:");
scanf("%c",&isCon);
}
printf("\n --%d种图书信息输入完毕!--\n",i);
printf("\n按任意键返回主菜单!");
{
FILE*fp;
int i;
char filename[40];
//clrscr();
printf("\n input SAVE filename=");
scanf("%s",filename);
if ( (fp=fopen(filename, "w")) == NULL)
{
printf("\n %s file NOT open! press any key exit system.");
printf("\n input READ filename=");
scanf("%s",filename);
if ( (fp=fopen(filename, "r")) == NULL)
{
printf("\n %s file NOT open! press any key exit system.");
〔2〕执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。
〔3〕执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章课程设计的目的 (2)第二章课程设计题目问题描述和要求 (3)2.1 题目的问题描述 (3)2.2 题目的要求 (3)第三章系统分析与设计 (4)3.1 系统的总体设计(系统的总体框图) (4)3.2 系统的详细设计(模块的流程图) (4)3.3 源程序编制 (6)第四章系统调试出现的问题 (10)第五章系统运行报告 (11)第六章总结 (18)第一章课程设计的目的C++程序实验设计是一种综合知识运用要求较为丰富,知识联系较为紧密,设计的产品十分实用的课程。
程序设计的目的主要在于通过课程设计的综合训练,培养我们的实际分析问题、编程和动手的能力,促使我们边学边练,最终帮助我们系统的掌握课程的主要内容,更好的完成C++课程学习任务。
我们通过设计一个小型的系统,进一步熟悉和掌握面向对象程序设计的基本概念、C++中类的概念、类的封装、继承的实现方式。
了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。
我们的课题要求用菜单的形式进行操作,要保持界面的独立性和美观性,需要使用模块,使其程序清晰美观。
同时这些要求使我们加深了对模块的理解和划分。
我们的程序设计还要求有大量的对数据的操作和处理,更加加深了对已有知识的理解和巩固。
在彻底完成任务后,使我们在程序编写和全局组织系统的流程上一定大有裨益,这就是我们课程设计的目的。
第二章课程设计题目问题描述和要求2.1 题目的问题描述试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作1)图书信息录入功能(图书信息用文件保存)--输入2)图书信息浏览功能--输出3)查询和排序功能:(至少一种查询方式)--算法4)按书名查询5)按作者名查询6)图书信息的删除与修改(可选项)2.2 题目的要求设计一图书信息管理系统,使之输入的图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等并且能提供以下功能:a.系统以菜单方式工作1)图书信息录入功能(图书信息用文件保存)--输入2)图书信息浏览功能--输出3)查询和排序功能:(至少一种查询方式)--算法4)按书名查询5)按作者名查询6)图书信息的删除与修改(可选项)b.使程序的输出清晰美观。
第三章系统分析与设计3.1 系统的总体设计(系统的总体框图)我们的程序设计主要包括:1.数据输入:调用addbook()函数,输入图书名、图书编号、作者名、图书分类号、出版单位、价格、出版时间;2.数据处理:通过图书库类(BDatabase)中调用*query()、*query2()、*query3()、bookdata()函数,完成了图书信息的修改、删除、查询、显示。
3.2 系统的详细设计(模块的流程图)我们的程序包括两个类:图书类和图书库类以及main()函数。
其中图书类中的有8个私有数据成员tag、number、name[20]、author[10]、no2[10]、house[20]、time[20]、price和setname()、setauthor()、setno2()、sethouse()、settime()、setprice()、setnumber()、delbook()、addbook()、disp()等10个成员函数;图书库类中有2个私有数据成员top、Book book[Maxb]和BDatabase() 、addbook()、*query()、*query2()、*query3()、bookdata()、~BDatabase()、disp()8个成员函数。
其中我主要是负责对登录号、欢迎界面、菜单设计以及修改信息和删除信息的操作这一部分模块。
3.3 源程序编制菜单设置源代码:while(choice!=0){ cout<<endl<<endl;cout<<" ※* * * * * * * * * * *※"<<endl; cout<<" * 1 添加信息*"<<endl; cout<<" * 2 修改信息*"<<endl; cout<<" * 3 删除信息*"<<endl; cout<<" * 4 信息查询*"<<endl; cout<<" * 5 显示信息*"<<endl; cout<<" * 6 全部删除*"<<endl;cout<<" * 0 退出*"<<endl;cout<<" ※* * * * * * * * * *※"<<endl<<endl;cout<<endl<<"请按键选择您需要的操作:";cin>>choice;while(choice!=1&&choice!=2&&choice!=3&&choice!=4&&choice!=5&&choice!=6 &&choice!=0){cout<<endl<<" ** 您输入的编号在菜单里不存在,请重新输入**"<<'\a'<<endl<<endl;cout<<"请选择您需要的操作:";cin>>choice;}修改图书信息源代码:case 2:cout<<"输入图书编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<< " 该图书不存在" << endl;break;}cout<<endl<<endl;cout<<" * * * * * * * * * * * *"<<endl;cout<<" * 1 书名*"<<endl;cout<<" * 2 作者*"<<endl;cout<<" * 3 分类号*"<<endl;cout<<" * 4 出版单位*"<<endl;cout<<" * 5 出版时间*"<<endl;cout<<" * 0 退出系统*"<<endl;cout<<" * * * * * * * * * * * *"<<endl<<endl;cout<<"请输入要更改的:1书名2作者名3分类号4出版单位5出版时间0退出";cin>>choice2;switch(choice2){case 1:cout<< " 输入新的书名:"; //修改图书名cin>>bname;b->setname(bname);break;case 2:cout<<"输入新的作者名:"; //修改图书作者cin>>bauthor;b->setauthor(bauthor);break;case 3:cout<<"输入新的分类号:"; //修改图书的分类号cin>>bno2;b->setno2(bno2);break;case 4:cout<<"输入新的出版单位:"; //修改图书出版单位cin>>bhouse;b->sethouse(bhouse);break;case 5:cout<<"输入新的出版时间:";cin>>btime;b->settime(btime); //修改出版时间break;}图书删除源代码:case 3:cout<<"输入图书编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该图书不存在"<<endl;break;}b->delbook();break;登陆号&欢迎界面设置源代码:int password;cout<<" ΘΘΘΘΘΘΘΘwelecome!ΘΘΘΘΘΘΘΘ";cout<<endl;cout<<"请输入登陆号:";cin>>password;while(password!=1234){cout<<endl<<" ΘΘ密码有误ΘΘ"<<'\a'<<endl;cout<<"请重新输入密码:";cin>>password;}system("cls");int nb;{cout<<endl<<endl;cout<<" ★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"<<endl; cout<<" ¤¤ "<<endl; cout<<" ¤¤"<<endl; cout<<" ¤欢迎使用图书馆信息管理系统¤"<<endl; cout<<" ¤¤ "<<endl; cout<<" ¤¤"<<endl; cout<<" ★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"<<endl; }cout<<endl<<endl<< " 输入1进入菜单:";cin>>nb;第四章系统调试出现的问题我们在编写程序的过程中编写得比较认真仔细,循序渐进。