当前位置:首页 >> IT/计算机 >> C语言图书管理系统

C语言图书管理系统


HUNAN

UNIVERSITY

程序设计训练 报 告

学生姓名 学生学号 专业班级 指导老师 2012 年 6 月 29 日

湖南大学程序设计训练报告





一 系统功能简介 .............................................................1 二 本人完成的主要工作 ......................................................1 三 实训分析 ........................................................... ..1 ....................1

四 实训设计 ......................................... 五 实训源程序代码和调试过程 六 实训总结

...............................................2

....... ......................................................2

附录 1........................................................................2 附录 2 ......................................................................2

1

湖南大学程序设计训练报告

一、 系统功能简介
1. 管理员系统
(1)增加用户:增添一个新的用户。 (2)增加书籍:添加新的书籍包括出版社、本数、价格、书号、分类、作者、书名等信息。 (3)删除书籍:将已经存在的书籍信息删除。 (4)查询书籍:按书名,类别,书号,作者,出版社对书本信息进行查找。 (5)显示全部记录:将所有存在系统中的书籍记录显示出来。

2. 用户系统
(6)查询书本:按书名,类别,作者,出版社对书本信息进行查找。 (7) 借书:如果书还有库存且用户借书小于 10 本则可借书。 (8) 还书:归还用户所借的书。

二、 本人完成的主要工作
前期搜集图书管理系统应有的相应功能,程序应有功能模块的分析,策划。程 序相关信息的查找和功能模块的组合。错误的修正,流程图的绘制,借还书模块 代码的功能分析编写,报告的编辑。流程图手工版本的绘制。

三、 实训分析
设计并实现该课程设计的目的主要在于: 1) 对一定规模的综合软件编程有一定的经历与认识。在做的过程中,我们 发现,提前的规划即分析与设计重要过编程过程,否则会走很多弯。 2) 综合并结合现实应用使用 C 语言的知识。这个设计会用到 C 语言这门 课的全部知识,其中以文件、数组与函数为主,书中提到的主要及重点 算法都会使用到。 3) 不仅涉及编程,还涉及到功能分析、模块规划等方面的知识,这些知识 在后续课程学习时, 会经常使用。而且这些知识在今后单片机编程过程 中,都会用到。

2

湖南大学程序设计训练报告

4) 每项功能的实现, 一般有多种方法,这在这里我们并没有在所有模块中 采用最简单的方法, 而是采用了自己平时最常用最熟悉的方法,以尽可 能保证程序的正常运行,在此基础之上使算法尽可能简化。 5) 涵盖了图书管理所需要的几个最基本功能, 让我们对今后一个系统的整 体分析设计与完成有了一个初步的了解。

四、 实训设计
1.核心数据结构设计:
a) 通过主菜单调用菜单函数输出菜单 b) 根据所选择的选项用 case 语句进行判断 c) 通过 case 语句调用相应函数 d) 将文件的内容存入数组进行查找修改 e) 操作完毕后将数组里的内容写回文件 f) 询问是否继续操作否的话则返回主菜单继续选择 g) 通过主菜单调用菜单函数输出菜单 h) 根据所选择的选项用 case 语句进行判断 i) 通过 case 语句调用相应函数 j) 将文件的内容存入数组进行查找修改 k) 操作完毕后将数组里的内容写回文件 l) 询问是否继续操作否的话则返回主菜单继续选择

查书

2.核心算法描述(程序流程图)

从文件读取信息

将信息与 所输书名对比

不存在



是否存在



输出相应项

结束

3

湖南大学程序设计训练报告

增加用户

显示全部

输入用户信 息

打开数据库

储存至结构体

重头开始向下读取 一个数组



初始化数据

是否到结尾





打开数据库

计数器 是否为零



输出无书



将信息添加至数据 库

以循环结构输出所 有数组中的信息

是否继续

结束



结束

4

湖南大学程序设计训练报告

删书

增加图书

从文件读取 信息到数组

从键盘录入 数据到结构体

将数组中信息与 所删书名对比



已追加方式 写入文件

是否存在



显示不存在

是否继续





删书,将后面 的书向前移

结束

将数组内容 写回文件

结束

3.人机界面设计(程序流程图)

5

湖南大学程序设计训练报告

查书

增加用户

显示全部内容

