清华大学C++课件1.pptVIP

  • 3
  • 0
  • 约3.66千字
  • 约 17页
  • 2017-08-14 发布于河南
  • 举报
库与程序文件 程序文件:源文件(*.cpp)、头文件(*.h)、工程文件 库:源文件与头文件 接 口 通过接口使用库:包括指定库的头文件与源文件 优势:不需了解库的实现细节,只需了解库的使用方法 怎样组织一个较大的程序? 头文件的包含策略 包含头文件的格式 尖括号:在 C 编译器的标准目录下查找该头文件 双引号:首先在当前工程项目所在的目录下查找, 若不存在,则查找标准目录 使用双引号包含自己或他人编写的非 C 标准库 头文件的多次包含 多个文件包含同一个头文件 多次包含同一个头文件可能会导致程序问题 #include iostream #include “zyrandom.h” #include ”zylib.h“ ...... int main() { ...... r=GenerateRandomNumber(1,100); s=GetIntegerFromKeyboard(); ...... return 0; } main.cpp #include zylib.h void Randomize(); int GenerateRandomNumber(int low, int high); double GenerateRandomReal(double low, double high); zyrandom.h #include iostream #include “zylib.h“ void Randomize(); int GenerateRandomNumber(int low, int high); double GenerateRandomReal(double low, double high); #include ”zylib.h“ ...... int main() { ...... r=GenerateRandomNumber(1,100); s=GetIntegerFromKeyboard(); ...... return 0; } main.cpp // zylib.h被多次包含 解决方法 使用条件编译指令 #ifndef(条件判断,若未定义)、#define (定义)与 #endif(结束条件判断) 被包含的头文件 #ifndef __ZYLIB__ #define __ZYLIB__ 头文件的具体内容在此 #endif 源文件或包含文件 #ifndef __ZYLIB__ #include zylib.h #endif 源文件或包含文件的具体内容在此 软件开发流程图 修改 需求分析 方案设计 编码实现 系统测试 反馈 修改 修改 反馈 反馈 软件开发问题 编程实现一个简单的猜价格游戏 假设有某物品,已知其最低价格与最高价格 游戏参与者在给定次数内猜测其价格具体值 若游戏者成功猜出其价格,作为奖励将得到该物品 需求分析 需求A:游戏运行前首先应向游戏参与者介绍游戏功能 需求B:游戏难度问题 需求C:在每个游戏回合结束时允许用户选择是否重新开始新游戏,这里游戏回合是指游戏参与者或者猜中价格或者其猜测机会已用完,如果用户没有选择退出,游戏应无休止地玩下去 需求D:能够记录游戏参与者的游戏信息,目前仅统计用户玩了多少回合以及赢了多少回合 需求E:在用户退出游戏时,给出此次游戏胜率 guess.h #ifndef __EG0507GUESS__ #define __EG0507GUESS__ void PrintWelcomeInfo(); void InitializeGame(); double PlayGame(); void PrintGameOverInfo( double prevailed_ratio ); #endif main.cpp #ifndef __EG0507GUESS__ #include guess.h #endif int main() { double prevailed_ratio; PrintWelcomeInfo(); InitializeGame(); prevailed_ratio = PlayGame(); PrintGameOverInfo( prevailed_ratio ); return 0; } 详细设计 编码实现 …… #ifndef __ZYLIB__ #include zylib.h #endif #ifndef __ZYRANDOM__ #include zyrandom.h #endif #ifndef __EG0507GUESS__

文档评论(0)

1亿VIP精品文档

相关文档