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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效