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

C语言课程设计图书管理系统课程设计报告(3)

电脑杂谈  发布时间:2019-04-30 04:16:25  来源:网络整理

图书管理系统_图书管理系统c语音案例_图书管理系统毕业论文

下面, 我大致介绍一下我的系统的主要功能和注意事项: 当运行此程序时, 首先进入系统主界面, 然后可以选择 1. 进入系统, 2. 退出系统。 选择 1 后进入系统, 然后显示功能菜单按数字键选择所需服务。 功能菜单中, 1 录入所有书籍信息, 2 进入图书管理系统, 3 进入图书查询系统, 4 进入图书借还系统, 5 保存所有图书信息, 6 显示菜单, 7 返回上级菜单。 当出现"请选择"时, 需要输入选项前的数字, 输完之后按回车(下同)。 首次运行系统需要先选择 1 录入库存书籍信息, 然后再选择其他操作。 当选择 2 时会进入图书管理系统, 在这里可以选择添加、 修改信息等操作, 需要注意的是每次执行完添加、修改等操作后需要手动选择保存图书信息的操作, 不然磁盘文件信息不会改变(下同)。 返回上级菜单进入图书查询系统、 图书借还系统的操作和管理系统的差不多, 用户可自己尝试使用, 所有信息最后均以磁盘文件方式保存, 而且格式固定, 在输入和输出均按这种格式, 用户在使用时必须要按这种格式输入, 否则会出现文件信息错误。 上机操作(截图) 系统主界面(选择数字进 入,退出系统)选择 1 进入系统, 然后出现功能菜单; 选择 3 进入查询系统, 然后出现功能菜单; 选择 2 输入图书编号, 显示查询到图书;在这一个星期的实践中, 通过编写这个图书管理系统, 我体会到了 c 语言学习的实用性。

将理论和实践结合在一起, 用先进的计算机工具方便人们的生活。C语言程序的编写首先要从大局考虑, 把自己编写整个程序的思想都写在草稿上,这样有助于自己编写程序, 在编写时要完善注释, 方便其他人理解程序。 编写的程序从理论上来说并没有错, 但以上机就问题不断。 甚至有些课本上的知识照搬不变, 也不能得到正确的结果。 有时一个程序改了一遍又一遍, 但就是不能成功,编程显得枯燥乏味, 看似简单的程序题, 在调试时却屡屡出错。 经反复的修改后,结果正确了, 这时所有的乏味都显得那么无力, 一切都是值得的。 我认为, 开发一套系统, 最重要的是细心, 并且思考要全面, 结合实际, 充分考虑到客户的需求和现实意义。 不管什么系统, 只用运用到实际应用中, 才具有先现实意义。 所以 c 语言程序的实用性很强, 我们以后还要更加努力认真地学习编程语言。 [1] 黄明等编著《C 语言课程设计》 北京: 电子工业出版社 [2] 郭翠英编著《C 语言课程设计案例精编》 北京: 中国水利水电出版社 [3] 宁正元《数据结构(c 语言)》 南京: 东南大学出版社。 2000 年 6 月第 1 版 [4] 严蔚敏等 《数据结构(c 语言版)》 北京: 清华大学出版社, 1997 年 4 月第 1 版 [5] 谭浩强编著《C 程序设计题解与上机指导(第 3 版) 》 北京: 清华大学出版社 [6] 谭浩强编著《C 程序设计(第 3 版) 》 北京: 清华大学出版社 [7] 洪国胜 等编著 《C++ Builder 程序设计轻松上手》 北京: 清华大学出版社 [8] 宁正元《数据结构(c 语言)》 南京: 东南大学出版社。

图书管理系统c语音案例_图书管理系统_图书管理系统毕业论文

