C编程打印一个菜单程序,选择求最大公

/********************************************************

题目:编写一个菜单函数:intMune()

使用puts打印菜单上的功能选项,选项如下:

1:求最大公约数.

2:求最小公倍数.

3:退出程序.

当用户选择3的时候退出菜单循环,但用户选择1时候实现求最大公约数的功能,但用户选择2时候实现求最小公倍数的功能,把实现求最大公约数,求最小公倍数的功能函数和菜单函数分别放在不同的源文件中,通过主函数来跨文件访问这些函数.

*********************************************************/

//主函数程序实现如下:

#includeiostream

usingnamespacestd;

intMune();//声明菜单函数

intmain()

{

while(Mune())

{

}

system(pause);

return0;

}

//Mune.cpp菜单源文件

#includeiostream

usingnamespacestd;

intCommon_Divisor(inta,intb);//声明求最大公约数的函数

voidCommon_Multiple(inta,intb);//声明求最小公倍数的函数

intMune()

{

cout请选择菜单如下功能:endl;

puts(1:求最大公约数);

puts(2:求最大公倍数);

puts(0:退出程序);

inti,a,b;//定义变量接受用户的输入

cini;

switch(i)

{

case1:

puts(你选择的是求最大公约数.请输入你要求的两个数:);

cinab;

couta和b的最大公约数是:Common_Divisor(a,b)endl;

break;

case2:

puts(你选择的是求最小公倍数.请输入你要求的两个数:);

cinab;

Common_Multiple(a,b);//调用求最小公倍数函数

break;

case0:

puts(你选择的是退出程序.);

break;

default:

cout你输入的选择错误,请重新输入0-2的数字endl;

}

coutendl;

returni;

}

//Common_Divisor.cpp最大公约数源文件

/************************************************

求最大公约数.

解题思路:先判断a和b哪个比较小,用最小的作为除数,同时让a和b除以它,

如果能同时整除,那么就它就是最大的公约数,如果不能满足条件,哪就不

断递减它,直到找到能满足a和b能同时整除的条件为止。

************************************************/

#includeiostream

usingnamespacestd;

intCommon_Divisor(inta,intb)

{

inttemp=ab?a:b;//把a和b中最小的赋值给temp

while(temp!=1)

{

if(a%temp==0b%temp==0)

{

break;

}

temp--;

}

returntemp;

}

//Common_Divisor.cpp最小公倍数源文件

/************************************************

求最小公倍数.

解题思路:如果是两个数a,b,最大公约数为c,只要将ab两数相乘,再除以

c即可

************************************************/

#includeiostream

usingnamespacestd;

intCommon_Divisor(inta,intb);//声明求最大公约数的函数

voidCommon_Multiple(inta,intb)

{

intMultiple=a*b/Common_Divisor(a,b);

couta和b的最小公倍数是:Multipleendl;

}

运行结果如下:




转载请注明:http://www.aierlanlan.com/tzrz/5606.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了