急求编写一段简单的C++小程序!!!

编写一个可以完成以下四项功能的小程序:1.每一项功能由一个函数完成;2.程序运行后要在屏幕上显示一个菜单,通过选择菜单执行相应的功能;3.当一项功能执行完毕后,不能退出程... 编写一个可以完成以下四项功能的小程序:
1.每一项功能由一个函数完成;
2.程序运行后要在屏幕上显示一个菜单,通过选择菜单执行相应的功能;
3.当一项功能执行完毕后,不能退出程序,需要返回主菜单,只有选择菜单中的退出才可以退出程序;
输出菜单如下——可以使用子函数,也可以在主函数中实现
请选择:
1.四则运算。
2.判断素数。
3.输入10数,并进行排序,并按从小到大的顺序输出结果。
4.使用“*”符号输入菱形图案。
5.退出。
四项功能的详细——四则运算
•输入一个四则运算表达式,可以输出结果;
•例如输入5+3;
•则会输出结果8;
•然后返回主菜单。

四则运算功能详细---判断素数
•输入一个数判断是否为素数
•例如输入5后,输出是素数
•然后返回主菜单
四项功能详细——输出菱形图案
•选择输出菱形图案的功能菜单后
•输出一个由*号构成的菱形图案(小于或等于9)
•然后返回主菜单。
本人邮箱jyoujia@163.com 愿意帮忙的朋友麻烦把答案发到邮箱吧 多谢啦 (*^__^*)
还有...需要编写的程序要求格式尽量的工整。
展开
 我来答
wubenhua2008
2009-11-11 · TA获得超过934个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:460万
展开全部
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;

#define OK 1
#define ERROR -1
#define LENGTH 10

int menu()
{
int i = 5;
printf("\n 【基本功能:完成以下四项功能的小程序】 \n"
" *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"
" * (1)每一项功能由一个函数完成. |\n"
" | (2)程序运行后要在屏幕上显示一个菜单,通过选择菜单执行相应的功能 *\n"
" * (3)当一项功能执行完毕后,不能退出程序,需要返回主菜单,只有选 |\n"
" | 择菜单中的退出才可以退出程序 *\n"
" * |\n"
" | 【请选择】 *\n"
" * 1.四则运算 2.判断素数 |\n"
" | 3.输入10数,并进行排序,并按从小到大的顺序输出结果 *\n"
" * 4.使用“*”符号输入菱形图案 5.退出。 |\n"
" | *\n"
" *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"
" *****************************************************************\n");

return OK;

}

/*四则运算*/

float add(float x, float y)
{
return x + y;
}

float sub(float x, float y)
{
return x - y;
}

float mul(float x, float y)
{
return x * y;
}

float div(float x, float y)
{
if(0==y)
{
cout<<" 除数为零!\n ";
exit(-1);
}
return x/y;
}

int operation()
{
float x = 0, y = 0, result = 0;
cout<<" 任意输入两个数 x , y :";
cin>>x>>y;

//相加
result = add(x, y);
cout<<" "<<x<<"+"<<y<<"="<<result<<endl;

//相减
result = sub(x,y);
cout<<" "<<x<<"-"<<y<<"="<<result<<endl;

//相乘
result = mul(x,y);
cout<<" "<<x<<"*"<<y<<"="<<result<<endl;

//相除
result = div(x,y);
cout<<" "<<x<<"/"<<y<<"="<<result;

return OK;
}

/*判断素数*/
int isPrime()
{
int n = -1, k = 0;
cout<<" 任意输入一个数字 N : ";
cin>>n;

if(n<1)
{
cout<<" "<<n<<"是非法数据!";
return ERROR;
}
k = (int)sqrt(n);
for(int i = 2; i < k; i++)
{
if(0 == n % i)
{
cout<<" "<<n<<"不是素数";
return ERROR;
}
}
cout<<" "<<n<<"是素数";
return OK;
}

/*排序*/
int Sort(int a[],int length)
{
int isNeedLoop = 1;
while(isNeedLoop)
{
isNeedLoop = 0;//假设已经是排好序的了
for(int iSuffix = 0; iSuffix < length; iSuffix++)
{
if(a[iSuffix] > a[iSuffix+1])
{//有交换,说明数据还没有排好序!!!还需要循环排序,这样做就因为:
//如果数组本来就排好序了,我只要遍历一次就可以了,
isNeedLoop = 1;
int temp = a[iSuffix];
a[iSuffix] = a[iSuffix+1];
a[iSuffix+1] = temp;
}
}
}
return OK;
}

int display(int a[], int length)
{
cout<<" 排序后的数据 :";
for(int i = 0 ;i < length; i++)
{
cout<<a[i]<<ends;
}
return OK;
}

int arraySort()
{
int array[LENGTH]={0};
cout<<" "<<"输入"<<LENGTH<<"个数据 : ";
for(int i = 0; i < LENGTH; i++)
{
cin>>array[i];
}
Sort(array,LENGTH);
display(array,LENGTH);
return OK;
}

/*画菱形*/
int graphics()
{
int i,j,k; //定义for循环中的变量 i,j,k 。num是菱形的个数。
int N; //定义菱形的宽度。

cout<<" 请输入菱形的宽度 N = ";
cin>>N;
while(N%2==0 || N < 0 || N > 9) //判断输入的菱形宽度是否为奇数,若是奇数则正确,若是偶数则错误。
{
cout<<" 输入的数据错误!"<<endl;
cout<<" 请重新输入: ";
cin>>N;
}

char c;
cout<<" 请输入构成菱形的字符(字符必须是单个的): " ;
cin>>c;

for(i=0;i<(N+1)/2;i++) //显示菱形的上半部分
{
cout<<" ";
for(j=0;j<(N+1)/2-i-1;j++) //显示空格
{
cout<<" ";
}
for(j=0;j<2*i+1;j++) //显示构成菱形的字符
{
cout<<c;
}
cout<<endl;
}

for(k=i;k<N;k++) //显示菱形的下半部分
{
cout<<" ";
for(j=0;j<k-i+1;j++) //显示空格
{
cout<<" ";
}
for(j=0;j<2*N-2*k-1;j++) //显示构成菱形的字符

{
cout<<c;
}
cout<<endl;
}
return OK;
}

int choose()
{
char ch;
do{
system("cls");
menu();
cout<<" "<<"按5(e/E)键退出.其他键[1-4]进行入...\n ";
cin>>ch;
ch=toupper(ch);
system("cls");
switch(ch){
case 'E':
case '5':
menu();
cout<<" 退出程序!\n ";
exit(1);
break;
case '1':
menu();
operation();
getch();
break;
case '2':
menu();
isPrime();
getch();
break;
case '3':
menu();
arraySort();
getch();
break;
case '4':
menu();
graphics();
getch();
break;
default:
menu();
system("cls");
menu();
cout<<" 功能键选错误,按任意键继续...";
getch();
break;
}
}while(ch!='E');
return OK;
}

int main()
{
choose();
return OK;
}
来自大崎山鹤发童颜的牛油果
2009-11-10 · TA获得超过159个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:124万
展开全部
你留个邮箱吧,我把程序发给你
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4fee1d0
2009-11-11 · TA获得超过340个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:275万
展开全部
楼上的辛苦了啊!这句话我替楼主说了啊!呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式