2. 电脑销售管理系统的设计与实现 (1)电脑信息包括:品牌(char num[10])、销售数量(int num)、价格(float money)、销售日期(int day) (2)除了总的模块要求外,还需统计①销售量最高的电脑信息; ②查找某一天销售的所有手机信息及销售额。
时间: 2024-03-15 19:44:04 浏览: 77
好的,根据您的要求,我来为您设计一个包括统计销售量最高的电脑信息和查找某一天销售的所有电脑信息及销售额的电脑销售管理系统。
1. 定义一个结构体,包括电脑的品牌、销售数量、价格、销售日期等信息:
```
struct Computer {
char num[10];
int sales;
float price;
int day;
struct Computer *next;
};
```
2. 定义一个指向该结构体的指针,作为链表的头节点:
```
struct Computer *head = NULL;
```
3. 实现添加电脑信息的函数。每次添加电脑信息时,需要动态分配内存,将电脑信息保存到链表中:
```
void addComputer() {
struct Computer *temp, *p;
temp = (struct Computer*)malloc(sizeof(struct Computer));
printf("请输入电脑品牌:");
scanf("%s", temp->num);
printf("请输入销售数量:");
scanf("%d", &temp->sales);
printf("请输入电脑价格:");
scanf("%f", &temp->price);
printf("请输入销售日期:");
scanf("%d", &temp->day);
temp->next = NULL;
if (head == NULL) {
head = temp;
} else {
p = head;
while (p->next != NULL) {
p = p->next;
}
p->next = temp;
}
printf("添加电脑信息成功!\n");
}
```
4. 实现查找电脑信息的函数。根据销售日期查找电脑信息,并计算销售额:
```
void searchComputerByDay() {
int day, sales = 0;
float revenue = 0.0;
struct Computer *p = head;
printf("请输入要查找的销售日期:");
scanf("%d", &day);
printf("电脑品牌\t销售数量\t价格\t销售日期\n");
while (p != NULL) {
if (p->day == day) {
printf("%s\t\t%d\t\t%.2f\t%d\n", p->num, p->sales, p->price, p->day);
sales += p->sales;
revenue += p->sales * p->price;
}
p = p->next;
}
printf("销售数量:%d,销售额:%.2f\n", sales, revenue);
}
```
5. 实现统计销售量最高的电脑信息的函数。遍历链表,查找销售量最高的电脑信息:
```
void searchComputerBySales() {
int max_sales = 0;
struct Computer *p = head, *q;
while (p != NULL) {
if (p->sales > max_sales) {
max_sales = p->sales;
q = p;
}
p = p->next;
}
printf("销售量最高的电脑品牌:%s,销售数量:%d,价格:%.2f,销售日期:%d\n", q->num, q->sales, q->price, q->day);
}
```
6. 实现显示所有电脑信息的函数。遍历链表,显示所有电脑信息:
```
void displayAll() {
struct Computer *p = head;
if (p == NULL) {
printf("没有电脑信息!\n");
} else {
printf("电脑品牌\t销售数量\t价格\t销售日期\n");
while (p != NULL) {
printf("%s\t\t%d\t\t%.2f\t%d\n", p->num, p->sales, p->price, p->day);
p = p->next;
}
}
}
```
这样,我们就完成了一个包括统计销售量最高的电脑信息和查找某一天销售的所有电脑信息及销售额的电脑销售管理系统。您可以根据实际需要进行修改和完善。
阅读全文