第 9 章 函数

Posted web1013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第 9 章 函数相关的知识,希望对你有一定的参考价值。

/*--------------------------
    hotel.c -- 酒店管理函数
--------------------------*/

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

int menu(void)
{
    int code, status;

    printf("\n%s%s\n", STARS, STARS);
    printf("Enter the number of the desired hotel:\n");
    printf("1) Fairfield Arms       2) Hotel Olympic\n");
    printf("3) Chertworthy Plaza    4) The Stockton\n");
    printf("5) quit\n");
    printf("%s%s\n", STARS, STARS);

    while ((status = scanf("%d", &code)) != 1 || code < 1 || code > 5)
    {
        if (1 != status) scanf("%*s");
        printf("Enter an integer from 1 to 5, please.\n");
    }

    return code;
}

int getnights(void)
{
    int nights;

    printf("How many nights are needed? ");
    while (1 != scanf("%d", &nights))
    {
        scanf("%*s");
        printf("Please enter an integer, such as 2.\n");
    }

    return nights;
}

void showprice(double rate, int nights)
{
    double total = 0.0;
    double factor = 1.0;

    for (int n(1); n <= nights; ++n, factor *= DISCOUNT)
        total += rate * factor;
    printf("The total cost will be $%0.2f.\n", total);
}
/*---------------------------------------------
    hotel.h -- 符号常量和 hotel.c 中所有函数原型
---------------------------------------------*/

#define QUIT 5
#define HOTEL1 180.00
#define HOTEL2 225.00
#define HOTEL3 255.00
#define HOTEL4 355.00
#define DISCOUNT 0.95
#define STARS "*************************"

//显示选择列表
int menu(void);

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

//根据费率、入住天数计算费用;并显示结果
void showprice(double rate, int nights);
/*-----------------------------
    usehotel.c -- 房间费率程序
-----------------------------*/

#include <stdio.h>
#include "hotel.h"    //声明函数,定义符号常量

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

    while (QUIT != (code = menu()))
    {
        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("Thank you and goodbye.\n");
    return 0;
}

 

以上是关于第 9 章 函数的主要内容,如果未能解决你的问题,请参考以下文章

第 9 章 事件对象

《JQuery实战》第4-9章

第9章 文件IO操作正则表达式与多线程《Kotlin 项目实战教程》

第9章 优化方法和归一化

Scala大数据深度好课Scala大数据操作实战

翻译连载 | 第 9 章:递归(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