题目:商品列表管理系统
该管理系统要求实现功能包括:
1.商品列表的显示,包括商品的名称、单价、销量、描述。
2.添加商品到商品列表。
3.从商品列表中删除商品。
4.按商品单价、名称、销量排序列表。
5.按商品名称查询商品信息。
6.更改商品信息。
函数功能块设计要求
首先声明一个商品结构体,包括名称、单价、销量、描述四个成员,要求使用结构体数组完成功能实现:
1.main(),主函数,函数整体是一个循环结构,结合多分支语句switch,实现系统的主菜单功能。运行时用户根据菜单选项提示输入选项,系统调用相关函数(数组名作为参数传递地址),执行相应的功能。
2.show()实现商品列表显示
3.int add()实现添加商品功能,返回添加后商品数量
4.int del()实现删除商品功能,返回删除后商品数量
5.void Sort1()实现按单价升序排序
6.void Sort2()实现按名称字典序排序
7.void Sort3()实现按销量升序排序
8.void find()实现按名称查找功能
9.void change()实现更改商品信息功能
(附:若是用C++编程可尝试用vector结构体数组,实时分配内存空间,利于实现增删功能)
实现功能代码如下:
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<windows.h>
struct product
{
char name[20];
float price;
float sales;
char intro[20];
};
void show(struct product list[],int n)//显示商品
{
int i=0;
printf("%-20s%-20s%-20s%-20s\n","名称","单价","销量","描述");
printf("----------------------------------------------------------------------------\n");
for(i=0;i<n;i++)
{
printf("%-20s%-20.2f%-20.2f%-20s\n",list[i].name,list[i].price,list[i].sales,list[i].intro);
}
}
void Find(struct product list[],int n)//查询商品
{
printf("请输入您要查询的商品名称:");
char nam[20]=" ";
scanf("%s",nam);
int i=0,j=0;
for(i=0;i<n;i++)
{
if(strcmp(list[i].name,nam)==0)
{
printf("查询商品信息如下:\n");
printf("\n%-20s%-20s%-20s%-20s\n","名称","单价","销量","描述");
printf("----------------------------------------------------------------------------\n");
printf("%-20s%-20.2f%-20.3f%-20s\n",list[i].name,list[i].price,list[i].sales,list[i].intro);
j=1;
break;
}