文档库 最新最全的文档下载
当前位置:文档库 › 图书管理系统C语言课程设计

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

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

合肥学院

计算机科学与技术系

课程设计报告

2012~2013学年第一学期

课程C语言课程设计

课程设计名称图书管理系统

学生姓名

学号

专业班级

指导教师

目录

一、系统设计背景;

二、课程设计的需求分析:

三、系统设计的目的及具体要求;

四、算法设计;

五、用户手册;

六、调试及测试;

七、总结.

一、系统设计背景:

人类已经跨入了新世纪,正在进入信息化时代。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求。随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,数据处理手工操作,工作量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。

基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不及待。为方便对图书馆书籍的录入、修改、删除、借、还书等进行高效的管理,特编写程序以提高图书馆的管理效率。使用程序之后,工作人员可以查询书籍的在库状态,删除或者修改某图书,可以全面掌握图书的流通情况等等。

二、课程设计的需求分析:

为了满足图书管理的要求,通过计算机技术给图书管理员和读者借书、还书带来便利。使用C语言编写了图书管理系统。本系统主要实现了图书信息管理的功能,通过此系统可以对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、删除、修改、图书信息等,所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、出版社、出版日期、价格等,图书信息的录入要求和显示要求是一定的规范要求,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作。

三、系统设计的目的及具体要求:

(1)目的:将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知

识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握结构化程序设计方法,熟悉面向过程程序设计方法。

(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序和修改程序。

(2)课程设计名称及内容

课程设计名称:图书管理系统

设计内容:设计一个实用的小型图书管理程序,设计图书的索引卡片。对图书的在库和借出状态要有所表示。能提供读者信息查询及提供按图书的编号、书名、责任者、出版社等途径的检索。

(3)任务和要求

程序应提供的基本基本管理功能有:

1)添加:即增加一本数的记录到系统中

2)存储:即将图书信息保存在一个文件中。

3)装入:即将文件中的信息读入程序。

4)查询:可根据书名、编号查找书的相关信息,若找到显示该书全部信息。

5)修改:可修改一本书的除书名外其它信息。、

6)状态:提供该书在库、不在库的状态。

四、算法设计:

1、系统设计思路:

整个系统制造的过程中,涉及了较多C语言的知识点,对于不同的数据类型、程序控制结构等作以分析。

(1)整个系统除了主函数外,另外还有各种功能的子函数,利用无限次循环语句while()和选择语句switch()实现了各个子函数的功能,系统根据输入的数字

选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、删除、修改、借书、还书等功能;

(2)mbook():这是一个图书结构体,可以描述每本书共同拥有的属性和行为,(3)Save()、putin()、lookup()、del()、update()、search():这几个是功能函数,Save():保存一本书的信息,putin():录入一本书的信息,search():查询一本书的信息以及记录,update():修改一本书的信息,del():删除一本书的信息.

(4)Borrowbook()、returnbook(),这两个函数式借书的函数,在借还后系统会修改图书的在库信息,调用时将信息传递给函数,函数返回经过功能操作后,并会出提示信息让用户返回菜单保存信息。

实现注释:

这个适用的小型图书管理系统程序的所有信息以磁盘文件的方式保存,方便用户使用,实现了图书管理系统的基本功能,包括了图书的录入、图书的查询、图书的删除、图书的修改、图书的在库状态表示。查询是可按书名、编号、作者、出版社、出版时间以及价格等方式查询,找到后系统会自动输出这本书的所有信息。也可查询图书的在库状态,方便用户借书、还书操作,在借书或者还书成功后图书的在库状态即改变。系统中主要的数据结构就是图书的信息,包含编号、书名、作者、出版社、出版时间、价格、在库状态,在处理过程中各项可以成为一本图书的不同属性来处理。

2、程序结构流程图:

3、设计表示:

(1)利用结构体typedef struct {};将图书馆内的书籍共同拥有的属性和数量表达出来,属性中包括书号、书名、作者、出版社出版时间以及价格,属性中

包括书的本数以及最大可储存的数量。

(2)分别写不同的子函数:

void save();

void putin() ;

void lookup();

void search_by_name() ;

void search_by_author();

void search();

void del();

void update();

