图书管理系统的C#代码(完整版).docx

合集下载

c语言书店管理系统课程设计

c语言书店管理系统课程设计

c语言书店管理系统课程设计一、课程目标知识目标:1. 掌握C语言基础语法,如变量定义、数据类型、运算符、控制结构等;2. 学会使用数组、字符串、结构体等C语言高级特性;3. 理解并掌握文件操作在C语言中的应用;4. 了解书店管理系统的需求分析、功能模块划分及实现。

技能目标:1. 能够运用C语言编写简单的书店管理系统程序;2. 学会分析问题,运用所学知识解决问题;3. 掌握编程规范,养成良好的编程习惯;4. 提高团队协作能力,通过小组合作完成课程设计。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情;2. 培养学生的创新意识,鼓励他们勇于尝试新方法解决问题;3. 增强学生的责任感,让他们明白编程在生活中的应用和价值;4. 培养学生面对困难时的坚持和毅力,学会克服挫折。

课程性质:本课程为实践性课程,旨在培养学生的编程能力、分析问题和解决问题的能力。

学生特点:学生已经掌握了C语言的基础知识,具备一定的编程能力,但实际应用经验较少。

教学要求:结合实际应用,引导学生运用所学知识完成书店管理系统的设计与实现,注重培养学生的实践能力和团队协作能力。

通过本课程的学习,使学生能够将所学知识运用到实际项目中,提高编程水平。

二、教学内容1. C语言基础回顾:变量定义、数据类型、运算符、控制结构(选择、循环);2. 数组、字符串、结构体等高级特性及应用;3. 文件操作:文件的打开、读取、写入和关闭;4. 书店管理系统需求分析:系统功能模块划分、数据结构设计;5. 书店管理系统功能实现:用户界面设计、功能模块编程实现;- 用户注册与登录模块;- 图书信息管理模块;- 销售管理模块;- 库存管理模块;- 查询统计模块;6. 编程规范与调试技巧:代码风格、调试方法、性能优化;7. 团队协作与项目管理:分工合作、进度控制、问题解决;8. 课程总结与成果展示:项目演示、经验分享、总结反馈。

教学内容安排与进度:1. C语言基础回顾(1课时);2. 数组、字符串、结构体等高级特性及应用(2课时);3. 文件操作(1课时);4. 书店管理系统需求分析(1课时);5. 书店管理系统功能实现(6课时);6. 编程规范与调试技巧(1课时);7. 团队协作与项目管理(2课时);8. 课程总结与成果展示(1课时)。

图书馆管理系统C语言程序设计

图书馆管理系统C语言程序设计

HUNAN UNIVERSITY C语言程序训练报告【设计目的】图书信息包括:读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等。

图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)读者注册功能3)读者登录功能4)读者借书还书功能5)查询读者借阅记录6)查询在管图书信息功能7)修改密码功能8)管理员登录功能9)增加、修改、删除图书功能10)查看图书信息功能【设计思路】根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。

【总体设计】【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用源代码为//rkou。

c 程序的入口#include<stdio。

h>#include〈stdlib.h〉#include〈string。

h>#include<conio.h〉#include"head.h”#include”fuc.h"#include”picture。

h"#include”jiangzhuo1.h"#include”output。

h"main(){ int i=setup();switch (i){ case 0: while(n<50){ conects(n);}default:eros(i);}system("pause”);}2.程序中全局变量声明定义,以及所有函数声明源代码为struct book //图书结构体声明{ char name[50],classic[10],writer[20]; //书名,类别,作者int jn; //借出数量int zn; //在馆数量int bh; //图书编号};struct information //管理员和读者结构体声明{char name[10],no[12],key[10]; //姓名,账号,密码};struct show //图书借阅记录的结构体声明{char name1[10],name2[50],writer[20],no[12]; //书名,读者姓名,书的作者,读者账号int bh,o; //图书编号,借阅状况(未还,已还)};//以下为用到的全局变量struct book bk;struct information aa,rr;struct information stu[100];struct book bb[100];struct information ad[100];struct show ss[100];int i,j,k,s;int n=0;int x;FILE *fp;//以下函数主要功能:方便窗口与用户之间交换信息int regst();void password(char *a,int b,int j);//登陆时的输入函数void examine(int *a,int b); //保证键入的数据是数字void changepaw(int a,int b); //修改密码用到的提示函数void inputs0(); //输出图书类别以供用户选择void inputs1(int a,int b,int c,int d,int e); //方便用户输入图书各项信息(如书名,编号)void inputs2(int a,int b,int c); //方便用户输入管理员的信息(如账号姓名)void inputs3(int a,int b,int c);//方便用户输入读者的信息(如账号姓名)void eros(int i); //错误显示函数,操作一旦出错,则会出现相应的错误信息void conects(int j); //连接函数,选择界面//一下函数主要用于改变文件的内容并保存int setup(); //数据初始化函数int xzc(char no[12],char key1[10],char key2[10],char name[10]);//读者注册函数int exam(char no[10],char key[10],int n);//密码账号检验函数int mp(char no[12],char key1[10],char key2[10],char key3[10],int n); //密码修改函数void paixu(); //对图书按照编号从小到大的顺序进行排列int sc(int bh); //管理员删除图书信息函数int zj(struct book bb); //管理员增加图书信息函数int xg(struct book bb);//管理员修改图书信息函数int js(int bh,char no[12]); //借书函数int hs(int bh,char no[12]); //还书函数int bh1(int bh); //判断该编号的图书信息是否存在函数void bh2(int bh); //按照图书编号显示图书信息函数int sm1(char name[50]);//判断是否存在该名字的图书信息函数void sm2(char name[50]); //按照图书名字显示图书信息函数int zz1(char writer[20]); //判断是否存在该作者的图书信息函数void zz2(char writer[20]);//按照图书作者显示图书信息函数void lb(char classic[10]); //按类别显示图书信息int rck1(int bh);//判断该编号的图书的借书记录是否存在void rck2(int bh);//按编号显示图书借书情况int gck21(char no[12]);//判断该账号读者的借书记录是否存在void gck22(char no[12]); //按读者显示借书情况2void gck12(); //显示全部借书情况void gck23();//管理员查看所有书的信息void copy(int bh); // 按编图书编号将图书信息暂时保存在另外一个结构体里面void copy2(char no[12]); //按管理员账号将管理员信息暂时保存在另外一个结构体里面void copy3(char no[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面//pic()函数:每个函数表示一个界面,conects函数将它们连接起来void pic0();void pic1();void pic2();void pic3();void pic4();void pic5();void pic6();void pic7();void pic8();void pic9();void pic10();void pic11();void pic12();void pic13();void pic14();void pic15();void pic16();void pic17();void pic18();void pic19();void pic20();void pic21();void pic22();void pic23();void pic24();void pic25();void pic26();void pic27();void pic29();void pic30();void pic31();void pic32();void pic33();void pic34();void pic35();void pic36();void pic37();void pic38();void pic39();void pic40();void pic41();void pic42();void pic43();void pic44();void pic45();void pic46();void pic47();void picc();3.用户输入以及界面反馈用到的功能函数源代码为int regst(){char num[12],paw1[10],paw2[10],name[10];int i;printf(”请输入账号\n(11字符以内,不能含有中文字符):\n”);password(num,0,11);printf(”输入您的密码\n(9字符以内,不能含有中文字符):\n");password(paw1,1,9);printf("请再次输入密码:\n”);password(paw2,1,9);printf("输入您的姓名:\n");gets(name);system("cls”);i=xzc(num,paw1,paw2,name);return i;}void password(char *a,int b,int j){ char c;int i=0;while((c=getch())!=’\r’){if(c==8){ printf(”\b \b”);if(i〉0)i-—;}else if(i<j){if(b)printf("*”);else printf("%c",c);a[i]=c;i++;}if(i==j){ printf("\a");}}a[i]='\0';printf("\n");}void examine(int *a,int b){ while(!scanf(”%d",a)){ while(getchar()!='\n’);printf("请输入数字!!\n");}rewind(stdin);if(b) system("cls”);}void changepaw(int a,int b){ int i;char c1[10],c2[10],c3[10];printf("请输入原密码\n”);password(c1,1,9);printf("请输入新密码\n");password(c2,1,9);printf(”请再次输入新密码\n”);password(c3,1,9);system("cls”);if(b){i=mp(aa。

