using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static double dHeight; //定义全局变量 dHeight和dWeight,分别表示身高和体重。
static double dWeight;
static void Main(string[] args) //主函数,并调用各个函数。
{
PrintTile();
if (login() == 0) //判断login()函数的返回值,如果函数的返回值为0,则结束程序。
{
return;
}
if (Choose() == 0) //判断Choose()函数返回值,如过函数的返回值为0,则结束程序。
{
return;
}
Height();
Weight();
while (Result()==0) //定义一个循环,目的是让使用者继续对其他人进行体重检测。
{
if (Choose() == 0)
{
break;
}
Height();
Weight();
}
}
static void PrintTile() //修改界面颜色函数
{
Console.ForegroundColor = ConsoleColor.Blue; //修改界面文字的颜色成蓝色
Console.WriteLine("****************************************************");
Console.WriteLine("* *");
Console.WriteLine("* 欢迎使用体重自我诊断系统,Power by 小神 *");
Console.WriteLine("* *");
Console.WriteLine("****************************************************");
}
static int login() //登陆函数
{
for (int i = 0; i < 3; i++)
{
int xMark; //定义整型的xMark,表示还有的机会次数。
xMark = 2 - i;
Console.WriteLine("请输入用户名和密码,按回车键结束。");
Console.Write("user:");
string aUser = Console.ReadLine(); //用字符串变量aUser存储获取的用户名
Console.Write("password:");
string bPassword = Console.ReadLine(); //用字符串变量bPassword存储获取的用户名
if (aUser == "Admin" && bPassword == "123")
{
Console.WriteLine("登陆成功");
return 1;
}
else
{
if (xMark >=1)
{
Console.WriteLine("请重新输入用户名和密码,您还有{0}次机会", xMark);
}
else if (xMark<1)
{
Console.WriteLine("您登陆的次数已超过系统上限,谢谢使用!");
return 0;
}
}
}
return 1;
}
static int Choose() //菜单函数
{
Console.WriteLine("是否开始诊断?");
Console.WriteLine("y.开始诊断.");
Console.WriteLine("n.退出程序.");
while (true) //定义一个循环
{
Console.Write("选择:");
string aChoose = Console.ReadLine(); //定义字符串变量aChoose存储获取的用户输入。
if (aChoose == "y")
{
return 1; //判断如果用户输入的是y,程序向下继续执行
}
else if (aChoose == "n")
{
return 0; //判断如果用户输入的是n,程序技术
}
else //如果用户输入的既不是y也不是n,提醒用户必须输入y或n
{
Console.WriteLine("请重新选择,必须在Y与N之间取其一。");
}
}
return 2; //因为函数定义的是int,所以需要一个返回值
}
static double Height() //身高判断函数
{
Console.WriteLine("请输入您的身高,注:单位是米,范围在0.5-3.0之间。");
while (true) //定义一个循环。
{
Console.Write("身高:");
try //定义一个异常出错捕捉结构
{ //必须执行的语句块
dHeight = double.Parse(Console.ReadLine()); //从用户的输入中获取身高
if (dHeight > 0.5 && dHeight < 3.0) //如果用户输入的身高范围在规定之中,程序向下继续执行
{
return 1;
}
else //如果用户输入的身高不在范围之中,提示重新输入
{
Console.WriteLine("身高的范围必须在0.5-3.0之间,请重新输入。");
}
}
catch //因为获取的身高必须是double类型,当用户输入的非此类型,catch语句块中的语句便执行。
{
Console.WriteLine("请重新输入您的身高");
Console.WriteLine("身高只能是数字,而且必须在0.5与3.0之间");
}
}
return 1.0; //身高判断函数是double型,需要返回值。
}
static double Weight() //体重判断函数
{
Console.WriteLine("请输入您的体重,注:单位是kg,范围在20-200之间。");
while (true) //定义一个循环
{
Console.Write("体重:");
try //定义一个异常出错捕捉结构
{
dWeight = double.Parse(Console.ReadLine()); //从用户的输入中获取体重
if (dWeight > 20 && dWeight < 200) //如果用户的输入在规定的范围之中 ,程序向下继续执行
{
return 1;
}
else //如果用户的输入不在范围之中,提示用户重新输入。
{
Console.WriteLine("体重的范围必须在20-200之间,请重新输入。");
}
}
catch //因为获取的体重必须是double类型,当用户输入的非此类型,catch语句块中的语句便执行。
{
Console.WriteLine("请重新输入您的体重");
Console.WriteLine("体重只能是数字,而且必须在20与200之间");
}
}
return 1.0; //因为函数定义的是double类型,需要一个返回值。
}
static int Result() //计算体重指标,并给出相应的结果。
{
double aIndex; //定义体重指标aIndex双精度变量
aIndex = dWeight/(dHeight*dHeight); //计算体重指标
if (aIndex < 18) //下面的语句根据预先有的指标规则给出用户体重指标。
{
Console.WriteLine("您的体重偏瘦。");
}
else if (aIndex >= 18 && aIndex < 25)
{
Console.WriteLine("您的体重正常。");
}
else if (aIndex >= 25 && aIndex < 30)
{
Console.WriteLine("您的体重超重。");
}
else if (aIndex >= 30 && aIndex < 35)
{
Console.WriteLine("您的体重轻度肥胖。");
}
else
{
Console.WriteLine("您的体重重度肥胖");
}
return 0; //判断完之后返回0
}
}
}
该项目的要求见:
体重诊断法功能需求
1.要求实现平台:windows2000以上系统,.NetFromeWord2.0,编译环境为Visaul Studio2005
2.开发方式:采用控制台方式开发。
3.代码要求:所有代码写在一个.cs文件,同一个命名空间以及一个类(class)里面,在类里面可以写函数的调用,要求变量命名规范,代码功能注释清楚,以及错误处理,达到程序只提示不报错。
4.功能要求:
1)用户登陆,提示用户输入用户名密码,用户名为:Admin(注意大小写),密码:123,
给用户三次输入失败的机会,每输入失败,提示重新输入,并提示还有几次机会。用户名密码正确则进入系统。
2) 登陆成功后,提示用户是否开始自我诊断,选择菜单进入诊断功能或关闭程序。如果输入的不是这两种选择,提示用户输入错误,然后继续等待输入。
3)进入诊断功能后,提示用户输入身高,单位为米(M),可以输入小数点。对用户输入的字符做检测,要求只能是数字,身高只能在0.5米和3.0米之间。如果输入不符合要求,继续提示输入身高。身高输入后,提示用户输入体重,单位为公斤(KG),可以输入小数点。对体重的输入做检查,要求只能输入数字,体重只能在20公斤和200公斤之间。如果输入不符合要求,继续提示输入体重。
4)体重输入完毕后,计算体重指标,计算公式为
体重指标=体重(公斤)除身高(米)的平方 kg/m2
5) 判断计算出来的体重指标,显示相应的用户信息
体重偏瘦:体重指标<18
体重正常:体重指标=18 至 25之间
体重超重:体重指标=25 至 30之间
重度肥胖:体重指标=30 至 35之间
重度肥胖:体重指标=35以上
6) 显示完诊断信息后,提示用户,是否开始自我诊断,见功能需求 1)。
1.要求实现平台:windows2000以上系统,.NetFromeWord2.0,编译环境为Visaul Studio2005
2.开发方式:采用控制台方式开发。
3.代码要求:所有代码写在一个.cs文件,同一个命名空间以及一个类(class)里面,在类里面可以写函数的调用,要求变量命名规范,代码功能注释清楚,以及错误处理,达到程序只提示不报错。
4.功能要求:
1)用户登陆,提示用户输入用户名密码,用户名为:Admin(注意大小写),密码:123,
给用户三次输入失败的机会,每输入失败,提示重新输入,并提示还有几次机会。用户名密码正确则进入系统。
2) 登陆成功后,提示用户是否开始自我诊断,选择菜单进入诊断功能或关闭程序。如果输入的不是这两种选择,提示用户输入错误,然后继续等待输入。
3)进入诊断功能后,提示用户输入身高,单位为米(M),可以输入小数点。对用户输入的字符做检测,要求只能是数字,身高只能在0.5米和3.0米之间。如果输入不符合要求,继续提示输入身高。身高输入后,提示用户输入体重,单位为公斤(KG),可以输入小数点。对体重的输入做检查,要求只能输入数字,体重只能在20公斤和200公斤之间。如果输入不符合要求,继续提示输入体重。
4)体重输入完毕后,计算体重指标,计算公式为
体重指标=体重(公斤)除身高(米)的平方 kg/m2
5) 判断计算出来的体重指标,显示相应的用户信息
体重偏瘦:体重指标<18
体重正常:体重指标=18 至 25之间
体重超重:体重指标=25 至 30之间
重度肥胖:体重指标=30 至 35之间
重度肥胖:体重指标=35以上
6) 显示完诊断信息后,提示用户,是否开始自我诊断,见功能需求 1)。
重新修改了次代码,修改了几处BUG,并重新修改了全部命名,最后添加了很多注释,提高代码的可读性,附上程序调试截图(图片挂了,找不到存档了!).
浙公网安备 33010602011771号