首先利用void save()这个子函数来描述图书管理系统保存图书信息的功能,打开library.doc这个文件,确认文件可用时即可保存图书信息;void putin() 可方便图书馆工作人员录入新书,具体录入内容包括书号、书名、作者名、出版社、出版时间以及价格;利用1,0让工作人员可选择继续录入否;使用者可以通过void lookup()这个子函数来查询图书馆所以书籍的在库状态,如果书籍不在即表示已经借出;如果使用者想要搜索自己想要的书,可以通过该书的各种属性进行查询,在该系统中我仅列举了两种属性即书名和作者,用户在输入想要找的书的书名或该书作者即可查询书的在库状态,如果该书尚在库,用户即可进行借出操作,同时也可以得到该书的其他属性,包括书名、作者、出版社、出版时间、价格;图书馆的工作人员在调整图书库时,如果想要删除某些书籍,即可利用void del()这个子函数来进行操作,输入想要删除的书籍的各种属性即可找到该书,任何进行删除操作;当然进行修改某本书的属性时也一样,只要通过书的编号找到该书即可进行各种不同的修改。

(3)最后在结尾编写主函数main(),在确认“library.doc”!=NULL时进行图书管理系统的目录操作,在系统的主目录上,用户可以看到六个操作选项,包括图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改、退出图书管理系统。在确认选项后即可进行下一步由各个子函数实现的不同操作。(4)设计过程中的想法:因为自身知识以及时间的所限,本系统所提供的功能非常有限,有一些图书馆所必备的功能没有实现,其中最重要的一点是对读者的管理,如果时间充足的话还可以加入,设置借书卡或会员证,对书籍的借出状况能有更好的储存,在工作人员想要找书时可以利用系统查询书籍的借者。总的来说这个程序大致实现了题目的要求,但是这套程序仍然存在着很多的问题与不足,在提示信息方面可能还不够,有待改进。

五、用户手册:

下面,我大致介绍一下我得系统的主要功能和主要事项:

当运行该程序时,首先进入系统主界面,如何可以选择 1.图书信息的录入2.图书信息的浏览3.图书信息的查询4.图书信息的删除5图书信息的修改0退出图书管理系统.当出现please enter choose:时,需要输入选项前的数字,输入完之后按回车键。首次运行系统时应选择1,录入一些书籍,在完成第一次的操作后,用户即可再回到系统进行其他选项的操作,不会出现cannot find!的错误提示,当用户选择2时系统会出现第一次录入的所有书的各种信息,包括书名、编号、作者、出版社、出版时间、价格;

当用户选择3时系统界面会出现提示,让用户选择想要查询书籍的编号,输入编号即可看到该书的各种不同属性;当用户选择4时系统也会给用户提示,让用户

选择想要删除的书籍编号,当输入编号并确认后,该书就会在图书管理系统中删除;当用户选择5时系统也会给用户提示,让用户选择想要修改的书籍编号,输入完毕后,用户即可对该书的不同属性进行修改操作;返回菜单需按回车键即可。

六、调试及测试:

1.进入主菜单:

2.选择1录入3本书籍:

3.选择2浏览图书信息:

4.选择3查询图书:

5.选择4删除图书:

6.选择5修改图书:

7.选择0即可退出系统。

七.总结:

在这两个星期的实践中,通过编写这个图书管理系统,我体会到了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语言)》南京:东南大学出版社。2000年6月第1版

[9] 严蔚敏等《数据结构(c语言版)》北京:清华大学出版社,1997年4月第1版。[10] 明日科技编著《Visual C++程序开发范例宝典》北京:人民邮电出版社。

[11] 胡学钢等《数据结构算法设计指导》北京:清华大学出版社,1999年第1版。

[12] 刘大有《数据结构》(面向21世纪课程教材)北京:高等教育出版社。2001年6月第1版。

[8].胡学钢等《数据结构算法设计指导》北京:清华大学出版社,1999年第1版。

原代码:

#include

#include

#include

typedef struct

{

char number[10];//书号

char name[20];//书名

char author[20];//作者

char publish[50];//出版社

char time[20];//出版时间

float price;

}mbook;

typedef struct

{

int count;//书的本数

mbook book[100];//最大可有100本书

}mlibrary;

mlibrary library;

void save()//保存图书信息。

{

FILE *fp;

if((fp=fopen("library.doc","w"))==NULL)

{

printf("\n不能保存图书信息\n");

return;

}

fwrite(&library.count,sizeof(int),1,fp);

fwrite(library.book,sizeof(library.book[0]),library.count,fp);

}

void putin() /*定义录入函数*/

