可以实现一个简单的复印费计算程序,具体实现如下:
#include <iostream>
using namespace std;
double price(int pages, char size)
{
double cost=0.0;
if(size == 'A4')
{
if(pages<=20)
{
cost=pages*0.5;
}
else
{
cost=20*0.5 + (pages-20)*0.3;
}
}
else if(size == 'A3')
{
if(pages<=20)
{
cost=pages*0.8;
}
else
{
cost=20*0.8 + (pages-20)*0.5;
}
}
return cost;
}
int main()
{
int pages = 0;
char size = '\0';
cout << "请输入需要打印的页数和纸张大小(A4或A3),用空格分开:" << endl;
cin >> pages >> size;
double cost = price(pages, size);
cout << "总共需要付费" << cost << "元" << endl;
return 0;
}
该程序中定义了一个 price
函数,用来计算打印费用。输入的参数为打印页数和纸张大小,输出的是所需的费用。其中,当页数小于等于20时,按照正常价计算,否则按照一定的比例进行折扣。程序中还有一个 main
函数,用于从控制台输入数据。
#include <stdio.h>
int main() {
int n, i;
float payment = 0.0, price = 0.0;
while (1) {
printf("========================================\n");
printf("1: 复印A4\n2: 复印A3\n0: 退出\n请输入您的选择: ");
scanf("%d", &i);
if (i == 0) {
break;
}
if (i != 1 && i != 2) {
continue;
}
printf("请输入复印张数:");
scanf("%d", &n);
if (n > 100) {
price = (i == 1) ? 0.2 : 0.5;
payment += (n -100) * price;
n = 100;
}
if (n > 50) {
price = (i == 1) ? 0.3 : 0.6;
payment += (n - 50) * price;
n = 50;
}
if (n > 20) {
price = (i == 1) ? 0.4 : 0.7;
payment += (n - 20) * price;
n = 20;
}
price = (i == 1) ? 0.5 : 0.8;
payment += n * price;
printf("复印费: %.2f\n\n", payment);
}
return 0;
}