C语言使用头文件实例 C语言使用头文件实例 C语言地址运算符 C语言使用头文件实例 头文件 /* hotel.h -- constants and declarations for 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 "**********************************" // shows list of choices int menu(void); // returns number of nights desired int getnights(void); // calculates price from rate, nights // and displays result void showprice(double rate, int nights); 主程序 /* hotel.c -- hotel management functions */ #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 (status != 1) scanf("%*s"); // dispose of non-integer input printf("Enter an integer from 1 to 5, please.\n"); } return code; } int getnights(void) { int nights; printf("How many nights are needed? "); while (scanf("%d", &nights) != 1) { scanf("%*s"); // dispose of non-integer input printf("Please enter an integer, such as 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("The total cost will be $%0.2f.\n", total); } C语言使用头文件实例 C语言地址运算符