{

int y=1;

system("cls");

while(y)

{

printf("\t请输入您的书籍的书号:");

scanf("%s",library.book[library.count].number);

printf("\t请输入书名:");

scanf("%s",library.book[library.count].name);

printf("\t请输入作者名:");

scanf("%s",library.book[library.count].author);

printf("\t请输入出版社:");

scanf("%s",library.book[library.count].publish);

printf("\t请输入出版时间:");

scanf("%s",library.book[library.count].time);

printf("\t请输入该书的价格:");

fflush(stdin);

scanf("%f",&library.book[library.count].price);

library.count++;

printf("\n是否继续录入(1.继续;0,退出录入):");

fflush(stdin);

scanf("%d",&y);

if (y!=1)

{

y=0;

break;

}

}

save();

}

void lookup()

{

int i ;

system("cls");

printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n"); for ( i=0;i

{

printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,library.b ook[i].name,library.book[i].author,library.book[i].publish,library.bo ok[i].time,library.book[i].price);

}

fflush(stdin);

getchar();

}

void search_by_name() /*定义按书名查询*/

{

int i ;

char s2[20];

int flag=1;

printf("\n请输入要查询的书名: ");

fflush(stdin);

scanf("%s",s2);

printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n");

for( i=0;i

if(strcmp(s2,library.book[i].name)==0)

{

flag=0;

printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,libra ry.book[i].name,library.book[i].author,library.book[i].publish,librar y.book[i].time,library.book[i].price);

}

if (flag)

{

printf("cannot found!");

}

fflush(stdin);

getchar();

}

void search_by_author() /*定义按作者名查询*/

{

int i ;

char s3[20];

int flag=1;

printf("请输入要查询的书的作者: ");

fflush(stdin);

scanf("%s",s3);

printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n");

for( i=0;i

if(strcmp(s3,library.book[i].author)==0)

{

flag=0;

printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,libra ry.book[i].name,library.book[i].author,library.book[i].publish,librar y.book[i].time,library.book[i].price);

}

if (flag)

{

printf("cannot found!");

}

fflush(stdin);

getchar();

}

void search() /*定义查询函数*/

{

int a;

system("cls"); /*进行清屏*/

printf("\t\t******************************\n");

printf("开始查询\n");

printf("\t\t\t1---------------search_by_name\n");

printf("\t\t\t2---------------search_by_writer\n");

printf("\t\t\t0---------------exit\n");

printf("\t\t******************************\n") ;

printf("\t\t请选择你想要的查询方式:");

flush(stdin);

scanf("%d",&a);

switch(a)

{

case 1:

search_by_name();

break;

case 2:

search_by_author();

break;

case 0:

return;

}

}

void del() /*定义删除函数*/

