栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 模拟简单的地铁售票系统

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 模拟简单的地铁售票系统

要求:输出付钱后各个面额找零张数:

票价自拟

功能要求:用C程序去模拟一个地铁售票系统

 分析:

   1)订售票的规则:

        1~3站    2元 

       4---8站  5元

       8站及以上  7元

 2) 输入站数和购票张数

 3)根据站数及购票张数,计算出应付金额

 4)让用户付钱操作 (付钱>=应付金额)

 5)如果付钱金额大于应付金额,进行找零操作

      73=====50元面额 1张,20元一张 1元面额 3张

代码:

#include

int main()
{
    unsigned int station = 0;//乘坐的站数 
    unsigned int tick = 0;//购入票数 
    unsigned pay_money=0;//支付金额
    unsigned total=0;//应付金额
    unsigned change = 0;//找零金额 
    unsigned money_50 = 0,money_20 = 0,money_10 = 0,money_5 = 0,money_1 = 0;//各面额找零张数 
    
    //输入战术以及购票数
    printf("请输入乘车站数:");
    scanf("%d",&station);
    printf("n请输入购票张数:");
    scanf("%d",&tick);
    
    //定制售票规则
    int tick_price = 0;//单张票价 
    if(station>0&&station<=3)
    {
        tick_price = 2;
    }
    else if(station>3&&station<=8)
    {
        tick_price = 5;
    }
    else if(station>8&&station<=40)
    {
        tick_price = 7;
    }
    else
    {
        printf("输入的站数有误!");
        return 0; 
    }
    //根据售票张数及站数计算应付金额
    total = tick * tick_price;
    
    //提示用户缴费
    printf("缴费:%d元",total);
    scanf("%d",&pay_money);
    //判断支付金额,应付金额
    if(pay_money     {
        printf("支付失败!");
        return 0;
    } 
    else if(pay_money==total)
    {
        printf("支付成功,正在出票!");
        return 0;
    } 
    else
    {
        change = pay_money - total;
        
        money_50 = change/50;
        change = change%50;
        
        money_20 = change/20;    
        change = change%20;
        
        money_10 = change/10;
        change = change%10;
        
        money_5 = change/5;
        change = change%5;
        
        money_1 = change/1;
        
        //打印面额张数
        
        if(money_50 != 0)
        {
            printf("50面额的张数%d:",money_50);
        } 
        if(money_20 != 0)
        {
            printf("20面额的张数%d:",money_20);
        } 
        if(money_10 != 0)
        {
            printf("10面额的张数%d:",money_10);
        } 
        
        if(money_5 != 0)
        {
            printf("5面额的张数%d:",money_5);
        } 
        if(money_1 != 0)
        {
            printf("1面额的张数%d:",money_1);
        } 
        printf("售票完成,即将出票!"); 
    } 
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030242.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号