删除图书

增加图书

管理员

主界面

退出

用户

查书

借书

还书

6

湖南大学程序设计训练报告

五、 实训源程序代码和调试过程(包括截图)
#include <stdio.h> #include <stdlib.h>/*清屏函数*/ #include <time.h> #include <string.h> #include <conio.h> #include <windows.h> typedef int BOOL; typedef struct bookinfo//将 bookinfo 类型定义为 BOOKINFO { char number[15];/*产品编号*/ char name[30];/*产品名称*/ float price;/*单价*/ char auther[20];/*作者*/ BOOL isExit;/*存在状态*/ char sort[20];/*书籍类别*/ char published[30];/*出版社*/ int bookcount;/*剩余书籍数量*/ }BOOKINFO; struct bookinfo book[1000]; typedef struct student /*借书卡的数据类型*/ { int studentnum; //学号 int cardnum;//卡号 char studentname[10];//会员姓名 char studentclass[10]; //会员班级 char lendbook[10]; int count;//借书数组 最多借书十本 char bookname[11][10];//存放书名 }student; student card[1000];//定义借书卡数组

void input_newp()/*输入新用户信息*/ { int i; char choice; FILE *a;

7

湖南大学程序设计训练报告
student newp; system("cls"); while(1) { newp.count=0;//初始化计数器 for(i=0;i<11;i++)//初始化借书名称 newp.bookname[i][0]='\0'; printf("输入学号:"); scanf("%d",&newp.studentnum); printf("输入卡号:"); scanf("%d",&newp.cardnum); printf("输入学员姓名:"); gets(newp.studentname); while(getchar()!='\n'); printf("输入学员班级:"); gets(newp.studentclass); printf("是否保存该条信息?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') { a=fopen("c:\\card.txt","ab"); fwrite(&newp,sizeof(student),1,a); fclose(a); printf("\n 该条书目已添加到 c:\\card.txt 文件中!\n"); } else { printf("\n 本条书目未保存!\n"); } printf("\n 是否继续添加书目?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch();

8

湖南大学程序设计训练报告
} if(choice=='Y'||choice=='y') continue; else break; } } void input_new()/*输入新进的图书信息*/ { char choice; FILE *a; BOOKINFO newbook; system("cls"); while(1) { fflush(stdin);//清除文件缓冲区 printf("输入书籍编号:"); gets(newbook.number); printf("输入书籍名称:"); gets(newbook.name); printf("输入书籍单价:"); scanf("%f",&newbook.price); while(getchar()!='\n'); printf("输入书籍的作者:"); gets(newbook.auther); printf("输入书籍的出版社:"); gets(newbook.published); printf("输入书籍的类别:"); gets(newbook.sort); printf("输入书籍的数量:"); scanf("%d",&newbook.bookcount); printf("是否保存该条书目?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') {

9

湖南大学程序设计训练报告
printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') { newbook.isExit=1;/*将图书状态设置成 1,表示没有借出*/ a=fopen("c:\\bookinfo.data","ab"); fwrite(&newbook,sizeof(BOOKINFO),1,a); fclose(a); printf("\n 该条书目已添加到 c:\\bookinfo.data 文件中!\n"); } else { printf("\n 本条书目未保存!\n"); } printf("\n 是否继续添加书目?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') continue; else break; } }

