PANGZI210830 2021-11-12 01:39 采纳率: 100%
浏览 194
已结题

用c语言编写程序计算图形面积

编写一个程序,用于计算圆形、矩形等几何形状的面积,运行时提示用户输入几何形状的参数计算得出面积后显示在界面上。具体要求为:1)在程序运行过程中,允许用户选择要计算的几何形状的类型(圆形、矩形等),并且在一次计算完成后,还可以再次(不限次数)选择其他类型图形,重新输入参数,再次计算,直到用户输入退出程序的指令才结束程序运行。2)对于用户选择和参数输入要有良好的用户界面,给予清晰的提示,对用户输入数据进行合法性检验,要对非法数据进行处理,避免系统报错

  • 写回答

3条回答 默认 最新

  • PANGZI210830 2021-11-16 22:26
    关注
    
    #include<iostream>
    #include<stdlib.h>
    using namespace std;
    const double pi=3.1416;
    int main()
    {
        while(1){
    cout<<"1计算圆面积"<<endl <<"2计算矩形面积"<<endl<<"3计算正方形面积"<<endl<<"4退出"<<endl;
    cout<<"请选择相应程序代码:";
     int x;
     double a,b,r;
     double area;
     cin>>x;
     switch(x)
     {
     case 1:
            cout<<"半径:";
            cin>>r;
            if(!cin.good()||r<0)
                {
                cin.clear();
                cin.ignore(1024,'\n');
                cout<<"输入有误,请重新输入!"<<endl;
                system("pause");
                system("cls");
                }
            else
                {
                area=pi*r*r;
                cout<<"面积为"<<area<<endl;
                system("pause");
                system("cls");
                }
            break;
    case 2:
            cout<<"长和宽(用空格隔开):";
            cin>>a>>b;
            if(!cin.good()||a<0||b<0)
                {
                cin.clear();
                cin.ignore(1024,'\n');
                cout<<"输入有误,请重新输入!"<<endl;
                system("pause");
                system("cls");
                }
            else
                {
                area=a*b;
                cout<<"面积为"<<area<<endl;
                system("pause");
                system("cls");
                }
            break;
    case 3:
            cout<<"边长为:";
            cin>>a;
            if(!cin.good()||a<0)
                {
                cin.clear();
                cin.ignore(1024,'\n');
                cout<<"输入有误,请重新输入!"<<endl;
                system("pause");
                system("cls");
                }
            else
                {
                area=a*a;
                cout<<"面积为 "<<area<<endl;
                system("pause");
                system("cls");
                }
            break;
    case 4:
            return 0;
    default:
            system("cls");
            cout<<"输入有误,请重新输入!"<<endl;
            cin.clear();
            cin.ignore(1024,'\n');
            cout<<"任意键请按回车键!"<<endl;
            system("pause");
    }}
    return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