当前位置:首页 >> 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语言图书管理系统课设报告_计算机软件及应用_IT/计算机_专业资料。图书信息管理系统课程设计报告C语言 程序设计课设论文论文题目:学年班姓学院: 级: 级: 名: ...

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

c语言最全的图书管理系统程序 - 《C 语言程序设计》 题目名称: 算法分析: 图书管理系统 1 用结构体标出信息系统的成员:图书书号,书名,作者姓名, 出版社,价格 ...

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

c语言图书管理系统课程设计报告 - 合肥学院 计算机科学与技术系 课程设计报告 2010~2011 学年第二学期 课学学专指业导班教生姓 程名号级师 C 语言...

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

c语言程序设计报告 图书管理系统 - 中国地质大学 本科生课程论文封面 课程名称 c 语言课程设计 教师姓名 樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别:...

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

C语言程序设计 图书管理系统_其它课程_高中教育_教育专区。实训报告题 院专姓学目: 系: 业: 名: 号: 图书管理系统 信息科技学院 指导教师: 日期: 2015 ...

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

C语言图书管理系统源代码 - /* 需要在源代码相同目录下创建四个 txt 文件: tushu_list.txt,jieshu_list.txt,xuesheng...

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

C语言程序设计--图书管理系统_电脑基础知识_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 C语言程序设计--图书管理系统_电脑基础知识_IT/计算机_专业...

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

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

c语言实现图书管理系统实训报告

c语言实现图书管理系统实训报告_理学_高等教育_教育专区。这是用c语言实现的图书管理系统完整的实训报告,包括需求分析,业务流程,实现过程,源代码等内容。...

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

C语言课程设计图书管理系统 - 本文档只作为参考,学习必须要自己动手。。... 图书管理系统| 课程设计| 语言|C语言课程设计图书管理系统_理学_高等教育_教育专区。本...

更多相关标签:
网站地图

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