当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第9章 模块化开发

资源类别:文库,文档格式:PPT,文档页数:55,文件大小:425.5KB,团购合买
❖ 自顶向下的分解 ❖ 模块划分 ❖ 库的设计与实现 ❖ 库的应用
点击下载完整版文档(PPT)

《程序设计》 cs.stu20119 第9章模块化开发 令自顶向下的分解 冷模块划分 库的设计与实现 冷库的应用 程序设计-1

《程序设计》 cs.sjtu 2011.9 程序设计 - 1 第9章 模块化开发 ❖ 自顶向下的分解 ❖ 模块划分 ❖ 库的设计与实现 ❖ 库的应用

《程序设计》 cs.stu20119 猜硬币的游戏 功能: >提供游戏指南; >计算机随机产生正反面,让用户猜,报告 对错结果。 冷重复此过程,直到用户不想玩了为止。 程序设计-2

《程序设计》 cs.sjtu 2011.9 程序设计 - 2 猜硬币的游戏 ❖ 功能: ➢ 提供游戏指南; ➢ 计算机随机产生正反面,让用户猜,报告 对错结果。 ❖ 重复此过程,直到用户不想玩了为止

《程序设计》 cs.stu20119 顶层分解 程序要做两件事:显示程序指南;模拟 玩游戏的过程。 main 主程序的两个步骤是相互独 立的两个,没有什么联系, 显示游戏介绍; 因此可设计成两个函数 玩游戏 void prn instruction( void play( 程序设计

《程序设计》 cs.sjtu 2011.9 程序设计 - 3 顶层分解 ❖ 程序要做两件事:显示程序指南;模拟 玩游戏的过程。 main( ) { 显示游戏介绍; 玩游戏; } 主程序的两个步骤是相互独 立的两个,没有什么联系, 因此可设计成两个函数: void prn_instruction() void play()

《程序设计》 cs.stu20119 int maino prn instruction p⊥ay return 0 程序设计-4

《程序设计》 cs.sjtu 2011.9 程序设计 - 4 int main() { prn_instruction(); play(); return 0; }

《程序设计》 cs.stu20119 prn instruction的实现 冷 prn instruction函数的实现非常简单 只要一系列的输出语句把程序指南显示 下就可以了 void prn instruction cout<<"这是一个猜硬币正反面的游戏mn"; cout<"我会扔一个硬币,你来猜m"; cout<<"如果猜对了,你赢,否则我赢。Ⅷn"; 程序设计-5

《程序设计》 cs.sjtu 2011.9 程序设计 - 5 prn_instruction的实现 ❖ prn_instruction函数的实现非常简单, 只要一系列的输出语句把程序指南显示 一下就可以了 void prn_instruction() { cout << "这是一个猜硬币正反面的游戏.\n"; cout << "我会扔一个硬币,你来猜.\n"; cout << "如果猜对了,你赢,否则我赢。\n"; }

《程序设计》 cs.stu20119 play函数的实现 冷Play函数随机产生正反面,让用户猜 报告对错结果,然后询问是否要继续玩 void playo f char flag=y whle(g=“Y‖nag=y) {coin=生成正反面; 输入用户的猜测; if(用户猜测=coin)报告本次猜测结果正确; else报告本次猜测结果错误; 程序设计-6

《程序设计》 cs.sjtu 2011.9 程序设计 - 6 play函数的实现 ❖ Play函数随机产生正反面,让用户猜, 报告对错结果,然后询问是否要继续玩 void play() { char flag = ‘y’; while (flag == ‘Y’|| flag == ‘y’) { coin = 生成正反面; 输入用户的猜测; if (用户猜测== coin) 报告本次猜测结果正确; else 报告本次猜测结果错误; } }

《程序设计》 cs.stu20119 play函数的细化 冷生成正反面:如果用0表示正面,1表示反面 那么生成正反面就是随机生成0和两个数 令输入用户的猜测。如果不考虑程序的鲁棒性 这个问题也可以直接用一个输入语句即可。但 想让程序做得好一点,就必须考虑得全面一些 比如,用户可以不守规则,既不输入0也不输入 1,而是输入一个其他值,程序该怎么办?因此 这个任务还可以进一步细化,所以再把它抽象 成一个函数 iget call from user 程序设计-7

《程序设计》 cs.sjtu 2011.9 程序设计 - 7 play函数的细化 ❖ 生成正反面:如果用0表示正面,1表示反面, 那么生成正反面就是随机生成0和1两个数 ❖ 输入用户的猜测。如果不考虑程序的鲁棒性, 这个问题也可以直接用一个输入语句即可。但 想让程序做得好一点,就必须考虑得全面一些。 比如,用户可以不守规则,既不输入0也不输入 1,而是输入一个其他值,程序该怎么办?因此 这个任务还可以进一步细化,所以再把它抽象 成一个函数get_call_from_user

《程序设计》 cs.stu20119 void playo i int coin char flag="Y’; srand(time(NULL);∥设置随机数种子 while(flag ==Y flag==y,) coin= rando*2/ RAND MAX;/生成扔硬币的结果 if( get call from user=coin)cout flaga 程序设计8

《程序设计》 cs.sjtu 2011.9 程序设计 - 8 void play() { int coin ; char flag = 'Y'; srand(time(NULL)); //设置随机数种子 while (flag == 'Y' || flag =='y') { coin = rand() * 2 / RAND_MAX;//生成扔硬币的结果 if (get_call_from_user() == coin) cout > flag; } }

《程序设计》 cs.stu20119 get call from user的实现 冷该函数接收用户输入的一个整型数。如 果输入的数不是0或1,则重新输入,否 则返回输入的值 int get call from user fint guess: //0=head, 1= tail do{cout guess 3 while(guess =0 & guess! =1); return guess; -9

《程序设计》 cs.sjtu 2011.9 程序设计 - 9 get_call_from_user的实现 ❖ 该函数接收用户输入的一个整型数。如 果输入的数不是0或1,则重新输入,否 则返回输入的值 int get_call_from_user() {int guess; // 0 = head, 1 = tail do { cout > guess; } while (guess !=0 && guess !=1) ; return guess; }

运行实例 《程序设计》 cs.stu20119 这是一个猜硬币正反面的游戏 我会扔一个硬币,你来猜 如果猜对了,你赢,否则我赢。 输入你的选择(0表示正面,1表示反面):1 我赢了 继续玩吗(Y或y)?y 输入你的选择(0表示正面,1表示反面):6 输入你的选择(0表示正面,1表示反面):1 你赢了 继续玩吗(Y或y)?n Press any key to continue 程序设计-10

《程序设计》 cs.sjtu 2011.9 程序设计 - 10 这是一个猜硬币正反面的游戏. 我会扔一个硬币,你来猜. 如果猜对了,你赢,否则我赢。 输入你的选择(0表示正面,1表示反面):1 我赢了 继续玩吗(Y或y)?y 输入你的选择(0表示正面,1表示反面):6 输入你的选择(0表示正面,1表示反面):1 你赢了 继续玩吗(Y或y)?n Press any key to continue 运行实例

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共55页,可试读19页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有