b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

C语言课程设计 图书管理系统.doc

电脑杂谈  发布时间:2019-07-23 10:08:08  来源:网络整理

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

n"编号 名称单价 作者 图书状态 | 姓名性别 学号\。”单价”和”图书编号”的对应关系在”编号对照”工作表中。3.根据图书编号,请在”订单明细”工作表的”单价”列中,使用vlookup函数完成图书单价的自动填充。

程序中需要对图书信息实现输入、查询、删除、借书和还书的功能,首先要使用菜单进行各项功能的选择;其次需要有文件的输入、输出功能,提供显示、查找等操作。在程序的运行过程中,注意各功能在使用完毕后返回菜单的设置,以方便运行。第三部分 总体设计根据上面的需求分析,可以将整个图书管理系统分为输入模块、查找模块、删除模块、借书模块和还书模块(如图3-1所示)。图书管理系统图书管理系统输入新书查找图书删除图书借阅图书归还图书图3- SEQ 图表 \* ARABIC 1 系统功能模块图第四部分 详细设计4.1 数据结构在这个程序里,每本书的信息用一个结构体book来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号,结构体中的存在状态设为整型,用不同数字代表库中高本书的数量。struct book{ char title[30]; int number; char author[30]; float price; int store; char borrower_name[20]; char borrower_gender[5]; int borrower_number;}s[N];其中的N定义为该系统所管理书籍的最大值。

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

#define N 100 //书籍的最多本数4.2 主函数【说明】主函数中,对“菜单”进行了输出,将各个模块的函数列出来,实现对各种功能的选择。其流程图如图4.1-1所示。显 示 一 系 列 功 能 选 项显 示 一 系 列 功 能 选 项输入n图书管理系统c语言课程设计,判断n是否是0~5?调 用 与 n 相 应 的 模 块NY开 始结 束图4.1-1 主函数流程图【程序】void main(){ int x; do {printf("**************************************菜单**************************************\n""***********1.输入图书信息********** \n""***********2.查找图书信息********** \n""***********3.删除图书信息********** \n""***********4.借阅图书********** \n""***********5.归还图书********** \n""***********0.退出********** \n");printf("********************************************************************************\n");printf("请在0-5中选择,以回车键结束\n");scanf("%d",&x);switch(x){ case 1: input(&s[0]);break;//输入新图书信息模块case 2: search(&s[0]);break;//查找模块case 3: del(&s[0]);break;//删除模块case 4: borrow(&s[0]);break;//借书模块case 5: retur(&s[0]);break;//还书模块case 0: break;//退出 } }while(x!=0);}4.2 各功能模块设计(1)输入模块【分析】在输入模块中,主要以输入输出语句为主,使用了do…while…和for…这两种循环方式,do…while…是作为一级循环,for…为二级循环。

