旅馆房间收费程序

已在CodeBlocks 17.12上测试

hotel.h

#ifndef HOTEL_H_INCLUDED
#define HOTEL_H_INCLUDED

#define QUIT  5
#define HOTEL1 80.00
#define HOTEL2 125.00
#define HOTEL3 155.00
#define HOTEL4 200.00
#define DISCOUNT 0.95
#define STARS "*******************************"

//给出选项列表
int menu(void);

//返回预定的天数
int getnights(void);

//按饭店的星级和预定的天数计算价格并显示出来
void showprice(double, int);

#endif // HOTEL_H_INCLUDED

hotel.c

#include <stdio.h>
#include "hotel.h"

int menu(void)
{
    int code, status;

    printf("\n%s%s\n", STARS, STARS);
    printf("请输入你所需要的旅馆编号:\n");
    printf("1) 光明旅社 2) 奥林匹克旅馆\n");
    printf("3) 快乐大本营酒店 4) 天天向上酒店\n");
    printf("5) 退出系统\n");
    printf("%s%s\n", STARS, STARS);
    while((status = scanf("%d", &code)) != 1 || (code < 1 || code > 5))
    {
        if(status != 1)
            scanf("%*s");
        printf("请输入1到5之间的编号\n");
    }
    return code;
}

int getnights(void)
{
    int nights;

    printf("请问你需要住多少晚?\n");
    while(scanf("%d", &nights) != 1)
    {
        scanf("%*s");
        printf("请输入一个正确的数字,例如数字:2.\n");
    }
    return nights;
}

void showprice(double rate, int nights)
{
    int n;
    double total = 0.0;
    double factor = 1.0;
    for(n = 1; n <= nights; n++, factor *= DISCOUNT)
        total += rate * factor;
    printf("此次入住将要花费 %0.2f元。\n", total);
}

usehotel.c

#include <stdio.h>
#include "hotel.h"

int main(void)
{
    int nights;
    double hotel_rate;
    int code;

    while((code = menu())!= QUIT)
    {
        switch(code)
        {
            case 1: hotel_rate = HOTEL1;
                break;
            case 2: hotel_rate = HOTEL2;
                break;
            case 3: hotel_rate = HOTEL3;
                break;
            case 4: hotel_rate = HOTEL4;
                break;
            default:hotel_rate = 0.0;
                printf("Oops!\n");
                break;
        }
        nights = getnights();
        showprice(hotel_rate, nights);
    }
    printf("谢谢光临,再见。\n ");
    system("pause");
    return 0;
}

原文地址:https://www.cnblogs.com/zonkidd/p/12249524.html

时间: 2024-10-07 15:17:15

旅馆房间收费程序的相关文章

全能直播软件开发专家:直播APP婚恋交友+短视频广告+一对一交友私密房间收费

直播市场不断的进化到现在.app手机直播.直播+短视频.一对一交友.短视频程序源码.区块链.微信小程序都在不断的占据市场和进行融资上市.如果想入住直播平台市场一定要快速的上线运营,这个时候就要找专业做直播的合作商.程序代码扎实稳定.技术一对一对接.售后无忧:最好是实地公司当面考察. 直选择直播软件千万别为省钱冲昏了头脑,对于一些刚刚需要建平台的客户来说,怎样节省预算是一个非常重要的问题. 但往往正因为如此,才会吃亏 上当,因为再便宜直播软件买了不能用,用了不能保证平台的正常运行,损失的时间成本会

类似快手、抖音手机直播程序搭建经验分享

类似快手.抖音手机直播程序搭建经验分享-呆萌手机直播程序搭建系统管理后台视频上步骤直播行业近年来的发展是有目共睹的,如今通过手机直播源码可以快速搭建部署一套功能丰富的直播系统.很多直播平台运营商在自己的直播系统上线运营之前都会先进行下系统的测试,有时会面临手头的主播资源不足的尴尬境地.此时,可以通过在直播系统管理后台上传其他直播平台的直播录制视频的方式来进行测试.那么具体的操作方式是怎样的呢?本篇就为大家详细分享视频上传经验.一.呆萌手机直播程序搭建视频录制1.????推荐使用UC浏览器,电脑安

