求复印店复印费计算程序C➕➕!!大学生哭了

img


就是编辑计算程序。低于20就正常价,但是超过20张那部分就越便宜。分别是A4和A3

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/971538
  • 这篇博客也不错, 你可以看下习题4-4 特殊a串数列求和 (20分)
  • 以下回答由chatgpt基于相关博客总结生成:

    可以实现一个简单的复印费计算程序,具体实现如下:

    #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;
}