C语言实验设计,图书信息管理系统
综合设计 图书信息管理系统【实验目的】
1.掌握结构体类型的概念和定义方法与使用。
2.掌握结构体类型数组、指针的概念和使用。
3.掌握结构体在程序设计中的使用方法。
【实验内容】
定义一个图书信息结构体类型,其成员包括:书号、书名、价格。利用图书信息的结构体,使其具有如下功能:
1.编写输入函数 input( )创建结构体数组,输出函数 output( ) 逐行输出显示图书结构体数组信息的函数
2.编写函数 insert( )根据指定的待入库的新图书的位置和图书的信息,将新图书插入到图书表中指定的位置上并输出所有图书信息。
3.编写函数 del( )根据指定的待出库的旧图书的位置将该图书从图书表中删除并显示所有图书信息。
4.编写函数 MaxPrice( )查找价格最高的图书的函数,显示最高价格图书的数量和具体信息。
5.编写函数 avg( )计算所有图书的平均价格,将所有低于平均价格的图书价格提高 20%,所有高于或等于平均价格的图书价格提高 10%。
6.编写函数 Sort ( )将图书按照价格降序排序,逐行输出排序后每本图书的信息。
7.编写图书逆序存储的函数 reverse( )将读入的图书逆序存储,逐行输出逆序存储后每本图书的信息
8.编写图书去重的函数 del_same( ) 进行图书的去重,即删除书号重复的图书(只保留第一本),最后输出去重后所有图书的信息。
【实验注意事项】
由于该实验是综合设计实验,建议适当多安排一些时间进行熟悉。建议课时安排如下:课外 4 学时 ,课内 4 学时
实验通过 PTA 在机房现场完成,需要同学们务必做好准备,提前进行算法的思考和设计。
【实验提示】
存储结构:
#define N 1000 //图书数组可能达到的最大长度 typedef struct tagbook
{
char num[20];//图书 ISBN
char name[50];//图书名字
double price;//图书价格
}Book;
函数接口:
void input(Book book[],int n);//创建结构体数组
其中 ` book[] ` 是创建的图书信息数组; `n` 是图书总数 void output(Book book[],int n);//输出显示图书结构体数组信息其中 ` book[] ` 是创建的图书信息数组; `n` 是图书总数
void insert(Book *L,int *m,int index,Book book); //插入一本图书并显示所有图书信息
其中 `L ` 是指向要操作的图书数组的指针; `m` 是指向图书总数的指针;` index `是插入的位置;` book `是待插入的一本图书信息。
void del(Book *L,int *m,int index);//在指定位置删除一个学生并显示所有学生信息
其中 `L` 是待操作的图书信息,`m` 是指向学生的总人数的指针,`index`是旧书删除的位置。
void MaxPrice(Book *L,int n); //编写查找价格最高的图书的函数,显示最高价格图书的数量
和具体信息
其中`L` 是待操作的图书信息,`n` 是图书总数。
void avg(Book *L,int n);//实现修改功能并逐行输出价格修改后的图书信息
其中`L` 是待操作的图书信息,`n` 是图书总数。
void Sort(Book *L,int n);//将图书按照价格降序排序
其中 `L` 是待操作的图书信息,`n` 是图书总数。
void reverse(Book *L,int n);//图书逆序存储,要求使用已有的内存其中`L` 是待操作的图书信息,`n` 是图书总数。
void del_same(Book *L,int *m);//图书去重
其中 `L` 是待操作的图书信息,`m` 是指向图书总数的指针。
输入样例:
输入 n+1 行,第一行是需要输入图书的个数,其中后 n 行是 n 本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。其中书号和书名为字符串类型,价格为浮点数类型。
8
9787302257646 Data-Structure 35.00
9787302164340 Operating-System 50.00
9787302219972 Software-Engineer 32.00
9787302203513 Database-Principles 36.00
9787810827430 Discrete-Mathematics 36.00
9787302257800 Data-Structure 62.00
9787811234923 Compiler-Principles 62.00
9787822234110 The-C-Programming-Language 38.00
输出样例:
总计 n 行,输出 n 本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书
名、价格用空格分隔。其中价格输出保留两位小数。
9787302257646 Data-Structure 35.00
9787302164340 Operating-System 50.00
9787302219972 Software-Engineer 32.00
9787302203513 Database-Principles 36.00
9787810827430 Discrete-Mathematics 36.00
9787302257800 Data-Structure 62.00
9787811234923 Compiler-Principles 62.00
9787822234110 The-C-Programming-Language 38.00
没做过这种题啊,没思路啊,怎么做,格式是什么