在输入图书的基本信息过程中,使用指针进行字符串及值的传递。全局变量m是用于记录图书的储存位置,便于在后来的查询、删除等功能中的使用。调用save(struct book*p)来保存输入的数据。定义的整型变量y,用来储存是否继续的指令。该模块的流程图如下图4.2-1所示。输入图书的基本信息输入图书的基本信息调用save(struck book *p)保存函数,m++判断y是否为0?YN开始返回菜单结束图4.2-1 输入模块流程图【程序】void input(struct book *p){ int y;for(;p<(&s[0]+N);p++){ printf("请输入书名:");scanf("%s",p->title);printf("请输入编号:"); scanf("%d",&p->number);printf("请输入作者:"); scanf("%s",p->author);printf("请输入图书价格:"); scanf("%f",&p->price);printf("请输入图书数量:"); scanf("%d",&p->store);m++;printf("第%d个信息已经输入完毕,是否继续?\n按任意键继续,按0键结束.",m);scanf("%d",&y);//读取是否继续if(y==0){ save(&s[0]);read(&s[0]);//调用读取文件函数break;} }} (2)查找模块【分析】此模块的提供两种查找方式,输入书名或作者,均可实现查找功能。

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

答:我准备用一个treemap来存储所有的图书信息,有两个map,一是读者与图书其他信息(书名和书籍数量)的映射,二是书名与图书其他信息(作者和数量)的映射,用于两种图书查找方法。例如,用文件管理信息,给出菜单主程序、子程序函数名和形参,甚至给出了从文件读取信息的模块代码,学生可以直接进行排序、查找、求最大值/最小值/平均值计算、信息增删改和存盘处理。蠕虫木马worm.win32.downloader.nm运行获取系统进程,查找进程中是否存在avp.exe(卡巴斯基杀毒软件),如找到该进程则把当前系统时间修改为2001年,目的使卡巴主动防御失效,创建注册表病毒服务项、映像劫持多款安全软件,目的使系统安全性降低,遍历system32目录查找\s*st.exe的文件,找到svchost.exe文件后,创建一个进程并调用readprocessmemory函数读写该进程内存,调用zwunmapviewofsection获取当前进程映射的基址,然后调用writeprocessmemory函数对内存地址写入病毒数据,连接网络读取列表下载大量恶意文件并运行,给用户清除病毒带来极大的不便。

用户首先查找要删除的图书,图书列表出来后,确认是否删除。当删除成功后,询问是继续删除还返回退出并返回菜单。其流程图如下图4.2-3所示。开 始开 始选择删除方式0-21或2输入要删除的书名或作者调用read(struct book *p)使用for循环查找并显示记录,m--判断是否继续YN返回菜单结 束0调用save(struct book*p)图4.2-3 删除模块流程图【程序】void del(struct book *p)//删除模块{ int i;struct book *p1,*p2;char name1[20];char name2[20];char c[3];int n;do{ p=&s[0];printf("请选择删除以方式回车键结束:\n");//打印删除方式菜单printf( " 1.按书名删除\n 2.按作者删除\n 0.返回\n");printf("请在0-2中选择:\n\n");scanf("%d",&n);//读取查找方//if(n==0) break;switch(n){case 1:printf("请输入书名:\n");scanf("%s",name1); break;case 2: printf("请输入作者:\n");scanf("%s",name2); break;}read(&s[0]); //调用读取函数for(i=0;i<m;i++,p++){if(strcmp(p->title,name1)==0||strcmp(p->author,name2)==0){ p1=p;for(p2=p1+1;p2<=&s[m];p1++,p2++){strcpy(p1->title,p2->title);strcpy(p1->author,p2->author);p1->number=p2->number;p1->store=p2->store;p1->price=p2->price;m--;printf("删除成功!!\n");}}else {printf("没有该书记录!!");break;}}printf("是否继续删除?“是”请键入“yes”, “否”请按任意键,返回菜单\n");scanf("%s",c);//读取是否继续save(&s[0]); //调用保存函数}while(strcmp(c,"yes")==0); //判断是否继续删除 }(4)借书模块【分析】该模块实现系统的借书功能。

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

首先查找要借阅的图书,并且显示该项图书的记录,输入借书人的信息后store--,借书成功,询问是否继续。该模块的流程图如下图4.2-4所示。开 始开 始选择借阅查找方式0-20-21或2输入要借阅的书名或作者调用read(struct book *p)使用for循环查找,m--判断是否继续YN返回菜单结 束0调用save(struct book *p)输入借书人的基本信息显示图书借阅信息图4.2-4 借书模块流程图【程序】void borrow(struct book *p)//借书模块{ int z;char name3[20],name4[20];char w[3]; do { p=&s[0];printf("请先查找您要借阅的图书!");printf("请选择查找方式:\n");//打印查询方式菜单printf(" 1.按书名查找\n 2.按作者查找\n 0.返回\n");printf("请在0-2中选择:\n");scanf("%d",&z);//读取查找方式if(z==0) break;switch(z){ case 1: printf("请输入书名:\n");scanf("%s",name3);break;case 2: printf("请输入作者:\n");scanf("%s",name4); break;}read(&s[0]);//调用读取函数for(;p<&s[m];p++){ if(strcmp(p->title,name3)==0||strcmp(p->author,name4)==0){printf("\n查找图书信息成功!\n");printf("书名编号作者价格数量\n");printf("%-10s%-10d%-10s%-10.2fs%-10d\n", p->title,p->number,p->author, p->price,p->store);//打印信息printf("请输入您的姓名:");scanf("%s",p->borrower_name);printf("请输入您的性别:");scanf("%s",p->borrower_gender);printf("请输入您的学号:");scanf("%d",&p->borrower_number);p->store--;printf("借书成功!\n");printf("书名编号作者价格数量借书人性别学号\n");printf("%-10s%-10d%-10s%-10.2f%-10d%-10s%-10s%-10d\n",p->title,p->number,p->author,p->price,p->store,p->borrower_name,p->borrower_gender,p->borrower_number);break;}}printf("是否继续借书??");printf("“是”请键入“yes”, “否”请按任意键,返回菜单\n");scanf("%s",w);//读取是否继续save(&s[0]); //调用保存函数 }while(strcmp(w,"yes")==0); //判断是否继续借书 }(5)还书模块【分析】该模块实现还书功能。


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

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

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