void search_according_name()/*根据图书名称显示图书的信息*/ { char search[20]="";/*search 用来存放要查询的书名*/ int n; FILE *p; char choice; BOOKINFO bookinfo[100]; int booknumber=0; system("cls"); p=fopen("c:\\bookinfo.data","rb"); while(!feof(p)) { fflush(stdin);//清除文件缓冲区 fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p);

10

湖南大学程序设计训练报告
booknumber++; } booknumber--;/*使用 feof()函数会多读一行,因此需要 booknumber 自减一次,使书目 的数量正确*/ fclose(p); while(1) { printf("输入要查询的书本名称:"); gets(search); if(booknumber==0) { printf("书库中没有任何信息!\n\n"); printf("按任意键回到主菜单!\n\n"); getch(); break; }/*if 结束*/ else { for(n=0;n<booknumber;n++) if(strcmp(bookinfo[n].name,search)==0) { printf("该书的详细信息如下:\n"); printf(" \n"); printf("编号 类别 剩余书籍\n"); printf("%-6s%-12s%-8.1f%-8s%-8d bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); break; } if(n>=booknumber) printf("没有查找该书的任何信息!\n"); printf("\n\n 是否继续查询?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') %-16s%-8s%-6d\n", 名称 单价 作者 图书状态 出版社

图书信息

11

湖南大学程序设计训练报告
continue; else break; }/*else 结束*/ }/*while(1)结束*/ } void search_according_auther()/*根据图书作者显示图书的信息*/ { char search[20]="";/*search 用来存放要查询的作者名*/ int n; FILE *p; char choice; BOOKINFO bookinfo[100]; int booknumber=0; system("cls"); p=fopen("c:\\bookinfo.data","rb"); while(!feof(p)) { fflush(stdin); //清除文件缓冲区 fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; } booknumber--;/*使用 feof()函数会多读一行,因此需要 booknumber 自减一次,使书目 的数量正确*/ fclose(p); while(1) { printf("输入要查询的作者名称:"); gets(search); if(booknumber==0) { printf("书库中没有任何信息!\n\n"); printf("按任意键回到主菜单!\n\n"); getch(); break; }/*if 结束*/ else { for(n=0;n<booknumber;n++) if(strcmp(bookinfo[n].auther,search)==0) { printf("该书的详细信息如下:\n");

12

湖南大学程序设计训练报告
printf(" \n"); printf("编号 类别 剩余书籍\n"); printf("%-6s%-12s%-8.1f%-8s%-8d bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); break; } if(n>=booknumber) printf("没有查找该书的任何信息!\n"); printf("\n\n 是否继续查询?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') continue; else break; }/*else 结束*/ }/*while(1)结束*/ } void search_according_sort()/*根据图书类别显示图书的信息*/ { char search[20]="";/*search 用来存放要查询的类别*/ int n; FILE *p; char choice; BOOKINFO bookinfo[100]; int booknumber=0; system("cls"); p=fopen("c:\\bookinfo.data","rb"); while(!feof(p)) { fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; %-16s%-8s%-6d\n", 名称 单价 作者 图书状态 出版社 图书信息

13

湖南大学程序设计训练报告
} booknumber--;/*使用 feof()函数会多读一行,因此需要 booknumber 自减一次,使书目 的数量正确*/ fclose(p); while(1) { fflush(stdin);//清除文件缓冲区 printf("输入要查询的类别名称:"); gets(search); if(booknumber==0) { printf("书库中没有任何信息!\n\n"); printf("按任意键回到主菜单!\n\n"); getch(); break; }/*if 结束*/ else { for(n=0;n<booknumber;n++) if(strcmp(bookinfo[n].sort,search)==0) { printf("该书的详细信息如下:\n"); printf(" \n"); printf("编号 类别 剩余书籍\n"); printf("%-6s%-12s%-8.1f%-8s%-8d bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); break; } if(n>=booknumber) printf("没有查找该书的任何信息!\n"); printf("\n\n 是否继续查询?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') %-16s%-8s%-6d\n", 名称 单价 作者 图书状态 出版社

图书信息

14

湖南大学程序设计训练报告
continue; else break; }/*else 结束*/ }/*while(1)结束*/ } void search_according_published()/*根据图书出版社显示图书的信息*/ { char search[20]="";/*search 用来存放要查询的出版社*/ int n; FILE *p; char choice; BOOKINFO bookinfo[100]; int booknumber=0; system("cls"); p=fopen("c:\\bookinfo.data","rb"); while(!feof(p)) { fflush(stdin);//清除文件缓冲区 fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; } booknumber--;/*使用 feof()函数会多读一行,因此需要 booknumber 自减一次,使书目 的数量正确*/ fclose(p); while(1) { printf("输入要查询的出版社名称:"); gets(search); if(booknumber==0) { printf("书库中没有任何信息!\n\n"); printf("按任意键回到主菜单!\n\n"); getch(); break; }/*if 结束*/ else { for(n=0;n<booknumber;n++) if(strcmp(bookinfo[n].published,search)==0) { printf("该书的详细信息如下:\n");

15

湖南大学程序设计训练报告
printf(" \n"); printf("编号 类别 剩余书籍\n"); printf("%-6s%-12s%-8.1f%-8s%-8d bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); break; } if(n>=booknumber) printf("没有查找该书的任何信息!\n"); printf("\n\n 是否继续查询?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') continue; else break; }/*else 结束*/ }/*while(1)结束*/ } void delete_according_name()/*根据图书名称对图书信息进行删除*/ { char search[20]="";/*search 用来存放要删除的书名*/ int n,i; FILE *p; char choice; BOOKINFO bookinfo[100]; int booknumber; system("cls"); while(1) { fflush(stdin); printf("输入要删除的书本名称:"); gets(search); %-16s%-8s%-6d\n", 名称 单价 作者 图书状态 出版社 图书信息

16

湖南大学程序设计训练报告
p=fopen("c:\\bookinfo.data","rb"); booknumber=0; while(!feof(p)) { fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; } printf("删除成功!\n"); } else printf("\n\n 该条书目没有被删除!"); } printf("\n\n 是否继续进行删除操作?(Y/N)\n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') { printf("请输入 Y 或 y 或 N 或 n"); choice=getch(); } if(choice=='Y'||choice=='y') continue; else break; }/*else 结束*/ }/*while(1)结束*/ } void lendbook() { FILE *p,*p2; int i,j,k,n=0,z=0; int cardnum; printf("\n\t\t 请你输入你的卡号: "); scanf("%d",&cardnum); p=fopen("c:\\card.txt","rb"); while(!feof(p)) { fread(&card[n],sizeof(student),1,p); n++; } fclose(p); p2=fopen("c:\\bookinfo.data","rb"); while(!feof(p2))

17

湖南大学程序设计训练报告
{ fread(&book[z],sizeof(BOOKINFO),1,p2); z++; } fclose(p2); for(i=0;i<n;i++) { if(card[i].cardnum==cardnum) //判断卡号是否存在 { printf("\n\t\t 请输入你要借阅的书的名字: "); scanf("%s",&card[i].lendbook); for(j=0;j<z;j++) { if(strcmp(book[j].name,card[i].lendbook)==0)//判断书是否存在 { if(book[j].bookcount==0)//判断是否还有库存 { printf("\t\t 对不起,此书有人借出,请借其他书.按任意键返 回...\n"); getch(); return; } else if(card[i].count==10)//判断是否借满 10 本 { printf("\t\t 对不起,借书本数已达到上限,按任意键返回...\n"); getch(); return; } else { p=fopen("c:\\card.txt","wb"); p2=fopen("c:\\bookinfo.data","wb"); card[i].count++;//借书本书加一 book[j].bookcount --;//库存减一 for(k=0;k<=10;k++) if(card[i].bookname[k][1]!='\0') { strcpy(card[i].bookname[k],card[i].lendbook);//保存所借 书的名字 if(book[j].bookcount==0) book[j].isExit=0; else book[j].isExit=1; break;

18

湖南大学程序设计训练报告
} for(i=0;i<n;i++) fwrite(&card[i],sizeof(student),1,p); for(i=0;i<z;i++) fwrite(&book[i],sizeof(BOOKINFO),1,p2); printf("\t\t 借书已完成,按任意键返回...\n"); fclose(p); fclose(p2); getch(); return; } } } printf("\n\t\t 很抱歉,不存在这本书,按任意键返回..."); fclose(p2); getch(); return; } } printf("\n\t\t 你的卡号不存在,请申请新卡,按任意键返回..."); fclose(p); getch(); } void returnbook() { char bookname[100]; FILE *p,*p2; int i,j,k,n=0,z=0; int cardnum; printf("\n\t\t 请你输入你的卡号: "); scanf("%d",&cardnum); p=fopen("c:\\card.txt","rb"); while(!feof(p)) { fread(&card[n],sizeof(student),1,p); n++; } fclose(p); p2=fopen("c:\\bookinfo.data","rb"); while(!feof(p2)) { fread(&book[z],sizeof(BOOKINFO),1,p2);

19

湖南大学程序设计训练报告
z++; } fclose(p2); for(i=0;i<n;i++) { if(card[i].cardnum==cardnum) //判断卡号是否存在 { printf("\n\t\t 请输入你要归还的书的名字: "); scanf("%s",&bookname); for(j=0;j<z;j++) { if(strcmp(book[j].name,bookname)==0)//判断是否有这本书 { p=fopen("c:\\card.txt","wb"); p2=fopen("c:\\bookinfo.data","wb"); card[i].count--; book[j].bookcount ++; if(book[j].bookcount==0) book[j].isExit=0; else book[j].isExit=1; for(k=1;k<=10;k++) if(strcmp(card[i].bookname[k],bookname)==0)//清空还书记录 card[i].bookname[k][1]='\0'; for(i=0;i<n;i++) fwrite(&card[i],sizeof(student),1,p); for(i=0;i<z;i++) fwrite(&book[i],sizeof(BOOKINFO),1,p2); printf("\t\t 还书已完成,按任意键返回...\n"); fclose(p); fclose(p2); getch(); return; } } printf("\n\t\t 很抱歉,不存在这本书,按任意键返回..."); fclose(p2); getch(); return; } } printf("\n\t\t 你的卡号不存在,请申请新卡,按任意键返回..."); fclose(p); getch();

20

湖南大学程序设计训练报告
} void display_all()/*显示全部图书信息*/ { FILE *p; int n; BOOKINFO bookinfo[100]; int booknumber=0; system("cls"); p=fopen("c:\\bookinfo.data","rb"); while(!feof(p)) { fread(&bookinfo[booknumber],sizeof(BOOKINFO),1,p); booknumber++; } fclose(p); booknumber--; if(booknumber==0) { printf("没有任何图书信息!\n\n"); } else { n=0; printf(" printf(" \n"); printf("编号 名称 单价 作者 图书状态 出版社 剩余书籍\n"); while(n<booknumber) { if(bookinfo[n].price!=0.0)//屏蔽空信息 { printf("%-6s%-12s%-8.1f%-8s%-8d %-16s%-8s%-6d\n", bookinfo[n].number,bookinfo[n].name,bookinfo[n].price, bookinfo[n].auther,bookinfo[n].isExit,bookinfo[n].published, bookinfo[n].sort,bookinfo[n].bookcount); } n++; } } 类别 图书信息如下\n"); 图书信息

21

湖南大学程序设计训练报告
printf("\n\n 按任意键回到主菜单!\n"); getch(); }

void menu1() { printf("\n\t\t ★欢★迎★进★入★图★书★管★理★系★统★\n\n"); printf("\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("\t ※ ※\n"); printf("\t ※ ★ 图 书 管 理 系 统 ★ ※\n"); printf("\t ※ ※\n"); printf("\t ※ 1:<会员入口> ※\n"); printf("\t ※ 2:<管理员入口> ※\n"); printf("\t ※ 0:<退出> ※\n"); printf("\t ※ ※\n"); printf("\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n"); }

void searchbook() { //图书查询系统函数 char ch5; clock_t tm; do { system("cls"); printf("\n\t\t1:<按书名查找>"); printf("\n\t\t2:<按作者查找>"); printf("\n\t\t3:<按类别查找>"); printf("\n\t\t4:<按出版社查找>"); printf("\n\t\t0:<返回主菜单>"); printf("\n\n\t\t 请输入要选择的操作(0~4) :"); ch5=getch(); switch(ch5) { case '1':search_according_name();break; case '2':search_according_auther();break; case '3':search_according_sort();break; case '4':search_according_published();break; case '0':return; default:

22

湖南大学程序设计训练报告
printf("\n\n\t\t\t 请输入菜单中的数字!(0~4)"); tm=clock(); while(clock()<tm+1800); } }while(ch5!='0'); } void menu2() { char choice; clock_t tm; do { system("cls"); printf("\n\t\t\n\n"); printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t \n\n\n"); choice=getch(); switch(choice) { case '1':searchbook();break;/*查询书籍*/ case '2':lendbook();break;/*借书入口*/ case '3':returnbook();break;/*还书入口*/ case '0':return;/*返回主菜单*/ default: printf("\n\n\t\t\t 请输入菜单中的数字!(0~3)"); tm=clock(); while(clock()<tm+1800); } }while(choice!='0'); } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); ※ ※\n"); ※ ★ 欢 迎 进 入 会 员 系 统 ★ ※\n"); ※ ※\n"); ※ 1:<查询书籍> 2:<借书入口> ※\n"); ※ 3:<还书入口> 0:<返回主菜单> ※\n"); ※ ※\n"); ※ ※\n"); ※※※※※※※※※※※※※※※※※※※※※※※※※※※※