趣闻:我的程序员未婚夫

1,住酒店,进房间第一件事,把我按门口——别想太美:他会要求我看清门后逃生示意图,并口述一遍如何快速找到楼梯. 2,去影院看电影,选座位的核心标准是:离逃生出口近——所以我们总会坐在过道旁. 3,“出哪个地铁口?”“西北.”对他来讲ABCD可以不存在,因为记方向更好判断出去之后该往哪边走. 4,并强迫我学会辨识东西南北. 5,不过呢,在任何陌生的城市和地方,跟着他走,从来没走过一点冤枉错路. 6,搬家后第一次回家,大门钥匙孔不好把控,我用了二十几秒插不进去,想让他帮忙.他会板着脸说:你自己弄,摸

黑马程序员------C 语言学习笔记---程序基本结构

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 第二  程序基本结构 一 分支结构 01 单分支结构 格式: if(表达式) { 语句: } 其中,“表达式”为判断条件,只要表达式的值不为0,就认为条件成立. 02 双分支结构 格式: if(表达式) 语句1: else 语句

&lt;老友记&gt;学习笔记

这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的情路坎坷,事业成败和生活中的喜怒哀乐,无时无刻不牵动着彼此的心,而正是正平凡的点点滴滴,却成为最令人感动与留恋的东西. 人物:1.瑞秋•格林(RACHEL GREENE)由珍妮佛•安妮斯顿(Jennifer Aniston)扮演 瑞秋是莫妮卡的高中同学,在与牙医未婚夫的婚礼上脱逃至莫妮卡处. 2.罗

树莓派:L2TP/IPsec VPN 服务器一键安装脚本

经试验,在树莓派上一次成功,很好用,谢谢原作者!!!此文转自:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md IPsec VPN 服务器一键安装脚本 使用 Linux Shell 脚本一键快速搭建 IPsec VPN 服务器.支持 IPsec/L2TP 和 Cisco IPsec 协议,可用于 Ubuntu,Debian 和 CentOS 系统.你只需提供自己的 VPN 登录凭证,然后运行脚本自动完成安装. I

[JAVA_开课吧资源]第五周 I/O操作、多线程、网络编程技术

主题一 I/O操作 » 流的概念 在面向对象语言中, 数据的输入和输出都是通过数据流来实现的.数据流是一组有顺序.有起点和终点的字符集合.就好比是两个不同的池子,一个池子中存满了水,而另一个池子中则没有任何的东西,在这两个水池中安放一个管子,水就可以从一个池子流向另一个池子了.在从一个池子向另一个池子输送水的过程中,水扮演的角色就是数据流. [请点击查看更多内容 转自文章] » Stream stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有

杂项:E-Learning

ylbtech-杂项:E-Learning 1.返回顶部 1. E-Learning:英文全称为(Electronic Learning),中文译作"数字(化)学习"."电子(化)学习"."网络(化)学习"等.不同的译法代表了不同的观点:一是强调基于因特网的学习:二是强调电子化:三是强调在E-Learning中要把数字化内容与网络资源结合起来.三者强调的都是数字技术,强调用技术来对教育的实施过程发挥引导作用和进行改造.网络学习环境含有大量数据.档

单片机reg51.h头文件详解(1)

51单片机头文件reg51.h详解 我们在用c语言编程时往往第一行就是头文件,51单片机为reg51.h或reg52.h,51单片机相对来说比较简单,头文件里面内容不多,像飞思卡尔.ARM系列的单片机头文件往往内容就非常多,尽管如此,对一些初次接触单片机的朋友来说,51的头文件还是搞不太清楚,今天具体来说明一下.       1)"文件包含"处理概念 所谓"文件包含"是指在一个文件内将另外一个文件的内容全部包含进来.因为被包含的文件中的一些定义和命令使用的频率很高,