几何原本查询程序2.5

此版本修改了2.0版本的bug

//
//  main.cpp
//  几何原本配套程序
//
//  Created by zhangdenny on 16/3/14.
//  Copyright (c) 2016年 Kirito. All rights reserved.
//

#include  <functional>
#include  <algorithm>
#include  <exception>
#include  <stdexcept>
#include  <streambuf>
#include  <iterator>
#include  <string.h>
#include  <stdlib.h>
#include  <typeinfo>
#include  <valarray>
#include  <iostream>
#include  <sstream>
#include  <istream>
#include  <stdio.h>
#include  <climits>
#include  <clocale>
#include  <complex>
#include  <csetjmp>
#include  <csignal>
#include  <cstdarg>
#include  <cstddef>
#include  <ctype.h>
#include  <cassert>
#include  <cstdlib>
#include  <utility>
#include  <cstring>
#include  <numeric>
#include  <ostream>
#include  <cwctype>
#include  <fstream>
#include  <iomanip>
#include  <math.h>
#include  <bitset>
#include  <cctype>
#include  <string>
#include  <vector>
#include  <limits>
#include  <locale>
#include  <memory>
#include  <cerrno>
#include  <iosfwd>
#include  <cfloat>
#include  <cstdio>
#include  <cwchar>
#include  <cmath>
#include  <ctime>
#include  <deque>
#include  <queue>
#include  <stack>
#include  <list>
#include  <ios>
#include  <map>
#include  <set>
#include  <new>
using namespace std;
string dingli[100],dingyi[100],gongshe[100];
int main()
{
    dingyi[1]="点是没有部分的。";
    dingyi[2]="线只有长度而没有宽度。";
    dingyi[3]="一线的两段是点。";
    dingyi[4]="直线是它上面的点一样地平放着的线。";
    dingyi[5]="面只有长度和宽度。";
    dingyi[6]="面的边缘是线";
    dingyi[7]="平面是它上面的线一样地平放着的面。";
    dingyi[8]="平面角是在一平面内但不在一条直线上的两条相交线相互的倾斜度。";
    dingyi[9]="当包含角的两条线都是直线时,这个角叫做直线角。";
    dingyi[10]="当一条直线和另一条直线交成邻角彼此相等时,这些角每一个被叫做直角,而且称这一条直线垂直于另一条直线。";
    dingyi[11]="大于直角的角称为钝角。";
    dingyi[12]="小于直角的角称为锐角。";
    dingyi[13]="边界是物体的边缘。";
    dingyi[14]="图形是一个边界或者几个边界所围成的。";
    dingyi[15]="圆:由一条线包围着的平面图形,其内有一点与这条线上任何一个点所连成的线段都相等。";
    dingyi[16]="这个点(指定义15中提到的那个点)叫做圆心。";
    dingyi[17]="圆的直径是任意一条经过圆心的直线在两个方向被圆截得的线段,且把圆二等分。";
    dingyi[18]="半圆是直径与被它切割的圆弧所围成的图形,半圆的圆心与原圆心相同。";
    dingyi[19]="直线形是由直线围成的.三边形是由三条直线围成的,四边形是由四条直线围成的,多边形是由四条以上直线围成的。";
    dingyi[20]="在三边形中,三条边相等的,叫做等边三角形;只有两条边相等的,叫做等腰三角形;各边不等的,叫做不等边三角形。";
    dingyi[21]="此外,在三边形中,有一个角是直角的,叫做直角三角形;有一个角是钝角的,叫做钝角三角形;各边不等的,叫做不等边三角形。";
    dingyi[22]="在四边形中,四边相等且四个角是直角的,叫做正方形;角是直角,但四边不全相等的,叫做长方形;四边相等,但角不是直角的,叫做菱形;对角相等且对边相等,但边不全相等且角不是直角的,叫做斜方形;其余的四边形叫做不规则四边形。";
    dingyi[23]="平行直线是在同一个平面内向两端无限延长不能相交的直线。";
    gongshe[1]="由任意一点到另外任意一点可以画直线。";
    gongshe[2]="一条有限直线可以继续延长。";
    gongshe[3]="以任意点为心及任意的距离可以画圆。";
    gongshe[4]="凡直角都彼此相等";
    gongshe[5]="同平面内一条直线和另外两条直线相交,若在某一侧的两个内角的和小于二直角的和,则这二直线经无限延长后在这一侧相交。";
    dingli[1]="等于同量的量彼此相等。";
    dingli[2]="等量加等量,其和仍相等。";
    dingli[3]="等量减等量,其差仍相等。";
    dingli[4]="此能够重合的物体是全等的。";
    dingli[5]="整体大于部分。";
    cout<<"几何原本之初始三要素2.0版本。此版本收入了定义,公理和公设。"<<endl;
    cout<<"Welcome back,master,please enter the password."<<endl;
    string password;
    cin>>password;
    if(password!="123456")
    {
        cout<<"The password isn't right.";
        return 0;
    }
    cout<<"认证完毕,请输入指令。"<<endl;
    string zhiling;
    while(cin>>zhiling)
    {
        if(zhiling=="退出" || zhiling=="quit")
        {
            cout<<"Goodbye,my master"<<endl;
            return 0;
        }
        if(zhiling=="修改公设" || zhiling=="changepostulation")
        {
            cout<<"请输入修改的条数:";
            int cha;
            cin>>cha;
            cout<<"["<<gongshe[cha]<<"]"<<"修改为"<<endl;
            cin>>gongshe[cha];
            cout<<"修改完毕"<<endl;
            continue;
        }
        if(zhiling=="查询公设" || zhiling=="findpostulation")
        {
            cout<<"请输入查询的条数:";
            int fin;
            cin>>fin;
            cout<<gongshe[fin]<<endl;
            continue;
        }
        if(zhiling=="公设目录" || zhiling=="postulationlist")
        {
            for(int i=1;i<=5;i++)
                cout<<i<<"."<<gongshe[i]<<endl;
            continue;
        }
        if(zhiling=="修改公理" || zhiling=="changepostulate")
        {
            cout<<"请输入修改的条数:";
            int cha;
            cin>>cha;
            cout<<"["<<dingli[cha]<<"]"<<"修改为"<<endl;
            cin>>dingli[cha];
            cout<<"修改完毕"<<endl;
            continue;
        }
        if(zhiling=="查询公理" || zhiling=="findpostulate")
        {
            cout<<"请输入查询的条数:";
            int fin;
            cin>>fin;
            cout<<dingli[fin]<<endl;
            continue;
        }
        if(zhiling=="公理目录" || zhiling=="postulatelist")
        {
            for(int i=1;i<=5;i++)
                cout<<i<<"."<<dingyi[i]<<endl;
            continue;
        }
        if(zhiling=="修改定义" || zhiling=="changedefinition")
        {
            cout<<"请输入修改的条数:";
            int cha;
            cin>>cha;
            cout<<"["<<dingyi[cha]<<"]"<<"修改为"<<endl;
            cin>>dingyi[cha];
            cout<<"修改完毕"<<endl;
            continue;
        }
        if(zhiling=="查询定义" || zhiling=="finddefinition")
        {
            cout<<"请输入查询的条数:";
            int fin;
            cin>>fin;
            cout<<dingyi[fin]<<endl;
            continue;
        }
        if(zhiling=="定义目录" || zhiling=="definitionlist")
        {
            for(int i=1;i<=23;i++)
                cout<<i<<"."<<dingyi[i]<<endl;
            continue;
        }
        cout<<"指令不正确。"<<endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/NightRaven/p/9333262.html