C语言小练习-酒店预订

/*设计一个酒店预订系统能实现如下功能:
1.显示有酒店信息2.询问顾客需要订几天3.告知顾客一共的费用

*/

要求:1.使用函数来编写 2.将最基本的参数定义成头文件

整个过程分为三个部分,首先是自己编辑的头文件

#ifndef HOTEL_H_INCLUDED
#define HOTEL_H_INCLUDED
#define Hotel1 872.0 //各个酒店一晚的费用
#define Hotel2 1838.0
#define Hotel3 789.0
#define Hotel4 1658.0
#define Discount 0.95 //折扣

#endif // HOTEL_H_INCLUDED
int Menu(void); //定义菜单函数
int Days(void); //询问预订的天数
void TotalPrices(double price,int day);//总的花费的金额

这里主要要注意的就是在函数申明里需要注意该怎么申明?

然后是函数.c的部分:

#include <stdio.h>
#include <stdlib.h>
#include "Hotel.h" //特别注意,要使自己编辑的头文件有效,这个语句必不可少。

Menu()
{
    //int choice;
    printf("*********************************\n");
    printf("请选择你需要入住的酒店\n");
    printf("1.Belloy Saint-Germain Paris $872\n");
    printf("2.Hotel champs Elysees Plaza Paris $1838\n");
    printf("3.Hotel Astra Opera-Astotel Paris $789\n");
    printf("4.Hotel Scribe Paris by SOFITEL $1658\n");
    printf("5.退出系统\n");
    printf("*********************************\n");

    //scanf("%d",&choice);
    //Judgment(choice);
    //return choice;
    //这里需要一个判定函数,当输入的不是数字或者不在1到5之间,重新输入


}

Days()
{
    int day;
    printf("请输入您要住几天\n");//添加一个判定的过程
    while(scanf("%d",&day) != 1)    //这是一个判定过程,非常重要,因为如果输入的是整形也就是整数时,scanf()的值是1,否则则为0
    {
        scanf("%*s");
        printf("输入必须为整数,请重新输入\n");
        printf("请输入您要住几天\n");

    }

    return day;

}
TotalPrices(double price,int day)
{
    int i;
    double TotalP=0;
    for(i=0; i<day; i++)
    {
        TotalP += price;
        price *= Discount;
    }
    printf("总共住了%d天,共需要花费%.2lf",day,TotalP);
}



主代码:
#include <stdio.h>
#include <stdlib.h>
#include "Hotel.h"
/*设计一个酒店预订系统能实现如下功能:
1.显示有酒店信息2.询问顾客需要订几天3.告知顾客一共的费用
*/
int main()
{
    int day,price;
    int choice;
    int result;
    Menu();
    while((result = scanf("%d",&choice)) != 1 ||choice < 1 ||choice > 5)
        //出错了,用户输入的有误
    {
        if(result != 1)
        {
           scanf("%*s"); //用来处理非整数输入,不然的话输入缓存会出现问题
        }
        printf("输入有误,请重新输入\n");
        scanf("%d",&choice);
    }
    switch(choice)
    {
    case 1:
        price =Hotel1;
        break;
    case 2:
        price =Hotel2;
        break;
    case 3:
        price =Hotel3;
        break;
    case 4:
        price =Hotel4;
        break;
    case 5:
        exit(0);
    }
    day = Days();
    TotalPrices(price,day);


}

猜你喜欢

转载自blog.csdn.net/weixin_41938314/article/details/80391546