搜索
查看: 492|回复: 1
打印 上一主题 下一主题

[原创] 多功能几何计算

[复制链接]
跳转到指定楼层
楼主
发表于 2016-3-2 21:29:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好久不写纯C代码了。。
第三号功能没有开发
到时候写完了再发上来
[mw_shl_code=c,false]
#include <stdio.h>
#include <math.h>
#define PI ((double)3.1415926535897932)
void author()
{
        printf("作者邀请码 网址http://code.88448.com/\n");
        system("pause");
}
void c2()
{
        system("cls");
        printf("\t请你输入 计算什么\n");
        printf("1.正方形\t2.长方形\t3.三角形\t4.梯形\t5.圆形\n");
        int x;
        scanf("%d",&x);
        while(x<1||x>5)
        {
                fflush(stdin);
                printf("你输入%d是错误请重新输。\n",x);
                scanf("%d",&x);
        }
        int a,b,c,h,r,cc;
        switch(x)
        {
                case 1:
                        printf("输入边长。\n");
                        scanf("%d",&a);
                        printf("C=%d S=%d\n",a*4,a*a);
                        break;
                case 2:
                        printf("输入长、宽,中间隔离一个空格。\n");
                        scanf("%d%d",&a,&b);
                        printf("C=%d S=%d\n",a*2+b*2,a*b);
                        break;
                case 3:
                        printf("\t请你选择 计算方法\n");
                        printf("1.底高计算\t2.海伦公式\n");
                        scanf("%d",&cc);
                        while(cc<1||cc>2)
                        {
                                fflush(stdin);
                                printf("你输入%d是错误请重新输。\n",c);
                                scanf("%d",&c);
                        }
                        switch(cc)
                        {
                                case 1:
                                        printf("输入底和高,中间隔开一个空格。\n");
                                        scanf("%d%d",&a,&h);
                                        printf("S=%d\n",a*h/2);
                                        break;
                                case 2:
                                        printf("输入三边长度,中间隔开一个空格。\n");
                                        scanf("%d%d%d",&a,&b,&c);
                                        int s=(a+b+c)/2;
                                        printf("C=%d S=%lf\n",a+b+c,sqrt((double)s*(s-a)*(s-b)*(s-c)));
                                        break;
                                default:
                                        break;
                        }
                        break;
                case 4:
                        printf("输入上底、下底、高,中间隔开一个空格。\n");
                        scanf("%d%d%d",&a,&b,&h);
                        printf("S=%d\n",(a+b)*h/2);
                        break;
                case 5:
                        printf("输入半径。\n");
                        scanf("%d",&r);
                        printf("C=%lf S=%lf\n",2.0*PI*(double)r,PI*(double)r*(double)r);
                        break;
                default:
                        break;
        }
        system("pause");
}
void c3()
{
        printf("这个区域还没有开发完。。\n");
        system("pause");
}
int main()
{
        while(1)
        {
                system("cls");
                printf("\t几何计算 控制台版\n");
                printf("0.作者\t1.平面\t2.立体\t3.退出\n");
                int c;
                scanf("%d",&c);
                while(c<0||c>3)
                {
                        fflush(stdin);
                        printf("你输入%d是错误请重新输。\n",c);
                        scanf("%d",&c);
                }
                switch(c)
                {
                        case 0:author();break;
                        case 1:c2();break;
                        case 2:c3();break;
                        case 3:return 0;
                }
        }
        return 0;
}
[/mw_shl_code]
沙发
发表于 2016-3-3 20:27:50 | 只看该作者
fflush(stdin);

这不能移植,fflush的本意也不是舍弃流里已有的信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表