
0是整数,是最小的自然数,也是有理数。
0既不是正数也不是负数,而是正数和负数的分界点。0没有倒数,0的相反数是0,0的绝对值是0,0的平方根是0,0的立方根是0,0乘任何数都等于0,除0之外任何数的0次方等于1。0不能作为分母出现,0的所有倍数都是0。0不能作为除数。
扩展资料:
标准的0这个数字由古印度人在约公元5世纪时发明。他们最早用黑点“·”表示零,后来逐渐变成了“0”。在东方国家由于数学是以运算为主(西方当时以几何并在开头写了“印度人的9个数字,加上阿拉伯人发明的0符号便可以写出所有数字)。
由于一些原因,在初引入0这个符号到西方时,曾经引起西方人的困惑, 因当时西方认为所有数都是正数,而且0这个数字会使很多算式、逻辑不能成立(如除以0),甚至认为是魔鬼数字,而被禁用。直至约公元15,16世纪0和负数才逐渐给西方人所认同,才使西方数学有快速发展。
参考资料:百度百科—0
#include<iostream.h>typedef int ERRORCODE
#define TRUE 1
#define FAILED -1
const int MAX_OF_STAR_NUMBER = 30//对于魔鬼数字尽量用常量定义
const int MAX_OF_YEAR= 20//最大20年
//学生的组成成分比
typedef struct
{
int m_Egs_p// 毕业生的百分比
int m_Edo_p// 退学生的百分比
int m_Epr_p// 继续升学的学生
int m_Nsi_p// 新生的百分比
}StuElem
//某一年学生的组成成分比
struct StuEle
{
long m_Year // 起始年份
long m_Stu_enrol // 学生总数
StuElem m_StuElem// 学生的组成百分比
}stuElem
struct StuElemOfYear
{
long m_Egs_t // 多少学生能升学
long m_Edo_t // 多少学生会退学
long m_Nsi_t // 多少新生入学
long m_Eps_t //
long m_Stu_intake //
long m_Estimated_total_enrolment
}stuElemOfYear[MAX_OF_YEAR]
/********************************/
/* 界面提示*/
/********************************/
ERRORCODE PrintStar(int iNumberOfStart)
{
int iStarOfNumber = 0//输出星号"*"个数控制
while (iNumberOfStart != iStarOfNumber)
{
cout<<"-*"//print star
iStarOfNumber++
}
cout<<endl
return TRUE
}
ERRORCODE Prompt()
{
//上边框的打印
PrintStar(MAX_OF_STAR_NUMBER)
//输出欢迎词
cout<<"Welcome to the Students Projection System!"<<endl//output display
//下边框的打印
PrintStar(MAX_OF_STAR_NUMBER)
return TRUE
}
/********************************/
/* 数据的录入 */
/********************************/
ERRORCODE ReadData(int &iYear)
{
char cOption = 'y'
int iSuffix = 0, iCount = 1
//需要计算多少年内学生升学退学等信息
cout<<"Enter how many year you want to calculate (max 20 years)."<<endl
cin>>iYear
while (iYear<1 || iYear>20)
{
if(iCount >= 3)
{
cout<<"Sorry, You have Input 3 times!"<<endl
return FAILED
}
iCount++//超过三次输入错误退出程序
cout<<"You could be Input "<<3-iCount <<"times. Enter again(input must between [0, 20])."<<endl
cin>>iYear
}
//输入需要统计的起始年份
cout<<"Please enter the current years to starting calculate. "<<endl
cin>>stuElem.m_Year
//输入需要统计起始年份那一年学生的总人数
cout<<"Please enter the student Enrolment(ENL)."<<endl
cin>>stuElem.m_Stu_enrol
//输入毕业生的百分比
cout<<"Please enter the EStimated Graduates Student percentages(EGS%)."<<endl
cin>>stuElem.m_StuElem.m_Egs_p
while(stuElem.m_StuElem.m_Egs_p <0 || stuElem.m_StuElem.m_Egs_p >100)
{
cout<<"Error!!!The entered percentage(%) must between 0 to 100, please enter again?"<<endl//warning to display
cin>>stuElem.m_StuElem.m_Egs_p
}
//输入退学学生百分比
cout<<"Please enter the EStimated Student Dropout percentages(EDO%)."<<endl
cin>>stuElem.m_StuElem.m_Edo_p
while(stuElem.m_StuElem.m_Edo_p <0 || stuElem.m_StuElem.m_Edo_p >100)
{
cout<<"Error!!!The entered percentage(%) must between 0 to 100, please enter again?"<<endl//warning to display
cin>>stuElem.m_StuElem.m_Edo_p
}
//输入
cout<<"Please enter the Estimated Progression Rate percentages(EPR%)."<<endl
cin>>stuElem.m_StuElem.m_Epr_p
while(stuElem.m_StuElem.m_Epr_p <= 0 || stuElem.m_StuElem.m_Epr_p >= 100)
{
cout<<"Error!!!The entered percentage(%) must between 0 to 100, please enter again?"<<endl//warning to display
cin>>stuElem.m_StuElem.m_Epr_p
}
cout<<"Please enter the New Student Input percentages(NSI%)."<<endl
cin>>stuElem.m_StuElem.m_Nsi_p
while(stuElem.m_StuElem.m_Nsi_p <= 0 || stuElem.m_StuElem.m_Nsi_p >= 100)
{
cout<<"Error!!!The entered percentage(%) must between 0 to 100, please enter again?"<<endl//warning to display
cin>>stuElem.m_StuElem.m_Nsi_p
}
return TRUE
}
/********************************/
/* 数据的计算算法 */
/********************************/
ERRORCODE calculate(int iYear)
{
long stu_enrol = stuElem.m_Stu_enrol
for (int iSuffix=0iSuffix<iYeariSuffix++)
{
stuElemOfYear[iSuffix].m_Egs_t = (stu_enrol * stuElem.m_StuElem.m_Egs_p / 100)
stuElemOfYear[iSuffix].m_Edo_t = (stu_enrol * stuElem.m_StuElem.m_Edo_p / 100)
stuElemOfYear[iSuffix].m_Nsi_t = (stu_enrol * stuElem.m_StuElem.m_Nsi_p / 100)
stuElemOfYear[iSuffix].m_Eps_t = (stuElemOfYear[iSuffix].m_Egs_t * stuElem.m_StuElem.m_Epr_p / 100)
stuElemOfYear[iSuffix].m_Stu_intake =(stuElemOfYear[iSuffix].m_Nsi_t-(stuElemOfYear[iSuffix].m_Egs_t + stuElemOfYear[iSuffix].m_Edo_t) + stuElemOfYear[iSuffix].m_Eps_t)
stuElemOfYear[iSuffix].m_Estimated_total_enrolment = stu_enrol + stuElemOfYear[iSuffix].m_Stu_intake
stu_enrol = stuElemOfYear[iSuffix].m_Estimated_total_enrolment//下一年的学生总数等于stuElemOfYear[iSuffix].m_Estimated_total_enrolment
}
return TRUE
}
/********************************/
/* 结果输出*/
/********************************/
ERRORCODE display(int iYear)
{
for(int iSuffix=0iSuffix<iYeariSuffix++)
{
cout<<"Year\t Enrolment\t (EGS%)\t (EGS)\t (EDO%)\t (EDO)\t (NSI%)\t (NSI)\t Netw Student Inake\t Estimated total Enrolment"<<endl
cout<<stuElem.m_Year + iSuffix <<"\t"
cout<<stuElem.m_Stu_enrol<<"\t"
cout<<stuElem.m_StuElem.m_Egs_p <<"\t"
cout<<stuElemOfYear[iSuffix].m_Egs_t <<"\t"
cout<<stuElem.m_StuElem.m_Edo_p <<"\t"
cout<<stuElemOfYear[iSuffix].m_Edo_t <<"\t"
cout<<stuElem.m_StuElem.m_Epr_p <<"\t"
cout<<stuElemOfYear[iSuffix].m_Eps_t <<"\t"
cout<<stuElem.m_StuElem.m_Nsi_p <<"\t"
cout<<stuElemOfYear[iSuffix].m_Nsi_t <<"\t"
cout<<stuElemOfYear[iSuffix].m_Stu_intake<<"\t"
cout<<stuElemOfYear[iSuffix].m_Estimated_total_enrolment <<endl
PrintStar(2 * MAX_OF_STAR_NUMBER)
}
return TRUE
}
/********************************/
/* Main 函数 */
/********************************/
void main ()
{
int iYear = 0
/********************************/
/* 界面提示*/
/********************************/
Prompt()
/********************************/
/* 数据的录入 */
/********************************/
if(TRUE != ReadData(iYear))
{
cout<<"Sorry, data Input failed!"<<endl
return
}
/********************************/
/* 数据的计算算法 */
/********************************/
calculate(iYear)
/********************************/
/* 结果输出*/
/********************************/
display(iYear)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)