c图书管理系统课程设计

c图书管理系统课程设计

c图书管理系统课程设计一、课程目标知识目标:1. 理解图书管理系统的基本概念和功能,掌握其在我国图书馆的应用现状。

2. 学会使用数据库管理图书信息,掌握基本的SQL查询语句。

3. 了解并掌握C语言编程在图书管理系统中的应用。

技能目标:1. 能够运用所学知识设计并实现一个简单的图书管理系统。

2. 提高问题分析能力,通过C语言编程解决图书管理中的实际问题。

3. 培养团队协作能力,通过分组讨论、共同开发完成课程项目。

情感态度价值观目标:1. 培养学生对图书管理工作的兴趣,提高对图书馆工作的认识。

2. 增强学生的信息素养,使其认识到信息管理在现代图书馆工作中的重要性。

3. 培养学生积极参与、乐于探究的学习态度,激发创新意识。

课程性质:本课程为实践性较强的课程,以C语言为基础,结合数据库知识,让学生在实际操作中掌握图书管理系统的设计与实现。

学生特点:学生具备一定的C语言基础和数据库知识,对实际应用有较高的兴趣,喜欢动手实践。

教学要求:注重理论与实践相结合,以学生为主体,鼓励学生主动参与、积极思考、动手实践。

通过课程学习,使学生能够独立设计并实现一个简单的图书管理系统,提高其编程能力和问题解决能力。

二、教学内容1. 理论知识:- 图书管理系统概述:介绍图书管理系统的基本概念、功能及在我国图书馆的应用现状。

- 数据库基础:回顾数据库的基本概念、数据模型、关系数据库及其设计方法。

- C语言编程:复习C语言基础知识,强调其在图书管理系统中的应用。

2. 实践操作:- 数据库设计:学习设计图书管理系统的数据库,包括表结构设计、数据完整性约束等。

- C语言编程实践:运用C语言编写图书管理系统的主要功能模块,如图书信息录入、查询、删除等。

- 项目开发:分组进行项目实践,培养学生团队协作能力,完成一个简单的图书管理系统。

3. 教学大纲:- 第一周:图书管理系统概述,复习C语言基础知识。

- 第二周:数据库基础,设计图书管理系统的数据库。

c语言图书管理系统