{

int i;

char number[10];

system("cls"); /*清屏*/

printf("\n Please type in the number of the book you want to delete:");

fflush(stdin);

scanf("%s",number);

for (i=0;i

{

if(strcmp(number,library.book[i].number)==0)break;

}

if (i!=library.count)

{

for(;i

{

strcpy(library.book[i].name,library.book[i+1].name);

strcpy(library.book[i].number,library.book[i+1].number);

strcpy(library.book[i].publish,library.book[i+1].publish);

strcpy(library.book[i].author,library.book[i+1].author);

strcpy(library.book[i].time,library.book[i+1].time);

library.book[i].price=library.book[i+1].price;

}

library.count--;

}

else

printf("\n cannot found!\n");

save();

fflush(stdin);

getchar();

}

void update()//修改图书信息

{

int i;

char number[10];

system("cls"); /*清屏*/

printf("\n Please type in the number of the book you want to delete:");

fflush(stdin);

scanf("%s",number);

for (i=0;i

{

if(strcmp(number,library.book[i].number)==0)

{

printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n");

printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,libra

ry.book[i].name,library.book[i].author,library.book[i].publish,librar

y.book[i].time,library.book[i].price);

break;

}

}

if (i!=library.count)

{

mbook book;

printf("\n\t\t请输入修改后此图书的信息\n");

printf("\t请输入图书号:");

scanf("%s",book.number);

printf("\t请输入图书名:");

scanf("%s",https://www.wendangku.net/doc/e010668628.html,);

printf("\t请输入作者名:");

scanf("%s",book.author);

printf("\t请输入出版社:");

scanf("%s",book.publish);

printf("\t请输入出版时间:");

scanf("%s",book.time);

printf("\t请输入该书的价格:");

fflush(stdin);

scanf("%f",&book.price);

strcpy(library.book[i].name,https://www.wendangku.net/doc/e010668628.html,);

strcpy(library.book[i].number,book.number); strcpy(library.book[i].publish,book.publish);

strcpy(library.book[i].author,book.author);

strcpy(library.book[i].time,book.time);

library.book[i].price=book.price;

save();

}

else

printf("\n cannot found!\n");

fflush(stdin);

getchar();

}

void main()

{

int a;

FILE *fp;

if((fp=fopen("library.doc","r"))==NULL)

{

printf("\n不能打开图书信息库\n");

fp=fopen("library.doc","w+");

printf("\n初始化图书信息库,初始化之后要重启程序\n");

library.count=0;

fwrite(&library.count,sizeof(int),1,fp);

fclose(fp);

return;

}

fread(&library.count,sizeof(int),1,fp);

fread(library.book,sizeof(library.book[0]),library.count,fp);

fclose(fp);

do

{

system("cls");

printf("\n\n\n\n\n\t\t\t\t图书信息管理系统\t\t\t\t\n");

printf("\t\t*********************************************\n");

printf("\t\t\t1 ------------------图书信息录入\n");

printf("\t\t\t2 ------------------图书信息浏览\n");

printf("\t\t\t3 ------------------图书信息查询\n");

printf("\t\t\t4 ------------------图书信息删除\n");

printf("\t\t\t5 ------------------图书信息修改\n");

printf("\t\t\t0 -----------------退出图书管理系统\n");

printf("\t\t*********************************************\n");

printf("\t\tPlease Enter Choose: ");

fflush(stdin);

scanf("%d",&a);

switch(a)

{

case 1:

putin();

break;

case 2:

lookup();

break;

case 3:

search();

break;

case 4:

del();

break;

case 5:

update();

break;

case 0:

printf("\n\n退出\n\n"); break;

default:

printf("\n序号不对\n");

}

}while(a!=0);

save();

}

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现 3.1系统的需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作 3.2系统的设计 3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书管理系统可以分为三大模块:查询

图书模块、借书功能模块、还书功能模块。 系统模块结构如图: 3.2.2 系统的概要设计 ㈠系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 ㈡查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。 图书查询模块流程如图:

3.3 测试结果系统主界面

功能菜单 查询系统菜单

借还系统菜单 3.4 源代码 # include # include # include 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;

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

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

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include 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);/*增加图书,逐个添加*/

图书管理系统 (c语言)

程序设计方法课程设计

问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面; 2.查询各种图书的基本信息,设计出良好的查询界面; 3.按图书编号进行排序,将排好序的图书信息输出到文件book.out中。 4.统计各类图书册数、图书馆的图书总册数。 5.统计图书的借阅情况。 1.需求分析 对于图书馆的管理系统,应该满足以下的用户需求: ○1用户能够增加和删除一些图书。 ○2用户根据一些基本信息查询相应的图书,系统可以准确输出所有符合条件的图书信息。 ○3用户可以借阅和归还图书馆中的图书。 ○4系统可以对图书做出统计,包括图书总数,各类图书数目,图书的借阅情况。 2.设计分析 定义图书结构体,其成员包括书名、作者、类型、出版社、价格、是否借阅(整型,1为借出,0为未借)、编号。 输入新书时,利用结构体储存书的信息,同时将新书信息以二进制写入book.in文件中,录入结束后,将新书按输入顺序写入book.out中,并且以原来存书的最大编号为基准对新书进行编号,这样可以保证book.out文件存储的图书都是按编号进行排序的。 查找图书时,获得所查书目基本信息后,以二进制依次读取文件中的每一本图书信息,并与输入信息相比较,输出符合信息的图书。 删除图书时,通过输入的图书编号(编号可通过查找图书获得)查找相应图书,删除相应数据并保存。 借阅或归还图书时,通过图书编号(编号可通过查找图书获得)查找相应图书,修改图书的属性(是否借阅)并保存。 实现统计功能时,以二进制依次读取文件中的每一本图书信息,设置变量统计图书类型、借阅情况和图书总数,到文件结尾时,输出各个变量的值。

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

c语言程序设计报告 图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (3) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (4) 6.程序代码 (5) 7.程序运行结果 (11) 8.编程中遇到的困难及解决方法 (14) 9.总结心得及良好建议 (15) 10.致谢 (15) 1.课程论文题目 图书管理系统 2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计 先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计

先定义结构体数组struct books,然后设置主界面,主界面出现6个功能选项,分 别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。 退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这样就实现了退出功能。 其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。 6.程序代码 #include #include #include #include #define M 100 struct books { char tsmc[12]; int tsbh; float dj; char zz[12]; char czzt[12]; char xm[12];

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

基于C语言数据结构图书管理系统

计算机科学与技术专业课程设计任务书 1 需求分析 1本演示程序中,用户从键盘输入图书信息,图书编号,名称,类别,作者,出版社,价格,购买日期。 2演示程序以用户和计算机的对话方式执行,即在运行窗口出现提示信息,有用户从键盘录入,显示结果会在显示之后。 3程序执行的命令包括:查询图书信息,删除图书信息,对所有图书进行排序,

统计各种类的图书数目。显示所有图书信息 4 测试数据:2001 离散数学 X 左孝凌上海科学出版社 18.00 2009/6/8 2002 数据结构 B 严蔚敏清华大学出版社 30.00 2010/4/1 2 程序总体设计 (1)数据结构 依据输入的数据信息和数据格式,连表结点用结构体实现。采用链表方式存储,typedef:typedef struct //定义表示日期数据的结构体数据类型 { int month; int day; int year; } DATE; typedef struct Booktype //定义表示图书信息的结构体数据类型 { char id[10]; /* 图书编号*/ char name[40]; /* 图书名称*/ char type; /* 图书类型*/ char writer[10]; /* 图书作者*/ char publisher[20]; /* 图书出版社*/ float price; /* 图书价格*/ DA TE buydate; /* 图书购买日期*/ } Btype; typedef struct Booklist /* 定义表示所有图书信息的链表数据类型*/ { Btype *bk; struct Booklist *next; } Blist; (2)模块划分

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

C语言编写图书管理系统

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 分类号: 单位代码: 本科毕业设计说明书 C语言编写图书管理系统 姓名李彬 学号0114 年级2008级本科3班 专业机械设计制造及其自动化 系(院)机械工程学院 指导教师李培珍 年月日

目录 第一部分.................................................. 错误!未定义书签。职业生涯规划——十年创业路................................ 错误!未定义书签。1前言................................................... 错误!未定义书签。2自我剖析................................................ 错误!未定义书签。3环境分析................................................ 错误!未定义书签。 3.1国家环境............................................. 错误!未定义书签。 3.2社会环境............................................. 错误!未定义书签。 3.3职业环境............................................. 错误!未定义书签。 3.4分析小结............................................. 错误!未定义书签。4未来人生职业规划........................................ 错误!未定义书签。5总结................................................... 错误!未定义书签。第二部分.................................................. 错误!未定义书签。C语言编写图书管理系统.................................... 错误!未定义书签。摘要.................................................... 错误!未定义书签。Abstract.................................................. 错误!未定义书签。1需求分析................................................ 错误!未定义书签。 1.1 系统需求............................................ 错误!未定义书签。 1.2 功能分析............................................ 错误!未定义书签。2系统功能模块结构图...................................... 错误!未定义书签。 2.1 系统调用的函数...................................... 错误!未定义书签。 2.2 图书管理系统模块.................................... 错误!未定义书签。 3 图书管理系统的结构...................................... 错误!未定义书签。 3.1 主函数流程图........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 3.2 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

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

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

C语言课程设计――飞机订票系统源代码

#include//标准输入、输出头文件 #include//包含字符串函数处理头文件 #include//包含access函数的头文件 #define N 99//定义最多的航班数 #define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式struct air//定义结构体数组{int num;//定义航班号 char start[20];//航班起始站 char over[20];//终点站 char time[10];//飞行时间 int count;//机票数量 }s[N]; int i,m=0;//定义全局变量 char ii[10]; void add();//函数声明增加航班信息函数 void print();//显示航班信息 void search();//查找航班信息 void dingpiao();//订票业务 void tuipiao();//退票 void read();//读取文件 void save();//保存文件

void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小 void main()//主函数{int j; chushihua();//系统初始化判断是否存在原始数据文件 printf("欢迎使用飞机订票系统\n");//打印出系统主界面 do{printf("============================================================= =================== "); printf(" 1.增加航班信息\n" "\t 2.浏览航班信息\n" "\t\t 3.查找航班信息(按航班号)\t\t╮(╯_╰)╭\n" "\t\t\t 4.航班排序(按航班号)\n" "\t\t\t\t 5.订票业务\n" "\to(︶︿︶)o\t\t\t

c语言课程设计报告会员卡计费系统源代码

#i n c l u d e//编译预处理指令,引入头文件 #include #include #include #define MAX 10 //自定义符号常量 #define MENU_MAIN_COUNT 7 //主菜单的选项个数 typedef struct member //定义结构体类型member,采用链式存储结构{ char name[MAX]; //姓名 char id[MAX]; //卡号 char sex[2]; //性别 int age; //年龄 float money; //余额 char tel[12]; //电话 struct member *next; //定义一个指针指向下一个会员信息 float cost; //消费金额 }mem; //定义结构体变量mem /*声明函数*/ void menu(); /*声明函数,声明菜单函数*/ void save(mem *p); //声明保存函数 mem *head=NULL; //头指针为NULL mem* get_last(mem *p) //取得链表最后一个元素的节点指针并返回该指针 { if(p->next == NULL) { return p; } else { get_last(p->next); } } void creat_member(mem *pNew) //输入信息操作,会员登记函数 { //创建一个新的会员 char s; printf("卡号:"); scanf("%s",pNew->id); //运用指针输

图书管理系统(含源代码)c语言_数据结构课程设计报告

数据结构大作业 图书管理系统 工程管理121279044 伍 目录 一、题目要求 (2) 二、总体设计 (2) 三、编码实现 (3) 1) 定义图书结构体 (3) 2) 登记操作 (3) 3) 查看操作 (6) 4) 删除操作 (7) 5) Main函数 (13) 四、调试与测试 (16) 五、五心得体会 (18) 六、用户手册 (18)

