几何原本查询程序2.0
和前一个版本有大不同,完善了三要素,增设了英文和指令错误系统。
//
// 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<=23;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<=23;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<<"指令不正确。";
}
return 0;
}