產品銷售記錄,陣列,陣列,陣列,急急急,求大佬幫忙,拜托啊
uj5u.com熱心網友回復:
你的代碼呢?只看到編譯error,沒看到代碼呢,這怎么幫?你的意思按照你的要求寫一個?!uj5u.com熱心網友回復:
供參考://產品銷售記錄包括 產品代碼 名稱 單價 數量 金額 等資訊
//1)撰寫input函式 輸入10個產品銷售記錄的如上資訊
//2)撰寫sum函式 計算金額 = 單價 * 數量
//3)撰寫sort函式 按金額從大到小排序
#include<stdio.h>
#define PRODUCTS 10 //按題目要求10個產品
void input();
float sum(float a,int n);
void sort();
typedef struct{ //自定義結構體型別
int code;
char name[21];
float price;
int quantity;
}PRODUCT;
PRODUCT products[PRODUCTS];//定義10個產品記錄的陣列
void main()
{
input(); //輸入
sort(); //排序,從大到小
for(int i = 0; i < PRODUCTS; i++){ //列印輸出
printf("code = %d | quantity = %d | price = %.2f | name = %s | sum = %.2f\n",
products[i].code,products[i].quantity,products[i].price,products[i].name,
sum(products[i].price,products[i].quantity));
}
}
void input(){
printf("Enter example:code,quantity,price,name(30)\n");
for(int i = 0; i < PRODUCTS; i++){
scanf("%d %d %f %s", &products[i].code,&products[i].quantity,
&products[i].price,products[i].name);
}
}
float sum(float a,int n)
{
return a * n;
}
void sort(){
PRODUCT temp;
for (int i = 0; i <PRODUCTS -1 ;i++){
for (int k = 0; k < PRODUCTS - 1 -i ;k++){
if((products[k].price * products[k].quantity)<
(products[k+1].price * products[k+1].quantity))
{
temp = products[k];
products[k] = products[k+1];
products[k+1] = temp;
}
}
}
}
//Enter example:code,quantity,price,name(30)
//11 20 2.00 aa
//22 30 1.00 bb
//33 10 3.00 cc
//code = 11 | quantity = 20 | price = 2.00 | name = aa | sum = 40.00
//code = 22 | quantity = 30 | price = 1.00 | name = bb | sum = 30.00
//code = 33 | quantity = 10 | price = 3.00 | name = cc | sum = 30.00
//請按任意鍵繼續. . .
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/268930.html
標籤:C語言
下一篇:fio原始碼