一、题目要求 1)目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。 2)题目要求 实现图书管理信息系统的设计。要现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作! 二、总体设计

三、编码实现 1)定义图书结构体 struct book{ char bookname[20]; //书名 int NO; //书编号 char type[20]; //类型 int date; //到书日期 }; struct person{ char name[10]; // char classes[20]; //班级 int number; //学号 char telephone[12]; //联系 int NO; //书编号 char bookname[20]; //书名 int borrowdate; //借书日期 int returndate; //还书日期 2)登记操作 void new_book() //登记新书{ FILE *fp; struct book b; int i,j; if((fp=fopen("shuku.txt","a"))==NULL){ printf("File open error!\n"); exit(0); }

c语言课程设计源代码

c语言课程设计源代码标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

学校运动会管理系统问题描述: (1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 程序代码: #include<> #include<> #define N 3 #define M 3 #define W 3 char* n_number[3]={"1","院系2","院系3"}; char* m_number[3]={"1","男项2","男项3"};

char* w_number[3]={"女项1","女项2","女项3"}; int size=2; struct student { char num[10]; char name[20]; char xiangmu[20]; int score; char ximing[20]; }stu[100],temp; void input() um,&stu[i].name,&stu[i].xiangmu,&stu[i].score,&stu[i].ximing); iming,n_number[0])==0) iming); iming,n_number[h])==0) for(int s=0;s

C语言图书管理系统代码

#include #include #include struct book{ int num; char bname[50]; char wname[20]; char press[50]; char sort[50]; int time; float price; struct book *next; }; struct book *creatbook(); //创建链表 struct book *addbook(struct book *head); //添加图书 int yanzheng(struct book *head,int m); //验证新添加的图书编码是否已存在void deletebook(struct book *head); //删除图书 void fprint(struct book *head); //将链表写入文件 struct book *load(); //从文件中读取信息并建成链表 void print_book(struct book *head); //将链表信息输出 void chaxun(struct book *head); //查询图书信息 void num_chaxun(struct book *head); //按图书编号查询图书 void wname_chaxun(struct book *head); //按作者名查询图书 void sort_chaxun(struct book *head); //按类别查询图书 void time_chaxun(struct book *head); //按出版时间查询图书 void bname_chaxun(struct book *head); //按图书名查询图书 void xiugai(struct book *head); //修改图书信息 void paixu(struct book *head); //对图书进行排序 void num_paixu(struct book *head); //按图书编号排序 void time_paixu(struct book *head); //按图书出版时间排序 void price_paixu(struct book *head); //按图书价格排序 void bname_paixu(struct book *head); //按图书名排序 void wname_paixu(struct book *head); //按作者名排序 int main() { int choice,n,x,y=1,c,c1=1234; char a,d,b[10],b1[10]="yjk"; struct book *head=NULL; while(y){ system("cls"); printf("\n\n\n\n\n\n\n"); printf(" ********** 欢迎光临**********\n\n"); printf(" ********************** 图书信息管理系统

相关文档
相关文档 最新文档