void menu3()

23

湖南大学程序设计训练报告
{ char choice; clock_t tm; do { system("cls"); printf("\n\t\t\n\n"); printf("\t ※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("\t ※ ※\n"); printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t printf("\t \n\n\n"); choice=getch(); switch(choice) { case '1':input_new();break;/*增加书籍*/ case '2':delete_according_name();break;/*删除书籍*/ case '3':searchbook();break;/*查询书籍*/ case '4':display_all();break;/*显示全部记录*/ case '5':input_newp();break;/*增加用户*/ case '0':return;/*返回主菜单*/ default: printf("\n\n\t\t\t 请输入菜单中的数字!(0~5)"); tm=clock(); while(clock()<tm+1800); } }while(choice!='0'); } ※ ★ 欢 迎 进 入 管 理 系 统 ★ ※\n"); ※ ※\n"); ※ 1:<增加书籍> 2:<删除书籍> ※\n"); ※ 3:<查询书籍> 4:<显示全部记录> ※\n"); ※ 5:<增加用户> 0:<返回主菜单> ※\n"); ※ ※\n"); ※ ※\n"); ※※※※※※※※※※※※※※※※※※※※※※※※※※※※

24

湖南大学程序设计训练报告

25

湖南大学程序设计训练报告

26

湖南大学程序设计训练报告