2000 年 6 月第 1 版 [9] 严蔚敏等 《数据结构(c 语言版)》 北京: 清华大学出版社, 1997 年 4 月第 1 版。 [10] 明日科技 编著《Visual C++程序开发范例宝典》 北京: 人民邮电出版社。 [11] 胡学钢等《数据结构算法设计指导》 北京: 清华大学出版社, 1999 年 第 1版。 [12] 刘大有 《数据结构》 (面向 21 世纪课程教材) 北京: 高等教育出版社。 2001年 6 月第 1 版。 [13] 胡学钢等《数据结构算法设计指导》 北京: 清华大学出版社, 1999 年 第 1版。源程序代码 # include <stdio.h> # include <stdlib.h> # include <string.h> typedef struct link { char number[100];//编号 char bookname[100];//书名 char author[100];//作者 char publish[100];//出版社 char time[100];//出版时间 float price;//价格 char status[100];//在库状态 struct link *next; }link; //函数声明 link *Cbook(); void mainmenu(); void menu1(); void glmenu(); void cxmenu(); void jhmenu(); void print(link *head); void hold(link *head); void holdcx(link *t); link *findnumber(link *head); link *findboookname(link *head); link *findauthor(link *head); link *add(link *head); link *sortnumber(link *head); link *delbook(link *head); link *revamp(link *head); link *borrowbook(link *head); link *returnbook(link *head); //主函数 main() { int a,b,c,d,e; link *h,*t;L:system("cls");//L 为一个标志位, 用于从子函数返回主界面 mainmenu(); while(1)//主程序循环运行 { scanf("%d",&a); switch(a) { case 1://进入主系统{ B: system("cls");//B 为一个标志位, 用于从子函数返回主功能界面menu1(); while(1) {scanf("%d",&b);switch(b){case 1://图书信息的录入{h=Cbook();}break;case 2://进入图书管理的子系统{system("cls");glmenu();while(1){scanf("%d",&c);switch(c){case 1://显示所有图书信息 {print(h);}break;case 2://添加一本图书信息{h=add(h);h=sortnumber(h);print(h);}break;case 3://修改一本书的信息{revamp(h);}break;case 4://删除一本图书信息{h=delbook(h);print(h);}break;case 5://保存图书信息{hold(h);}break;case 6:{goto B;}break;}}}break;case 3://进入图书查询的子系统{system("cls");cxmenu();while(1){scanf("%d",&d);switch(d){case 1://显示所有图书信息{print(h);}break;case 2://按编号查询图书{t=findnumber(h);if(t==NULL)printf("没有要查询的图书!!! "); if(t!=NULL){printf("查询的图书为: ");printf("\n");printf("\n**************************************************\n");printf("\n 编号\t\t 书名\t\t 作者\t\t 出版社\t\t 出版时间\t\t 价格\t\t 状态\n");printf("\n");printf("%s\t%s\t%s\t%s\t%s",t->number,t->bookname,t->author,t->publish,t->time);printf("\t\t%.2f",t->price);printf("\t\t%s",t->status);printf("\n");}}break;case 3://按书名查询图书{t=findboookname(h);if(t==NULL)printf("没有要查询的图书!!! "); if(t!=NULL){printf("查询的图书为: "); printf("\n");printf("\n**************************************************\n");printf("\n 编号\t\t 书名\t\t 作者\t\t 出版社\t\t 出版时间\t\t 价格\t\t 状态\n");printf("\n");printf("%s\t%s\t%s\t%s\t%s",t->number,t->bookname,t->author,t->publish,t->time);printf("\t\t%.2f",t->price);printf("\t\t%s",t->status);printf("\n");}}break;case 4://按作者查询图书{t=findauthor(h);if(t==NULL)printf("没有要查询的图书!!! "); if(t!=NULL){printf("查询的图书为: "); printf("\n");printf("\n**************************************************\n");printf("\n 编号\t\t 书名\t\t 作者\t\t 出版社\t\t 出版时间\t\t 价格\t\t 状态\n");printf("\n");printf("%s\t%s\t%s\t%s\t%s",t->number,t->bookname,t->author,t->publish,t->time);printf("\t\t%.2f",t->price);printf("\t\t%s",t->status);printf("\n");}}break;case 5://保存查询信息{holdcx(t);}break;case 6://返回上级菜单{goto B;}break;}}}break;case 4://图书借还系统 { system("cls"); jhmenu(); while(1) { scanf("%d",&e); switch(e) { case 1://借书 {borrowbook(h); }break; case 2://还书{ returnbook(h); }break; case 3://返回上级菜单 {goto B; }break; }} }break;case 5:// 保存图书信息到文件{hold(h);}break;case 6://显示主功能菜单{system("cls");menu1();}break;case 7://返回系统主界面{goto L;}break;}} }break; case 0://退出系统 { printf("\t\t\t 感谢使用, 再见!!! "); exit(0); } } } } //链表的创建和信息的录入 link *Cbook() { int n=0; link *p,*q,*head; FILE *fp;fp=fopen("图书信息.txt","r+"); if(fp==NULL) printf("没有找到文件, 请检查……"); p=(link *)malloc(sizeof(link)); if(p==NULL) printf("申请内存出错!!! \n"); fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p->publish,p->time); fscanf(fp,"%f",&p->price); fscanf(fp,"%s",p->status); while(feof(fp)==0) { n++; if(n==1) { head=p; } else { q=p; p=(link *)malloc(sizeof(link)); if(p==NULL) printf("申请内存出错!!! \n"); fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p->publish,p->time); fscanf(fp,"%f",&p->price); fscanf(fp,"%s",p->status); q->next=p; } } p->next=NULL; fclose(fp); printf("信息已录入!!! "); return head; } //系统主界面 void mainmenu() { printf("\n**************************************************\n"); printf("\n**欢迎使用图书管理系统**\n"); printf("\n**1.进入系统"); printf("\t0.退出系统**\n");printf("\n**************************************************\n"); printf("\n 请选择"); } //功能菜单 void menu1() { printf("\n**************************************************\n"); printf("\n**1.录入所有书籍信息**\n"); printf("\n**2.进入图书管理系统**\n"); printf("\n**3.进入图书查询系统**\n"); printf("\n**4.进入图书借还系统**\n"); printf("\n**5.保存所有图书信息**\n"); printf("\n**6.显示菜单**\n"); printf("\n**7.返回上级菜单**\n"); printf("\n**************************************************\n"); printf("\n 请选择"); } //管理系统菜单 void glmenu() { printf("\n**************************************************\n"); printf("\n**1.显示所有图书信息**\n"); printf("\n**2.添加一本图书信息**\n"); printf("\n**3.修改一本图书信息**\n"); printf("\n**4.删除一本图书信息**\n"); printf("\n**5.保存所有图书信息**\n"); printf("\n**6.返回上级菜单**\n"); printf("\n**************************************************\n"); printf("\n 请选择"); } //查询系统菜单 void cxmenu() { printf("\n**************************************************\n"); printf("\n**1.显示所有图书信息**\n"); printf("\n**2.按编号查询图书**\n"); printf("\n**3.按书名查询图书**\n"); printf("\n**4.按作者查询图书**\n"); printf("\n**5.保存所查询图书的信息**\n"); printf("\n**6.返回上级菜单**\n"); printf("\n**************************************************\n");printf("\n 请选择"); } //借还系统菜单 void jhmenu() { printf("\n**************************************************\n"); printf("\n**1.借书**\n"); printf("\n**2.还书**\n"); printf("\n**3.返回上级菜单**\n"); printf("\n**************************************************\n"); printf("\n 请选择"); } //输出链表函数 void print(link *head) { link *p; p=head; if(p==NULL) { printf("文件中没有图书信息\n"); } else{printf("\n"); printf("\n**************************************************\n"); printf("\n 编号\t\t 书名\t\t 作者\t\t 出版社\t\t 出版时间\t\t 价格\t\t 状态\n"); while(p!=NULL) {printf("\n"); printf("%s\t%s\t%s\t%s\t%s",p->number,p->bookname,p->author,p->publish,p->time); printf("\t\t%.2f",p->price); printf("\t\t%s",p->status); printf("\n"); p=p->next; } } } //保存信息到文件子函数 void hold(link *head) { link *p;FILE *fp; fp=fopen("图书信息.txt","w+"); if(fp==NULL) { printf("文件操作出错!!! "); exit(1); } p=head; for(;p!=NULL;p=p->next) { fprintf(fp,"\n"); fprintf(fp,"%s\t%s\t%s\t%s\t%s",p->number,p->bookname,p->author,p->publish,p->time); fprintf(fp,"\t\t%.2f",p->price); fprintf(fp,"\t\t%s",p->status); } fclose(fp); printf("信息已保存。

struct temp=temp->printf("。scanf(":\.bookname).author),1。现在移动磁头到本段存储空间的开始,并且添加文件c:# mt -f /dev/nst0 bsf 1# mt -f /dev/nst0 statusfile number = 0block number = -1general status bits on (1010000):online im_rep_en# mt -f /dev/nst0 fsf 1# mt -f /dev/nst0 statusfile number = 1block number = 0general status bits on (81010000):eof online im_rep_en# tar rvf /dev/nst0 cc# mt -f /dev/nst0 statusfile number = 2block number = 0general status bits on (81010000):。


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

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

    • 陈亚娟
      陈亚娟

      0现在是9

    • 秦献公
      秦献公

      其实我是不高兴在美丽的夕阳下遇到你

    • 李换换
      李换换

      不满老天做安排

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