c语言图书管理系统
rg.h.ah = 0;
int86(0x16, &rg,&rg);
return rg。h。ah;
}
int choose(int bot,int top)/*根据Y的值选择操作*/
{
int ky,y = 7;
gotoxy(30,bot);
do
{
ky = key();
switch(ky)
{
case Key_UP:
gotoxy(x + 1, y + high - 3);
for (i = 1; i < width - 1; i++)

putchar(0xc4);

gotoxy(x + width—1,y + high —1);
putchar(0xd9);
}
int key()/*读键盘*/

union REGS rg;
int halfw(int sum,bbasic binfo[100],char *find);
void sta();
void blist();
void bmoney();
int main(void)

menu();

void menu()

int y;
_window();/*显示窗口*/
words();/*显示菜单文字*/
gotoxy(30,16);
cprintf(”Book Statistic");
gotoxy(30,19);
cprintf(”Exit”);
gotoxy(35,22);
textcolor(LIGHTGRAY);

C语言程序设计大作业--图书管理系统

C语言程序设计大作业--图书管理系统

C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。

二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。

c语言课程设计图书馆管理系统

c语言课程设计图书馆管理系统

c语言课程设计图书馆管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程基础,能够运用C语言设计简单的图书馆管理系统。

具体分为三个维度:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.技能目标:学生能够运用C语言进行程序设计,具备编写、调试和运行C语言程序的能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队合作意识。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础,以及图书馆管理系统的项目实践。

具体安排如下:1.第一章:C语言概述,介绍C语言的历史、特点和基本语法。

2.第二章:数据类型和运算符,学习基本数据类型、字符串、运算符及其优先级。

3.第三章:控制结构,学习条件语句、循环语句和跳转语句。

4.第四章:函数,学习函数的定义、声明和调用,以及常用标准库函数。

5.第五章:数组和字符串,学习一维数组、多维数组、字符串的基本操作。

6.第六章:指针,学习指针的概念、运算和应用。

7.第七章:结构体和文件,学习结构体的定义和应用,以及文件的读写操作。

8.第八章:图书馆管理系统项目实践,运用所学知识设计并实现一个简单的图书馆管理系统。

三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.案例分析法:通过分析典型的图书馆管理场景,引导学生运用C语言进行程序设计。

3.实验法:让学生动手编写、调试和运行C语言程序,提高学生的实践能力。

4.小组讨论法:分组进行项目实践,培养学生的团队合作意识和问题解决能力。

四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言 Primer》(第五版)。

2.参考书:《C语言编程思想》、《C语言深度探索》。

3.多媒体资料:课件、教学视频、在线教程。

C语言-图书管理系统

C语言-图书管理系统

图书借阅管理系统1.课程设计的目的我这次做的系统是图书借阅管理系统,主要目的是利用本系统来管理图书的借阅问题,以实现图书借阅的快捷化、规范化、自动化来提高工作效率。

系统以实用性,通用、开放和安全的原则。

使用数据库开发软件开发制作,实现了图书借阅信息的管理,借阅图书的信息自动化添加,借阅者的个人基本信息,借阅的基本信息,对各种图书的分类管理以及各种新书的添加等一些繁琐事项。

更好的管理好图书的借阅问题。

大大的减少了人工的工作量,比以往很大程度上提高了工作人员的工作效率。

使之成为图书馆的一个平台,成为真正的现代化科技。

为了充分利用学院现有的计算机硬件资源,做好图书借阅管理工作,提高办事效率, 实现全面的、相对集中的办公自动化,开发本系统就成了当务之急,其目的主要为了彻底改变这种繁杂的管理模式,实现全面的、相对集中的、智能化的信息综合管理,为图书馆的管理工作带来方便。

我想借本次课程设计之际,开发一个适用于通用大规模图书馆的管理系统,采用现学习的C++6. 0开发工具开发出来的基于Windows系列的图书借阅管理系统。

该系统面向所有的在校学生,实现对学生个人的借书、学生的基本信息情况等的计算机管理。

系统支持工作人员对学生图书借阅信息、图书馆新书的添加、旧书的信息修改、删除等操作,确保了数据库的安全性快捷性和一致性。

2.设计方案论证2.1主界面设计思路本次设计这个系统利用于图书馆的图书借阅管理,该系统相比以往人工的记录方式减少了很多不比要得麻烦,大大的提高了图书馆工作人员的工作效率。

这次系统的开发制作主要包括以下几个方面。

书籍统计可以查询图书的名称、作者、序号等信息,以及是否借出去了。

书籍管理可以把新书添加到系统当中,修改书籍的详细资料等。

注册会员功能,借阅书籍的学生必须注册会员才可以借书,通过注册会员来添加该学生的基本信息。

通过系统来办理借书手续以记录该学生的借书信息。

学生借书模块能够查询借阅学生的信息和该学生的借书的信息。

图书管理系统c语言

图书管理系统c语言

图书管理系统C语言1. 简介图书管理系统是一种用于管理图书馆藏书和借阅记录的软件系统。

它通常包括图书的录入、借阅、归还、查询等功能,能够提高图书馆的工作效率和服务质量。

本文将使用C语言编写一个简单的图书管理系统,实现基本的图书信息录入、修改、查询、借阅、归还等功能。

2. 功能实现2.1 数据结构我们首先需要定义合适的数据结构来存储图书信息和借阅记录。

以下是一个简单的数据结构示例:struct Book {int id; // 图书编号char title[100]; // 图书标题char author[50]; // 图书作者char category[50]; // 图书分类int isBorrowed; // 图书是否已借阅,0表示未借阅,1表示已借阅char borrowerName[100]; // 借阅者姓名// 可根据需求扩展其他字段};struct BorrowRecord {int bookId; // 图书编号char borrowerName[100]; // 借阅者姓名char borrowDate[20]; // 借阅日期char returnDate[20]; // 归还日期// 可根据需求扩展其他字段};2.2 图书信息录入和修改我们可以通过实现相应的函数来实现图书信息的录入和修改。

以下是一个简单的示例:void addBook(struct Book *library, int *count) {// 输入图书信息,将其存入library数组中,同时更新count}void updateBook(struct Book *library, int count, int bookId) { // 根据图书编号bookId,更新library数组中对应图书的信息}2.3 图书查询我们可以根据图书的不同字段来实现不同的查询功能,比如根据图书标题、作者、分类等进行模糊查询,或根据图书编号进行精确查询。

图书管理系统C语言实现代码

图书管理系统C语言实现代码
int number;
char telephone[20];
int NO;
char bookname[20];
int borrowdate;
int returndate;
if((fp=fopen("jieshujilu.txt","r"))==NULL){
scanf("%s",);
fprintf(fp,"%s",);
printf("请输入借书人班级:");
scanf("%s",p.classes);
fprintf(fp," %s",p.classes);
printf("请输入借书人学号:");
scanf("%d",&p.number);
/*随代码必须新建一下文件:jieshujilu.txt shuku.txt tempbook.txt tempshuku.txt */
#include<stdio.h>
#include<stdlib.h>
struct book{
char bookname[20]; //书名
exit(0);
}
printf("请输入此次收到的书本总数:");
scanf("%d",&i);
for(j=0;j<i;j++){
printf("请输入书名:");
scanf("%s",b.bookname);
fprintf(fp,"%s",b.bookname);

图书管理系统c语言课程设计

图书管理系统c语言课程设计

图书管理系统c语言课程设计一、课程目标知识目标:1. 学生能够理解图书管理系统的基本概念,掌握C语言实现数据结构(如链表)的基本方法。

2. 学生能够运用C语言编写程序,实现图书管理系统的基本功能,如图书的增删改查。

3. 学生能够理解文件操作在图书管理系统中的应用,实现数据的持久化存储。

技能目标:1. 学生能够运用所学知识,独立完成图书管理系统的需求分析、设计、编码和测试。

2. 学生通过课程设计,提高问题分析能力,培养解决实际问题的编程能力。

3. 学生能够运用调试工具,找出并修正程序中的错误,提高程序调试能力。

情感态度价值观目标:1. 学生在课程学习中,培养对编程的兴趣和热情,树立正确的计算机科学观念。

2. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。

3. 学生在解决实际问题的过程中,体会编程带来的成就感,增强自信心。

课程性质:本课程为C语言程序设计课程的实践环节,旨在让学生将所学理论知识应用于实际项目中,提高编程实践能力。

学生特点:学生已具备C语言基础知识,具有一定的编程能力,但实际项目经验较少。

教学要求:注重理论联系实际,引导学生独立思考,培养学生解决实际问题的能力。

通过课程设计,使学生能够将所学知识综合运用,提高编程实践技能。

二、教学内容1. 数据结构基础:回顾教材中关于数据结构的基础知识,重点复习链表的结构及其操作,为图书管理系统设计打下基础。

- 教材章节:第三章 数据结构,第四节 链表2. 文件操作:学习C语言文件操作相关知识,掌握文件读写方法,为图书信息持久化提供支持。

- 教材章节:第五章 文件,第一节 文件的打开与关闭,第二节 文件的读写3. 系统需求分析:引导学生学习如何分析图书管理系统的功能需求,明确课程设计目标。

- 教材章节:第二章 程序设计基础,第三节 结构化程序设计4. 系统设计与实现:根据需求分析,设计系统功能模块,使用C语言实现图书管理系统的增删改查等功能。

图书管理系统的设计(C语言)

图书管理系统的设计(C语言)

图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1 .新进熟土基本信息的输入2 .图书基本信息的查询3 .对撤销图书信息的删除4 .为借书人办理注册5 .办理借书手续6 .办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。

这是本人大一第二学期初 C 语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中居然在QQ 网络硬盘中找到了当初的teta 版,发布于此,以作记念。

C 源代码如下:#include〈stdio 。

h〉#include<stdlib。

h〉#include〈string 。

h>struct book {char book_name [30];int bianhao;double price;char author[20];char state [20] ;char name[20];char sex [10];int xuehao;struct book *book_next;};struct club {char name [20];char sex[10];int xuehao;char borrow [30];struct club *club_next;};void Print_Book(struct book *head_book);/*浏览所有图书信息*/void Print_Club(struct club *head_club);/*浏览所有会员信息*/struct book *Create_New_Book();/*创建新的图书库, 图书编号输入为0 时结束*/struct book *Search_Book_bianhao(int bianhao,struct book *head_book);struct book *Search_Book_name (char *b_name,struct book *head_book);struct book *Search_Book_price (double price_h,double price_l,struct book *head_book);struct book *Insert_Book (struct book *head_book,struct book *stud_book) ;/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/struct club *Create_New_Club() ;struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name (char *c_name,struct club *head_club);struct club *Insert_Club (struct club *head_club,struct club *stud_club);struct club *Delete_Club (struct club *head_club,int xuehao);struct book *Lent_Book (int bianhao ,int xuehao,struct book *head_book,struct club *head_club);struct book *back (int bianhao,int xuehao,struct book *head_book,struct club *head_club); int main(){struct book *head_book,*p_book;char book_name [30],name [20],author [20],sex [10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof (struct club) ;int choice;printf ("\n 欢迎您第一次进入图书管理系统!\n\n");printf("---——>[向导]————-〉[新建图书库] \n\n”) ;printf ("注意:当输入图书编号为0 时,进入下一步.\n\n");head_book=Create_New_Book();system(”cls”) ;printf("\n 欢迎您第一次进入图书管理系统!\n\n") ;printf("----—〉[向导]——---〉[新建会员库]\n\n”);printf(”注意:当输入会员学号为0 时,进入主菜单.\n\n”);head_club=Create_New_Club () ;system (”cls”);do {printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”);printf("\n”);printf ("\t\t\t[1] :借书办理\t");printf(" [6]:还书办理\n”);printf (”\n");printf(”\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n”);printf (” \t\t\t[3]:添加图书\t");printf (" [8]:添加会员\n”);printf ("\t\t\t[4]:删除图书\t");printf (” [9] :删除会员\n") ;printf (” \t\t\t[5]:遍历图书\t");printf (” [10]:遍历会员\n\n”) ;printf ("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n”);printf("\t\t\t0:退出\n\n”) ;printf(”请选择〈0~10〉:”);scanf(”%d",&choice);switch(choice) {case 1:printf ("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf (”输入所借图书编号:\n");scanf (”%d",&bianhao);printf ("输入借书人的学号:\n”);scanf ("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club);system (”cls");printf (” \n 借阅成功!\n\n");printf (”相关信息如下:\n\n");head_book=Search_Book_bianhao (bianhao,head_book);break;case 2:system ("cls”) ;printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”); printf ("1。

c语言书店管理系统课程设计

c语言书店管理系统课程设计

c语言书店管理系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,通过实现一个简单的书店管理系统,使学生能够理解C语言的数据结构、控制流程和文件操作等核心概念,并培养学生的实际编程能力和问题解决能力。

具体的教学目标包括:1.理解C语言的基本语法和数据类型。

2.掌握数组、字符串、指针等数据结构的使用。

3.熟悉函数的定义和调用,理解作用域规则。

4.学习递归算法和动态内存管理。

5.了解文件操作API,掌握文件读写的实现方法。

6.能够使用C语言编写结构化的程序。

7.学会编写和调试函数,进行模块化编程。

8.掌握结构体和文件操作在程序中的应用。

9.能够独立设计和实现小型系统程序。

情感态度价值观目标:1.培养学生的逻辑思维能力和抽象思考能力。

2.培养学生的问题解决能力和创新意识。

3.增强学生的团队合作精神和代码分享意识。

二、教学内容教学内容将依据C语言的标准教材,结合书店管理系统的设计和实现,涵盖以下几个方面:1.C语言基础:数据类型、运算符、表达式、语句。

2.控制结构:条件语句、循环语句。

3.数据结构:数组、字符串、指针、结构体。

4.函数:函数定义、调用、参数传递、返回值。

5.高级主题:动态内存分配、递归、文件操作。

6.项目实践:书店管理系统的设计与实现。

三、教学方法为了提高学生的编程技能和问题解决能力,将采用多种教学方法相结合的方式进行教学:1.讲授法:系统讲解C语言的基本语法和概念。

2.案例分析法:通过分析实际代码案例,讲解数据结构和算法。

3.实验法:学生在实验室完成编程练习和项目开发。

4.讨论法:分组讨论项目设计,解决编程过程中遇到的问题。

四、教学资源教学资源包括:1.教材:《C程序设计语言》(K&R)或等效的C语言入门教材。

2.参考书:《C Primer Plus》、《C和指针》等。

3.多媒体资料:教学PPT、编程视频教程。

4.实验设备:计算机、网络环境、编程开发环境(如Code::Blocks、Visual Studio等)。

图书管理系统c语言

图书管理系统c语言

图书管理系统c语言
本文将介绍如何使用C语言来构建基于控制台的图书管理系统。

首先,我们需要定义一些需要使用到的数据结构,用来保存图书信息,包括书名,作者,出版日期,类型,页数等关键信息。

然后,我们可以给每本书分配一个唯一的ISBN(国际标准书号)。

接着,我们应该编写两个函数,第一个函数的作用是维护图书信息,该函数可以添加新的图书,删除旧的图书;第二个函数可以实现基于ISBN的搜索。

最后,我们需要实现一个主函数,它负责管理整个系统,显示菜单以供用户选择,包括添加图书,删除图书,查询图书,显示所有图书,等等。

总而言之,在C语言中编写图书管理系统代码,无非是定义数据结构,编写功能函数和主函数,即可实现所需功能。

C语言图书管理系统源代码

C语言图书管理系统源代码

#include<stdio。

h〉#include<stdlib.h〉#include〈string。

h〉struct tushu{ /*图书结构体*/ char num[10]; /*编号*/char name[20];/*书名*/char writer[20];/*作者*/char press[20];/*出版社*/char kind[20];/*类别*/double time; /*时间*/double price;/*价格*/struct tushu *next;};struct stu /*学生结构体*/ {int snum;/*学号*/char mima[10]; /*密码*/struct stu *next;};FILE *fp; /*图书文件*/FILE *fp1; /*管理员信息文件*/ FILE *fp2; /*学生信息文件*/void menu();/*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu();/*学生主菜单(学生进入可对图书,密码进行操作)*/void gfind(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind();/*学生查询(学生可按一定的方式查询图书)*/ void secret();/*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort();/*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/void fprint(struct tushu *head);/*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head);/*保存(可覆盖保存如修改,删除,排序后用)*/void hfprint(struct tushu *head); /*还书保存(还书成功后自动保存到文件)*/void jfprint_(struct tushu *head);/*借书保存(借书成功之后自动从图书馆删除)*/struct tushu * Input(); /*图书添加(可进行图书的添加)*/struct tushu *create(); /*从文件创建链表(从文件中读出信息,建立单链表)*/void gBrowse(struct tushu *head);/*管理员浏览(对图书进行遍历)*/void xBrowse(struct tushu *head);/*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void Findofname(struct tushu *head); /*按书名查找*/ void Findofwriter(struct tushu *head); /*按作者查找*/void Findofkind(struct tushu *head); /*按类别查找*/void xFindofname(struct tushu *head);/*学生按书名查找*/void xFindofwriter(struct tushu *head);/*学生按作者查找*/ void xFindofkind(struct tushu *head); /*学生按类别查找*/ void Sort_time(struct tushu * head); /*按时间排序(管理员按时间对图书进行排序,排序完之后可选择文件进行保存)*/ void Sort_price(struct tushu *head); /*按价格排序*/void Sort_num(struct tushu * head);/*按编号排序*/ void Delete(struct tushu * head,char m[15]);/*按编号删除(管理员可按编号删除图书)*/void Revise(struct tushu *head);/*修改(管理员可对图书进行修改,并选择是否保存)*/void borrow(struct tushu *head); /*借书*/void huanshu(); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi(); /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struct stu *head1);/*学生密码修改(学生可对自己的密码进行修改)*/struct stu *xcreate();/*从文件创建学生信息(从文件读出学生信息,建立学生链表)*/void xsecret(struct stu *head1);/*学生权限(学生登陆所用)*/void menu() /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/{int choice,n=0;struct tushu *head;struct stu *head1,*p;char m[15];there:printf("┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n"); printf(" ┃┃socat 图书管理系统printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"); printf(" ┃●[0]退出系统┃\n");printf(” ┃┃\n”);prin tf(” ┃●[1]帮助┃\n");printf(” ┃┃\n”);printf(” ┃●[2]浏览图书┃\n");printf(” ┃┃\n");printf(” ┃●[3]统计图书数目┃\n”);printf(" ┃┃\n”);printf(” ┃●[4]查询┃\n”);printf(” ┃printf(” ┃●[5]添加┃\n");printf(” ┃┃\n”);printf(” ┃●[6]排序┃\n");printf(” ┃┃\n");printf(" ┃●[7]修改┃\n”);printf(” ┃┃\n");printf(" ┃●[8]删除┃\n”);printf(" ┃┃\n”);printf(" ┃●[9]修改账号及密码┃\n");printf(” ┃┃\n”);printf(” ┃●[10]学生信息printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n");printf(” 请选择:”);fflush(stdin);head=create();scanf("%d”,&choice);if(choice==1){//help();printf(”没有内容!\n”);system("pause”);system(”cls”);menu();}else if(choice==2){system(”cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause");system("cls");menu();}gBrowse(head);}else if(choice==3){system(”cls");count(head);}else if(choice==4){system("cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause”);system(”cls”);menu();}gfind();}else if(choice==5){Input();}else if(choice==6){system("cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”); system("pause”);system(”cls”);menu();}sort(head);}else if(choice==7){system("cls”);if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause");system("cls”);menu();}Revise(head);}else if(choice==8){if(head==NULL){printf("没有图书,请先添加图书!\n");system(”pause");system(”cls");menu();}printf(" 请输入想要删除的图书编号:”);scanf(”%s",m);Delete(head,m);}else if(choice==9){gxinxi();else if(choice==10){system(”cls”);head1=xcreate();if(head1==NULL){printf("没有学生信息,请到xuesheng_list.txt添加!\n”); sys tem(”pause”);system(”cls”);menu();}for(p=head1;p!=NULL;p=p—>next){printf(”学生学号密码\n”);printf("%d %s\n",p->snum,p—>mima);}system(”pause”);system("cls”);menu();}else if(choice==0)system(”cls");printf(”\n\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);exit(0);}else{system("cls");printf(”\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ");system("pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(" ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n");system(”pause");exit(0);}goto there;}}void xmenu()/*学生主菜单(学生进入可对图书,密码进行操作)*/{struct tushu *head;struct stu *head1;int choice,n=0;there:printf(”┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");printf(” ┃┃socat 图书借阅系统┃┃\n");printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"); printf(” ┃●[0]退出系统┃\n”);printf(” ┃printf(” ┃●[1]帮助┃\n”);printf(” ┃┃\n”);printf(” ┃●[2]浏览图书┃\n");printf(” ┃┃\n”);printf(" ┃●[3]查询┃\n”);printf(” ┃┃\n”);printf(” ┃●[4]借书┃\n");printf(” ┃┃\n”);printf(" ┃●[5]还书┃\n");printf(" ┃┃\n”);printf(” ┃●[6]修改密码printf("┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”); printf(" 请选择:");fflush(stdin);head=create();scanf("%d”,&choice);if(choice==1){//xhelp();printf(”没有内容!\n");system(”pa use");system(”cls”);xmenu();}else if(choice==2){system("cls");if(head==NULL){printf(”没有图书!\n");system("pause”);xmenu();}xBrowse(head);}else if(choice==3){if(head==NULL){printf(”没有图书!\n”);system(”pause”);system(”cls”);xmenu();}xfind();}else if(choice==4){if(head==NULL){printf(”没有图书!\n");system(”pause”);xmenu();}borrow(head);}else if(choice==5){huanshu(head);}else if(choice==6){system("cls”);head1=xcreate();if(head1==NULL){printf(”学生信息被清空!!\n”);system("pause");system("cls”);xmenu();}xmima(head1); ;}else if(choice==0){system("cls");printf(”\n\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n");exit(0);}else{system("cls”);printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}void gfind()/*管理员查询(管理员可按一定的方式查询图书)*/{int choice,n=0;struct tushu *head;there:system(”cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n”);printf(” ┃┃socat 图书借阅系统┃┃\n”);printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n");printf(" ┃●[0]返回┃\n");printf(" ┃┃\n”);printf(" ┃●[1]按书名查找┃\n”);printf(" ┃┃\n”);printf(" ┃●[2]按作者查找┃\n”);printf(” ┃┃\n”);printf(" ┃●[3]按类别查找┃\n”);printf(" ┃┃\n”);printf(" ┃● ┃\n”);printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”);printf(" 请选择:”);fflush(stdin);head=create();scanf(”%d”,&choice);if(choice==1){system(”cls");Findofname(head); }else if(choice==2){system(”cls”); Findofwriter(head); }else if(choice==3){system(”cls");Findofkind(head); }else if(choice==0){system(”cls”);menu();}else{system(”cls”);printf(”\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system("pause");system(”cls");n++;if(n==3){printf(" \n\n\n ━━━━━━━━你错误次数太多,自动退出! ━━━━━━━━\n\n\n”);printf(" ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);system(”pause”);exit(0);}goto there;}}void xfind()/*学生查询(学生可按一定的方式查询图书)*/ {struct tushu *head;int choice,n=0;there:system("cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n”);printf(” ┃┃socat 图书借阅系统┃┃\n”);printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n");printf(” ┃●[0]返回┃\n”);printf(” ┃┃\n");printf(" ┃●[1]按书名查找┃\n”);printf(” ┃┃\n”);printf(" ┃●[2]按作者查找┃\n”);printf(" ┃┃\n");printf(” ┃●[3]按类别查找┃\n");printf(” ┃┃\n”);printf(" ┃● ┃\n");printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n"); printf(” 请选择:");fflush(stdin);head=create();scanf(”%d",&choice);if(choice==1){system(”cls”);xFindofname(head);}else if(choice==2){system(”cls”);xFindofwriter(head);}else if(choice==3){system("cls");xFindofkind(head);}else if(choice==0){system(”cls");xmenu();}else{system("cls");printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls");n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书借阅系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}void sort(){struct tushu *head;int choice,n=0;there:system("cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");printf(” ┃┃socat 图书借阅系统┃┃\n");printf(" ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n”);printf(" ┃●[0]返回┃\n”);printf(” ┃┃\n");printf(” ┃●[1]按时间排序┃\n”);printf(” ┃┃\n”);printf(” ┃●[2]按价格排序┃\n");printf(" ┃┃\n”);printf(” ┃●[3]按编号排序┃\n”);printf(" ┃┃\n”);printf(” ┃●┃\n”);printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”);printf(" 请选择:”);fflush(stdin);head=create();scanf("%d",&choice);if(choice==1){system("cls”); Sort_time(head);}else if(choice==2){sys tem(”cls");Sort_price(head);}else if(choice==3){system(”cls”);Sort_num(head); }else if(choice==0){system("cls”); menu();}else{system(”cls");printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出! ━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书借阅系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}struct tushu *Input(){struct tushu *p1,*p2,*head,*ptr;char num;int x,i=0;system("cls”);p1=(struct tushu *)malloc(sizeof(struct tushu));head=p1;p1-〉price=—1;while(i!=1){printf(”请输入编号,以’#’结束\n”);scanf("%s",p1—>num);if(strcmp(p1-〉num,”#")==0)i=1;while(i!=1){printf(”请依次输入书名作者出版社类别出版时间价格\n”); scanf(”%s%s%s%s%lf%lf”,p1—>name,p1—>writer,p1—〉press,p1-〉kind,&p1-〉time,&p1—〉price);p2=p1;p1=(struct tushu *)malloc(sizeof(struct tushu));p2—〉next=p1;break;}}if(p1-〉price!=-1)p2—〉next=NULL;elsehead=NULL;system("cls”);printf("\n\n\n\t\t\t图书信息输入结束!\n\n\n”);system(”pause”);system(”cls”);printf(”\n\n\n\t\t\t是否保存图书信息?(1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.C# 代码清单共 1 个项目,包含 5 个类。

项目: librarysystem类 :Program.cs Readers.cs Manage.cs Menu.cs Publications.cs主类代码:namespace librarysystem{ /// <summary>///类名: Program///功能:项目主类///时间: 2015-11-19///</summary>class Program{static void Main( string [] args){Menu meu = new Menu ();meu.ShowMainMenu();Console .ReadLine();}}}出版物类代码:namespace librarysystem{ /// <summary>///类名: Publications///功能:馆藏出版物信息///时间: 2015-11-19///</summary>class Publications{/* 出版物编号 */private string PublicationISBN;public string PublicationIsbn{get{return PublicationISBN;}set{PublicationISBN =value ;}}/* 出版物名称 */public string PublicationName;/* 出版物作者或出版机构*/public string PublicationAuthor;/* 出版物在架状态 */public bool PublicationStatus;/* 出版物类型 */public string PublicationType;public Publications(){}public Publications( string PublicationISBN, string PublicationName, string PublicationAuthor,string PublicationType, bool PublicationStatus){this . PublicationISBN = PublicationISBN;this .PublicationName = PublicationName;this .PublicationAuthor = PublicationAuthor;this .PublicationType = PublicationType;this .PublicationStatus = PublicationStatus;}}}读者类代码:namespace librarysystem{ /// <summary>///类名: Readers///功能:已获取权限读者的信息///时间: 2015-11-19///</summary>class Readers{private string ReaderID;public string ReaderId{get{return ReaderID;}set{ReaderID = value ;}}.public string ReaderName;public string ReaderSex;public string ReaderDepartment;public string ReaderMajor;public string[] BowPublication =new string [10]{ "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" };public Readers(){}public Readers( string ReaderID,string ReaderName, string ReaderSex, string ReaderDepartment,string ReaderMajor){this .ReaderID = ReaderID;this .ReaderName = ReaderName;this .ReaderSex = ReaderSex;this .ReaderDepartment = ReaderDepartment;this .ReaderMajor = ReaderMajor;}}}管理类代码:namespace librarysystem{/// <summary>///类名: Manage///功能:管理员执行图书管理操作///时间: 2015-11-19///</summary>class Manage{public bool BorrowFlag =false ;/* 借阅操作成功标志 */public bool ReturnFlag =false ;/* 归还操作成功标志 */public Publications pub_search; /* 保存查询到的出版物 */public Readers Red_valid; /* 保存查询到的合法用户 *//* 声明馆藏出版物数组*/public Publications [] pubs= new Publications[200];/* 声明注册读者数组*/public Readers [] reds= new Readers [30];/* 实例化馆藏出版物对象*/public Publications pub0 = new Publications ("000000" ,"C# 从入门到精通 "," 明日科技" ,"书籍 ",true );public Publications pub1 = new Publications ("000001" , "数值分析 ", "清朗 " , " 书籍 ", true );public Publications pub2 = new Publications ("000002" , "模式识别 ", "学工 " , " 书籍 ", true );public Publications pub3 = new Publications ("000003" , "中国地理 ", "地理科学院 " , " 杂志" , true );public Publications pub4 = new Publications("000004" , "意林 " , " 市文学艺术界联合会" , " 杂志 ", true );public Publications pub5 = new Publications ("000005" , "大学报 " , "大学 ", "报纸 ",true );public Publications pub6 = new Publications ("000006" , "经济学人 ", "伦敦经济学人报纸有限公司 " , " 杂志 ", true );public Publications pub7 = new Publications ("000007" , "计算机网络 ", "谢希仁 " , " 书籍" , true );public Publications pub8 = new Publications ("000008" , "红楼梦 " , "曹雪芹 " , " 书籍 ", true );public Publications pub9 = new Publications ("000009" , "新东方雅思培训课程", "俞敏洪" , " 音像制品 ", true );public Publications pub10 = new Publications ("000010" , "MATLAB 实用教程 " , " 世杰 ", " 音像制品 ", true );/* 实例化已注册读者对象*/public Readers red0 = new Readers ("20150000", "华", " 男" , " 电子信息学院 " , " 电子与通信工程 " );public Readers red1 = new Readers ("20150001" , "王鹏 ", "男" , " 物理学院 ", "微电子学 ");public Readers red2 = new Readers ("20150002" , "建豪 ", "男" , " 数学学院 ", "现代数学分析" );public Readers red3 = new Readers ("20150003", "莉", " 女" , " 化学化工学院 " , " 化学分析" );public Readers red4 = new Readers ("20150004", "吴娜 " , " 女 ", " 医学院 " , " 口腔医学 ");public Readers red5 = new Readers ("20150005", "宋雅茹 " , "女" , " 电子信息学院 " , " 光学工程");/* 初始化出版物数组*/public void PublicationsInitial(){pubs[0] = pub0;pubs[1] = pub1;pubs[2] = pub2;pubs[3] = pub3;pubs[4] = pub4;pubs[5] = pub5;pubs[6] = pub6;pubs[7] = pub7;pubs[8] = pub8;pubs[9] = pub9;pubs[10] = pub10;}/* 初始化读者数组 */public void ReadersInitial(){reds[0] = red0;reds[1] = red1;reds[2] = red2;reds[3] = red3;reds[4] = red4;reds[5] = red5;}/* 查询图书操作 */public bool SearchPublications(){string Pub_Name;bool SearchFlag = false ;Pub_Name = Console .ReadLine();foreach (Publications pub in pubs){if (pub != null && pub.PublicationName ==Pub_Name){SearchFlag = true ;pub_search = pub;}}return SearchFlag;}/* 借阅图书操作 */public void Borrow(){string Red_Name;string Pub_Name;bool ReaderFlag =false ;Red_Name =Console .ReadLine();foreach (Readers red in reds){if (red !=null&& red.ReaderName == Red_Name){ReaderFlag = true ;Red_valid = red;}}if (ReaderFlag){Console .Write( " 请输入您需要借阅出版物的名称:" );Pub_Name = Console .ReadLine();foreach (Publications pub in pubs){if (pub != null && pub.PublicationName == Pub_Name){BorrowFlag = true ;pub.PublicationStatus =false ;AddToReders(pub.PublicationName, Red_valid);}}}else{Console .WriteLine( " 抱歉,您是非法读者,不能借阅图书" );}}/* 归还图书操作 */public void Return(){string Red_Name;string Pub_Name;bool ReaderFlag =false ;Red_Name = Console .ReadLine();foreach (Readers red in reds){if (red != null && red.ReaderName == Red_Name){ReaderFlag = true ;Red_valid = red;}}if (ReaderFlag){Console .Write( "请输入您需要归还出版物的名称:" );Pub_Name = Console .ReadLine();foreach (Publications pub in pubs){if (pub != null && pub.PublicationName == Pub_Name){for (int i = 0; i < 10;i++ ){if (Red_valid.BowPublication[i] == Pub_Name){ReturnFlag = true ;pub.PublicationStatus =true ;RemoveFromReders(Pub_Name, Red_valid);}}}}}else{Console .WriteLine( "抱歉,您是非法读者,无归还图书信息");}}/* 添加图书到读者 */private void AddToReders( string PublicationName,Readers red) {/* 设置借阅上限为 10 本*/for (int i = 0; i < 10; i++){if (red != null && red.BowPublication[i]=="" ){red.BowPublication[i] = PublicationName;break ;}}}/* 从读者对象中移除图书*/private void RemoveFromReders( string PublicationName,Readers red) {/* 设置借阅上限为 10 本*/for (int i = 0; i < 10; i++){if (red != null && red.BowPublication[i] == PublicationName){red.BowPublication[i] = red.BowPublication[i+1];}}}/* 新书入库操作 */public void AddPublications( Publications pub){for (int i = 11; i < 200; i++){if (pubs[i]== null ){pubs[i] = pub;}}}/* 添加新读者操作 */public void AddReaders( Readers red) {for (int i = 6; i < 30; i++){if (reds[i] == null ){reds[i] = red;}}}/* 查询读者信息 */public void RedIndex(){string Red_Name;bool ReaderFlag =false ;Red_Name = Console .ReadLine();foreach (Readers red in reds){if (red != null && red.ReaderName == Red_Name){ReaderFlag = true ;Red_valid = red;}}if (!ReaderFlag){Console .WriteLine( "抱歉,您是非法读者,无法查到您的借阅信息" );}}}}菜单类代码:namespace librarysystem{ /// <summary>///类名: Menu///功能:显示服务页面///时间: 2015-11-19///</summary>class Menu{//创建一个具体的管理对象Manage mag = new Manage ();//声明一个读者对象Readers red;//声明一个出版物对象Publications pub;public void ShowMainMenu(){mag.PublicationsInitial();mag.ReadersInitial();Console .WriteLine( "欢迎使用图书管理系统V1.0" );Console .WriteLine( "-------------------------------------------------------------------");Console .WriteLine( "1. 查询图书 " );Console .WriteLine( "2. 借书服务 " );Console .WriteLine( "3. 还书服务 " );Console .WriteLine( "4. 新出版物入库 " );Console .WriteLine( "5. 录入新读者 " );Console .WriteLine( "6. 查询读者的借阅信息" );Console .WriteLine( "7. 退出管理系统 " );Console .WriteLine( "-------------------------------------------------------------------");bool flag;do{flag = false ;Console .WriteLine( "请选择: ");string key = Console .ReadLine();switch(key){case "1" :Console .Write( "请输入需要查询图书的书名:");ShowPubInfo();break ;case "2" :Console .Write( "请输入您的姓名:");mag.Borrow();ShowBorrowInfo();break ;case "3" :Console .Write( "请输入您的姓名:");mag.Return();ShowReturnInfo();break ;case "4" :Console .WriteLine( " 按照提示逐步入需要入出版物的信息⋯⋯");ShowAddPublications();break ;case "5" :Console .WriteLine( " 按照提示逐步入新注册者的信息⋯⋯" );ShowAddReaders();break ;case "6" :Console .Write( "入您的姓名:" );mag.RedIndex();ShowRedPubInfo(mag.Red_valid);break ;case "7" :flag = false ;break ;default :Console .WriteLine( " 无此,是否重新(y/n )? ");string answer = Console .ReadLine();if (answer != "y" ){flag =false ;}else{flag = true ;}break ;}} while (flag);}/* 显示查询到的出版物信息*/public void ShowPubInfo(){if (mag.SearchPublications()){Console .WriteLine( "您要查询的出版物信息:");Console .WriteLine( "-------------------------------------------------------------------");.Console.WriteLine("编号: " + mag.pub_search.PublicationIsbn);Console.WriteLine("出版物名字:" + mag.pub_search.PublicationName);Console.WriteLine("出版物作者:" + mag.pub_search.PublicationAuthor);Console.WriteLine("出版物类型:" + mag.pub_search.PublicationType);if (mag.pub_search.PublicationStatus){Console .WriteLine( "出版物状态:在架,可借" );}else{Console .WriteLine( "出版物状态:未在架,不可借" );}Console .WriteLine( "-------------------------------------------------------------------");Console .WriteLine("" );Console .WriteLine("" );Console .WriteLine( "是否办理其他业务(y/n)?" );string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();Console .WriteLine();}else{Console .WriteLine( "结束 ");}}else{Console .WriteLine( "抱歉,未找到该图书!" );Console .WriteLine( "是否办理其他业务(y/n)?" );string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();Console .WriteLine();Console .WriteLine();}else{Console .WriteLine( "结束 ");}}}/* 显示借阅操作结果*/public void ShowBorrowInfo(){if (mag.BorrowFlag){Console .WriteLine( "恭喜,借阅成功!");ShowRedPubInfo(mag.Red_valid);}else{Console .WriteLine( "抱歉 ,借阅失败! "); Console .WriteLine( "是否办理其他业务(y/n)?" );string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();}else{Console .WriteLine( "结束 ");}}}/* 显示归还操作结果*/public void ShowReturnInfo(){if (mag.ReturnFlag){Console .WriteLine( "恭喜,归还成功!");ShowRedPubInfo(mag.Red_valid);}else{Console .WriteLine( "抱歉 ,归还失败! "); Console .WriteLine( "是否办理其他业务(y/n)?" );string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();}else{Console .WriteLine( "结束 ");}}}public void ShowRedPubInfo( Readers red){Console .WriteLine( "当前你的借阅信息如下:");Console .WriteLine( "--------------------------------------------------------------------");Console .WriteLine( "编号:" + red.ReaderId);Console .WriteLine( "姓名:" + red.ReaderName);Console .WriteLine( "性别:" + red.ReaderSex);Console .WriteLine( "所在院系:" + red.ReaderDepartment);Console .WriteLine( "主修专业:" + red.ReaderMajor);Console .Write( "已借图书:");for (int i = 0; i < red.BowPublication.Length-1; i++){if (red.BowPublication[i] !="" ){Console .Write( "" +red.BowPublication[i]);}}Console .WriteLine( "" );Console .WriteLine( "--------------------------------------------------------------------");Console .WriteLine( "" );Console .WriteLine( "是否办理其他业务(y/n)?" );string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();}else{Console .WriteLine("结束 " );}}/* 显示新出版物入库的信息*/public void ShowAddPublications(){pub = new Publications();Console .Write( "请输入出版物的编号:" );pub.PublicationIsbn=Console .ReadLine(); Console .Write( "请输入出版物的名称:" ); pub.PublicationName =Console .ReadLine(); Console .Write( "请输入出版物的编者:" ); pub.PublicationAuthor =Console .ReadLine(); Console .Write( "请输入出版物的类型:" ); pub.PublicationType =Console .ReadLine(); pub.PublicationStatus =true ;mag.AddPublications(pub);Console .WriteLine( "新出版物入库成功!"); Console .WriteLine( "是否办理其他业务(y/n)?" ); string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();Console .WriteLine();Console .WriteLine();}else{Console .WriteLine("结束 " );}}/* 显示新读者注册的信息*/public void ShowAddReaders(){red = new Readers ();Console .Write( "请输入新注册读者的编号:" );red.ReaderId = Console .ReadLine();Console .Write( "请输入新注册读者的姓名:" );red.ReaderName=Console .ReadLine();Console .Write( "请输入新注册读者的性别:" );red.ReaderSex = Console .ReadLine();Console .Write( "请输入新注册读者的院系:" );red.ReaderDepartment =Console .ReadLine();Console .Write( "请输入新注册读者的专业:" );red.ReaderMajor =Console .ReadLine();for (int i=0;i<10;i++){red.BowPublication[i]="" ;}mag.AddReaders(red);Console .WriteLine( "新读者注册成功!" );Console .WriteLine( "是否办理其他业务(y/n)?" );string answer = Console .ReadLine();if (answer == "y" ){ShowMainMenu();Console .WriteLine();Console .WriteLine();}else{Console .WriteLine("结束 " );}}}}。

相关文档
最新文档