六、 实训结论
通过这次的实训,使我们更好地将课本中的内容与实践相结合。锻炼了自己

27

湖南大学程序设计训练报告
遇到新问题,从查找相关资料做相关准备。策划方案到寻找相关信息并相互合作 分工将策划方案实施的能力。由于这次的程序代码相对以往的要长,所以编程的 严谨性相对较高,对编程过程中的细节处理有较高的要求。由于程序是分工合作 的,每个人都有自己负责的模块,所以这在最终装配这个程序时造成了一定的困 难,变量的设置有些混乱调试起来错误比较多,在编程语句的规划化和变量设置 的统一上以后应多加注意。但是这样也让我们对C语言这种模块化的编程语言有 了更好的认识和理解。程序条理性有待加强,以进一步提高程序的可读性。在编 程之前应该有更明确的方案规划和步骤,以便更容易理清编程思路。

28


更多相关文档:

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

使用 C 语言编写了图书管理系统。本系统主要实现了图书信息管理的 功能,通过此系统可以对图书馆库存图书信息进行管理和维护操作。实现了图书 馆内管理的一般功能,...

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

C语言图书管理系统程序设计报告_管理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档C语言图书管理系统程序设计报告_管理学_高等教育_教育专区。课程设计...

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

C语言课程设计报告-图书管理系统 ,系统总体设计、详细设计、课程设计小结、源代码C语言课程设计报告-图书管理系统 ,系统总体设计、详细设计、课程设计小结、源代码隐藏...

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

