图书管理系统 C语言实训报告 -

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

基础编程能力实训报告

题目: 图书管理系统

专业年级:计算机科学与技术2013级

姓名:

学号:

2014年06月20日

1 实训题目与要求

1.1 问题描述

此系统可以完成对书籍信息的输入、删除、修改、排序等功能,提高图书管理效率,对图书进行合理规划与安排。

1.2 功能要求

程序输出主菜单(如下),提示用户选择操作

表1 主菜单

在主菜单中选择1,要求输入图书信息,包括书本序号,书本名字,作者名字,书的价格;

在主菜单中选择2,可查询已输入的图书信息;

在主菜单中选择3,可通过查找书本的序号,来选择所要删除的图书信息;

在主菜单中选择4,对已输入的图书信息,按照图书序号进行排序;

在主菜单中选择5,显示图书信息;

在主菜单中选择6,可通过查找书本的序号,来选择所要修改的图书,并对图书进行修改;

在主菜单中选择7,建立一个名为asd.txt的文件,并将图书信息录入;

在主菜单中选择8,退出图书管理系统。

2 图书管理系统的设计与功能实现

2.1

图1 系统模块图

输入模块完成用户从界面输入图书的信息的功能;

查询书籍信息模块完成用户从界面输入查询条件,在系统查询符合条件的图书信息,并在界面上显示的功能;

删除书本信息模块完成用户从界面输入需要的图书序号,并将其从系统中删除的功能;

书本信息排序模块完成对书本信息的排序的功能;

显示书籍信息模块完成显示书本信息的功能;

修改书籍信息模块完成用户从界面输入,在系统中查询定位,并将修改过的信息数据保存入系统的功能;

录入图书信息模块完成用户从界面输入需要导入的文件路径名称,将信息输入系统的功能;

2.2 数据结构

在程序中,定义了如下结构体:

typedef struct{

int num;

char Bname[50];

char Wname[50];

float score;

}Book;

其中Book.num是存储书本序号信息,Book.Bname存储书本名字信息,Book.Wname是存储书本作者名信息,Book.score存储书本价格信息。

2.3 算法设计

图2 主函数流程图

主函数的作用主要是调用main函数显示主界面,使用printf函数将菜单选项输出在屏幕上,供用户读取选择。

通过读取用户的输入,调用switch函数对用户的输入进行处理,使用while函数实现用户的选择性的重复操作。

图3 输入函数流程图

输入函数的主要作用是完成书籍信息的输入功能,用户先输入书本的实际数量,再输入书本序号、书名、作者名和书本价格并保存到数组中。

图4 查询函数流程图

查询函数的作用主要是为完成查找某书籍信息的功能,用户在使用时先输

入要查找的书本序号,然后在保存有书籍信息的数组中查找该项,若找到,则显示该项;否则,显示无此书。

图5 删除函数流程图

删除函数的主要作用是完成删除某本书籍信息的功能,用户先输入一个要删除的书本序号,然后在保存有书籍信息的数组中查找该项,若找到,则删除该项;否则,显示找不到要删除的书本信息。

2.4 程序代码设计

⑴主函数需要读取用户所输入的选项来调用其他功能的函数,从而实现

程序的各个功能;

void main()

{

}

使用while来循环j值,供用户输入选项,程序判断后进入对应模块,并调用相应的功能函数进行运算,并且使用break在调用完函数后退出switch 语句。

⑵void input(Book*a,int*n)

{

}

输入函数,定义结构体类型指针p,printf语句提示用户输入信息,添加for 循环,将用户输入的信息保存入数组中。

void find(Book*a,int n)

{

}

查找函数定义结构体指针p,printf语句提示用户输入信息,输入num后,for循环嵌套if语句按照书本序号查找对应的书本信息,break跳出循环。

void del(Book*a,int*n)

{

}

删除函数定义结构体指针p,printf语句提示用户输入信息,输入要删除的书本序号,对应结构体中已存有的num,for循环中嵌套if语句查找并删除对应的书本信息,break跳出循环。

void sort(Book*a,int n)

{

}

排序函数,采用冒泡法按照书本序号对书籍进行排序。

void display(Book*a,int n)

{

}

输出函数定义结构体p,for循环输出书本信息。

void wenjian(Book*a,int n)

{

}

定义指针变量fp,判断所指向的文件是否存在,定义结构体指针p,使用fprintf函数将数据输入文件中。

void xiugai(Book*a,int n)

{

}

修改函数定义结构体指针p,printf语句提示用户输入信息,输入要修改的书本序号,对应结构体中已存有的num,for循环中嵌套if语句查找并修改对应的书本信息。

void menu()

{

}

几个printf语句在界面显示出供用户选择的操作框。

2.5 测试与调试

3 实训总结

学习c语言不能停留在学习它的语法规则,而是利用学到的知识

相关文档
最新文档