- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测身高的C语言程序
测量身高C语言程序:
主程序:
// header file
#include stdio.h
// define readonly variable
const char* const ERR_STRING = 您输入的字符有误,请重新;
const char* const INFO_STRING = *******************************************************;
// will call this function when input have error
void PrintErr(void)
{
? ? printf(ERR_STRING);
? ? while(getchar()!=\n);
}
// get a lower char
char GetLowerChar(const char* str)
{
? ? char c;
? ? puts(str); // output infomation for input
? ? scanf( %c,c);
? ? return (c=A c=Z)?c+32:c;// translate to lower
}
// Get a char choose in a b.
// other character will make error
int LoopInputChar(const char* str, char a = y, char b = n)
{
? ? char a1 = GetLowerChar(str);
? ? for(; a1!=a a1!=b; a1 = GetLowerChar(str+2))
? ?? ???PrintErr();
? ? return a1;
}
// Get a double-type value
double GetDouble(const char* str)
{
? ? double d;
? ? for(puts(str); scanf(%lf,d)!=1; puts(str+2))
? ?? ???PrintErr();
? ? return d;
}
// stature test
void StatureTest()
{
? ? char c, ys;
? ? double fu,mu,wo,wo2;
? ? fu = GetDouble(请输入您的父亲身高:);
? ? mu = GetDouble(请输入您的母亲身高:);
? ? {
? ?? ???// input gender
? ?? ???c = LoopInputChar(请输入您的性别,男生M,女生F:, m, f);
? ?? ???if(c == m)
? ?? ?? ?? ?wo = (fu+mu)*0.54;
? ?? ???else
? ?? ?? ?? ?wo = (fu*0.923+mu)/2;
? ?? ???wo2 = wo;
? ? }
? ? // input other infomations
? ? c = LoopInputChar(请回答:您平时喜欢锻炼吗?(y/n):);
? ? ys = LoopInputChar(请回答:您平时饮食规律吗?(y/n):);
? ? if(c == y) // check the answer and calculate
? ? {
? ?? ???wo2 += wo*0.02;
? ?? ???if(ys ==y) wo2 += wo*0.015;
? ? }
? ? else if(ys ==y)
? ? {
? ?? ???wo2 += wo*0.015;
? ? }
? ? // output
? ? printf(您的未来身高是%.2lf米!\n,wo2);
? ? puts(INFO_STRING);
? ? return ;
}
// main function
int main(void)
{
? ? // output infomation about the test
? ? puts(现在将为您测试一下未来身高,请相信它的科学性!);
? ? puts(INFO_STRING);
? ? do // loop input test
? ? {
? ?? ???StatureTest();
? ?? ???// is exit program
? ? }while(LoopInputChar(请回答:您要退出吗?(y/n):)==n);
? ? return 0; // must be null
您可能关注的文档
最近下载
- 北京-威旺M20-产品使用说明书-威旺M20 A12-BJ6443V4SMB-M20使用说明书V22015-01-29.pdf
- 春花秋月何时了G调正谱.pdf
- 急性心肌梗死及PCI术d 护理查房ppt课件.ppt
- 颅内压增高与治疗培训ppt课件.pptx VIP
- 公司关于“精益管理年”宣传工作的方案.pdf VIP
- 钻孔灌注桩试桩技术要求.docx
- DG_TJ08-2062-2017:住宅工程套内质量验收规范.pdf VIP
- 剑桥(join in)版三年级上册英语全册教学课件(配2024年秋改版教材).pptx
- 2023年全国高级化妆师化妆技术及基础知识考试题库(附含答案) .docx
- 金宝Prismaflex操作说明书_金宝prismaflex.pdf
文档评论(0)