博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言 - 头文件使用案例
阅读量:5914 次
发布时间:2019-06-19

本文共 2569 字,大约阅读时间需要 8 分钟。

源代码分门别类管理,通过头文件。

放置一些函数声明,变量声明,常量定义,宏定义。

422101-20180116143632943-217232907.png

hotel.h

#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 // 折扣率// 菜单函数:显示菜单选项,接收并返回用户的输入int Menu(void);// 返回用户预订的天数int GetNights(void);// 根据入住的天数显示最终需要支付的金额double ShowPrice(int choice,int nights);#endif // HOTEL_H_INCLUDED

hotel.c

#include 
// 自定义的头文件用双引号#include "hotel.h"char hotelNames[4][50] = { "贝罗酒店","香榭丽舍酒店","阿斯图里亚斯酒店","斯克里布酒店"};int Menu(void) { int choice; // 用户的选择 int i; printf("请选择入住的酒店:\n"); for (i = 0; i< 4;i++) { printf("%d、%s\n",i+1,hotelNames[i]); // 写完就去main中测试一下 } printf("5、退出程序\n"); printf("请输入您的选择:"); int result = scanf("%d",&choice); // 判断是否合法 while ( result !=1 || choice < 1 || choice >5 ) { if (result != 1) { scanf("%*s"); // 消除错误的输入 // fflush(stdin); } printf("必须输入1-5之间的整数:"); result = scanf("%d",&choice); } return choice;}int GetNights(void) { int nights; printf("先生、女士,请输入要入住的天数:"); int result = scanf("%d",&nights); // 判断是否合法 while ( result !=1 || nights < 1) { if (result != 1) { scanf("%*s"); // 消除错误的输入 // fflush(stdin); } printf("必须输入大于1的整数!\n"); printf("先生、女士,请输入要入住的天数:"); result = scanf("%d",&nights); } return nights;}double ShowPrice(int choice,int nights) { double hotelPrice; double totalPrice = 0; if (choice == 1) { hotelPrice = HOTEL1; } if (choice == 2) { hotelPrice = HOTEL2; } if (choice == 3) { hotelPrice = HOTEL3; } if (choice == 4) { hotelPrice = HOTEL4; } int i; for (i = 0 ;i

main.c

#include 
#include
#include "hotel.h" // 最好引入一下头文件extern char hotelNames[4][50]; // 声明为外部变量int main(){ int choice; int nights; double totalPrice; // 用户输入入住的酒店和天数,程序计算出对应的金额 // 1.显示菜单 - 封装成函数 choice = Menu(); if (choice > 0 && choice <5) { printf("当前用户选择的是:%s\n",hotelNames[choice-1]); // 多遇到一些错误,在错误中成长。将顺序思维,改为模块思维。 } if (choice == 5) { printf("欢迎使用本系统,再见。\n"); exit(0); } nights = GetNights(); if (nights > 0) { printf("当前用户选择入住%d天\n",nights); // 多遇到一些错误,在错误中成长。将顺序思维,改为模块思维。 } // 2.计算过程 totalPrice = ShowPrice(choice,nights); printf("您入住的酒店是:%s \t 入住天数: %d \t 总费用: %0.2f \n",hotelNames[choice-1],nights,totalPrice); printf("欢迎使用本系统,再见。\n"); return 0;}

422101-20180116143856099-668380070.png

头文件有约束作用。可以重复使用。

转载地址:http://ylgpx.baihongyu.com/

你可能感兴趣的文章
《Kotlin 程序设计》第十章 Kotlin Native介绍
查看>>
Android--FragmentTabHost+ViewPager+Fragment实现底部tab菜单栏
查看>>
ldap落地实战:gitlab集成openldap认证
查看>>
DIV+CSS IE6/IE7/IE8/FF兼容问题汇总
查看>>
轻松集成?GitCafe 支持 Webhooks 功能了
查看>>
编程语言之父谈语言设计,龟叔大赞 TypeScript
查看>>
C++泛型线性查找算法——find
查看>>
重拾C#教程:高级部分-索引器(Indexer)
查看>>
妈妈们的接种本有用了,输入生产批号就能查到问题疫苗
查看>>
[20180625]简单计算日志生成率.txt
查看>>
金融行业:如何节省10%单个人日,如何提升40%资源同步效率
查看>>
细数Intellij Idea10个蛋疼问题!
查看>>
如何把git仓库(包含所有提交历史)迁移到gitlab
查看>>
史上最漂亮“成绩单”告诉你:阿里巴巴远不止电商这么简单!
查看>>
《AI寒冬将至》作者:人工智能存在十大问题
查看>>
laravel-v5.1分页并带参数
查看>>
精通SpringBoot——第三篇:详解WebMvcConfigurer接口
查看>>
解读阿里云AI产品矩阵:目标是打造最强中国云计算能力
查看>>
赋能B端,AI物联网“涂鸦智能”完成近2亿美元C轮融资
查看>>
YY一下,扎克伯格做了一个什么样的AI家居助手?
查看>>