主题:[讨论]初学者,急需帮助!!!请高手帮我解决下面这个题!!!
题目:设计一个简单的产品管理系统
1. 问题描述:
某工厂有5种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数实现下面:
(1) 从键盘输入这些产品的信息;
(2) 按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;
(3) 使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,如果没找到则给出未找到的信息,退出程序的运行;
(4) 输出产品信息。
2. 问题的解决方案:
根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。
(1) 产品的库存量在输入函数中求解或者编写独立函数求解;
(2) 在排序过程中,结构数组元素的交换可以整体进行,无需每个成员之间进行互换。
(3) 使用折半查找法进行查找之前,应该先按照产品代码进行排序。
四、主要技术问题的描述
根据三的分析,主要问题在于:
(1)结构体的构造
除了产品的代码(int code)、产品名称(char name) ,产品数量(float amount) ,销售量(float sales)外,还应有产品的库存量(float stock)
(2)排序
在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。例如结构体数组元素pro[j]和pro[k]的互换:
t=pro[j]; pro[j]=pro[j+1]; pro[j+1]=t;
(3)各个函数的参数传递问题
实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:
void Input(PRODUCT *p) //结构体指针作为形参
{//program code
}
函数调用时:Input(pro); // pro 为结构体数组名
1. 问题描述:
某工厂有5种产品,每种产品包括:产品代码,产品名称,产品数量,销售量,要求编写函数实现下面:
(1) 从键盘输入这些产品的信息;
(2) 按照产品的库存量进行升序排序,使用选择法排序,在主函数中输出;
(3) 使用折半查找法进行循环查询,当用户给出某种产品的代码时,在主函数中显示该产品的信息,如果没找到则给出未找到的信息,退出程序的运行;
(4) 输出产品信息。
2. 问题的解决方案:
根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。
(1) 产品的库存量在输入函数中求解或者编写独立函数求解;
(2) 在排序过程中,结构数组元素的交换可以整体进行,无需每个成员之间进行互换。
(3) 使用折半查找法进行查找之前,应该先按照产品代码进行排序。
四、主要技术问题的描述
根据三的分析,主要问题在于:
(1)结构体的构造
除了产品的代码(int code)、产品名称(char name) ,产品数量(float amount) ,销售量(float sales)外,还应有产品的库存量(float stock)
(2)排序
在进行完结构数组中某个成员的比较后,不是某个成员的互换,而是结构体数组元素之间的互换。例如结构体数组元素pro[j]和pro[k]的互换:
t=pro[j]; pro[j]=pro[j+1]; pro[j+1]=t;
(3)各个函数的参数传递问题
实参应为结构数组名,形参为结构体指针或者结构体数组。如输入函数:
void Input(PRODUCT *p) //结构体指针作为形参
{//program code
}
函数调用时:Input(pro); // pro 为结构体数组名