下载此文档

c语言-分而治之-模块化程序设计(3)※.ppt


文档分类:IT计算机 | 页数:约31页 举报非法文档有奖
1/31
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/31 下载此文档
文档列表 文档介绍
高级语言程序设计
第5章 分而治之
—模块化程序设计(3)
复****br/>函数的调用
今天要解决的问题
问题5: 大规模问题求解

//问题6: 简单的计算机绘图
目标
熟悉多文件程序设计的方法(命令行、 makefile、工程)
理解文件模块的意义、变量或函数的文件作用域(static 全局变量,extern外部变量、static函数和外部函数)
知道接口的概念
问题5: 大规模问题求解
很多实际问题的规模都比较大,可能要分解出很多函数模块,
这些模块如果都和main函数放在一个源文件中,不易管理和维护,
常常把它们划分到多个文件中
多文件如何编译、链接?
(1)算术练****软件
设计一个2位整数的算术练****软件。要求首先显示如下的用户界面:
欢迎您参加算术练****请选择:
=======================
1 加法
2 减法
3 乘法
4 除法
0 退出
=======================
根据用户选择的1~4,为用户提供加法、减法、乘法或除法练****服务。每次随机出题,用户回答,如果回答不正确请重做,如果正确,问继续否y/Y or n/N?如果回答y/Y,继续出下一道题,否则重新显示用户界面,等待用户选择。
算法设计(顶层算法/主流程)
1 显示菜单界面
2 用户选择(1-4 或 0)
3 如果选择1 加法练****继续?如果继续到(1)否则 到(9)
4 如果选择2 减法练****继续?如果继续到(1)否则 到(9)
5 如果选择3 减法练****继续?如果继续到(1)否则 到(9)
6 如果选择4 减法练****继续?如果继续到(1)否则 到(9)
7 如果选择0 到(9)
8 如果输入了其它字符无效
9 结束
算法设计(加法练****模块)
1 生成两个2位随机整数
2 列出加法算式
3 用户输入答案
4 如果答案正确 (5)否则输出错误信息返回(2)
5 继续?如果继续返回(1)否则返回到主函数
算法实现(主函数)
int main(void)
{
char a;
start:
srand(time(NULL));
meau();
a=getch();
switch(a)
{
case '1':addtion();break;
case '2':substraction();break;
case '3':multiplication();break;
case '4':division();break;
case '0':exit(0);
default:break;
}
goto start;
return 0;
}
算法实现(加法练****函数)
void addtion(void)
{
int c; char d;

do
{
make2Number();
printf("%d+%d=",x,y);
scanf("%d",&c);
while ( c != x+y ){
printf("wrong! try again please!\n");
printf("%d+%d=",x,y);
scanf("%d",&c);
}
printf("right! continue?\n");
d=getch();
} while(d=='y'||d=='Y');
}

c语言-分而治之-模块化程序设计(3)※ 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数31
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yinjiong623147
  • 文件大小345 KB
  • 时间2021-11-28