学以致用——Java源码——销售员业绩统计小程序(Total Sales)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpdlzu80100/article/details/85270255

程序功能:

依次输入销售单数据(销售员编号、销售产品编号、销售金额),程序进行相应的统计。

运行结果示例:

销售额月度汇总小程序:

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):1

请输入产品编号(产品编号范围:1 - 5):1

请输入销售额:200

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

扫描二维码关注公众号,回复: 4713756 查看本文章

请输入销售员编号(销售员编号范围:1 - 4):1

请输入产品编号(产品编号范围:1 - 5):2

请输入销售额:300

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):1

请输入产品编号(产品编号范围:1 - 5):1

请输入销售额:400.19

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):2

请输入产品编号(产品编号范围:1 - 5):1

请输入销售额:18.18

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):2

请输入产品编号(产品编号范围:1 - 5):3

请输入销售额:19.18

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):3

请输入产品编号(产品编号范围:1 - 5):4

请输入销售额:700

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):4

请输入产品编号(产品编号范围:1 - 5):5

请输入销售额:900

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):4

请输入产品编号(产品编号范围:1 - 5):5

请输入销售额:1000

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):0

请输入销售员编号(销售员编号范围:1 - 4):4

请输入产品编号(产品编号范围:1 - 5):3

请输入销售额:1000

该销售单录入成功!

 

请输入0开始输入销售单数据(输入-1退出):-1

已退出程序销售单汇总信息:

产品编号            销售员1             销售员2             销售员3             销售员4             产品合计

产品1               600.19             18.18              0.00               0.00               618.37            

产品2               300.00             0.00               0.00               0.00               300.00            

产品3               0.00               19.18              0.00               1000.00            1019.18           

产品4               0.00               0.00               700.00             0.00               700.00            

产品5               0.00               0.00               0.00               1900.00            1900.00           

销售员合记 900.19             37.36              700.00             2900.00           

代码如下:

import java.util.Scanner;

//JHTP Exercise 7.20: Total Sales
//by [email protected]
/**
 * 7.20 (Total Sales) Use a two-dimensional array to solve the following
 * problem: A company has four salespeople (1 to 4) who sell five different
 * products (1 to 5). Once a day, each salesperson passes in a slip for each
 * type of product sold. Each slip contains the following: 
 * a) The salesperson number 
 * b) The product number 
 * c) The total dollar value of that product sold that day 
 * Thus, each salesperson passes in between 0 and 5 sales slips per
 * day. Assume that the information from all the slips for last month is
 * available. Write an application that will read all this information for last
 * month’s sales and summarize the total sales by salesperson and by product.
 * All totals should be stored in the two-dimensional array sales. After
 * processing all the information for last month, display the results in tabular
 * format, with each column representing a salesperson and each row representing
 * a particular product. Cross-total each row to get the total sales of each
 * product for last month. Cross-total each column to get the total sales by
 * salesperson for last month. Your output should include these cross-totals to
 * the right of the totaled rows and to the bottom of the totaled columns.
 */


public class TotalSales {

	 static final int PRODUCTS = 5; //产品数
	 static final int SALESPEOPLE = 4; //销售员数
	 private static double salesAmountSlip= 0.0;  //单张销售单金额
	 private static int salesPersonNum= 1;  //销售员编号
	 private static int productNum= 1;  //销售员编号
	 private static double[][] salesAmount=  new double[PRODUCTS][SALESPEOPLE];  //汇总销售额(按产品和销售员分类)
	 private static Scanner input=new Scanner(System.in);
	 private static int exitFlag = 0;
	 private static double[] salesAmountByProduct = new double [PRODUCTS]; //汇总销售额(按产品分类)
	 private static double[] salesAmountBySalesPerson = new double [SALESPEOPLE]; //汇总销售额(按销售员分类)


public static void main(String[] args)
{

   System.out.println("销售额月度汇总小程序:");

		
		do{
			System.out.printf("%n请输入0开始输入销售单数据(输入-1退出):");
			exitFlag =input.nextInt();
			if(exitFlag ==-1){
				System.out.printf("已退出程序");
				break;
			}
			
			if (exitFlag == 0)
			inputSlip();			
			} while (exitFlag != -1);
		
		input.close(); //结束销售单录入
		
		//汇总销售额(按产品分类)
		for (int i=0; i<PRODUCTS;i++) {
			for (int j=0; j<SALESPEOPLE; j++)
			salesAmountByProduct[i] += salesAmount[i][j];
		}
		
		//汇总销售额(按销售员分类)
		for (int i=0; i<SALESPEOPLE;i++) {
			for (int j=0; j<PRODUCTS; j++)
			salesAmountBySalesPerson[i] += salesAmount[j][i];
		}
		
		System.out.println("销售单汇总信息:");
		System.out.printf("产品编号\t\t");
		for (int i=0; i<SALESPEOPLE; i++)
			System.out.printf("销售员%d\t\t",i+1);
		System.out.printf("产品合计%n");
		
		for (int i=0; i<PRODUCTS;i++) {
			System.out.printf("产品%d\t\t", i+1);
			for (int j=0; j<SALESPEOPLE;j++)
				System.out.printf("%.2f\t\t", salesAmount[i][j]);
			System.out.printf("%.2f\t\t%n", salesAmountByProduct[i]);
		}
			
		System.out.printf("销售员合记\t");
		for (int i=0; i<SALESPEOPLE;i++) {
			System.out.printf("%.2f\t\t", salesAmountBySalesPerson[i]);
		}
}
  
public static void inputSlip() {
	//输入销售员编号
	System.out.printf("请输入销售员编号(销售员编号范围:1 - %d):", SALESPEOPLE);
	salesPersonNum =input.nextInt();
	while(salesPersonNum <1 || salesPersonNum > SALESPEOPLE) {
		System.out.printf("请输入销售员编号(销售员编号范围:1 - %d):", SALESPEOPLE);
	salesPersonNum =input.nextInt();
	}
	
	//输入产品编号
	System.out.printf("请输入产品编号(产品编号范围:1 - %d):", PRODUCTS);
	productNum =input.nextInt();
	while(productNum <1 || productNum > PRODUCTS) {
		System.out.printf("请输入有效的产品编号(产品编号范围:1 - %d):", PRODUCTS);
		productNum =input.nextInt();
	}
	
	//输入销售额
	System.out.printf("请输入销售额:");
	salesAmountSlip =input.nextDouble();
	while(salesAmountSlip <0.0) {
		System.out.printf("请输入有效的金额:");
		salesAmountSlip =input.nextInt();
	}
	
	System.out.println("该销售单录入成功!");
	salesAmount[productNum-1][salesPersonNum-1]+=salesAmountSlip;
	

}

猜你喜欢

转载自blog.csdn.net/hpdlzu80100/article/details/85270255
今日推荐