C语言课程设计图书管理系统_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 C语言课程设计图书管理系统_理学_高等教育_教育专区。本文档只作为参考,...

C语言图书管理系统

C语言图书管理系统_管理学_高等教育_教育专区。《程序设计与算法综合实习》 课程设计报告 题班 目: 级: 图书馆管理系统 软件学院软件工程 R6 班 学生学号: 学生...

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

C语言图书管理系统程序设计报告_人力资源管理_经管营销_专业资料 暂无评价|0人阅读|0次下载|举报文档C语言图书管理系统程序设计报告_人力资源管理_经管营销_专业资料...

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

C 语言课程设计 语言课程设计 姓名: 姓名:郭献安 班级:054101-13 班级:054101学号: 学号:20101001871 图书管理系统》 《图书管理系统》目录 题目要求及能实现的...

C语言实现的图书管理系统

C语言实现的图书管理系统_计算机软件及应用_IT/计算机_专业资料。C语言实现的简易图书管理系统 内蒙古工业大学信息工程学院 报告类型:实验报告 报告成绩:___ 年月日...

用C语言编写的图书管理系统

C语言编写的图书管理系统_表格/模板_实用文档。首先,这里面的程序绝对能在VC编译其中运行,并且文档还包含一些设计思路、参考资料等。C...

C语言图书信息管理系统

使用 C 语言编写图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书 馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com