《c语言项目案例资料(2015)》由会员分享,可在线阅读,更多相关《c语言项目案例资料(2015)(72页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计项目案例C语言程序设计项目案例资料( 2014/2015 学年 )班 级: 学 号: 姓 名: 浙江万里学院基础学院计算机教学部C语言程序设计课程组2015年3月项目1 身高体重测评系统实训目标:掌握顺序结构、选择结构和循环结构,能够熟练运用三种基本结构进行功能程序设计。实训条件:完成教材前五章的学习,熟悉数据类型、常量、变量、运算符与表达式等基础知识,熟悉输入输出函数格式,熟悉if、switch两种选择结构及while、do、for三种循环结构。功能描述:编程实现一个身高体重测评系统,系统能够通过菜单提供功能选择,包括标准体重查询、身高体重测评、指导建议及退出系统等,当用户输入
2、选择后,能够实现相应的需求功能,如图1、图2、图3、图4所示。图1功能选择界面图2 标准体重查询功能界面图3 身高体重测评功能界面图4 针对测评结果的指导建议功能界面图5 通用指导建议功能界面算法分析:(1)系统功能界面的实现可以通过printf函数实现;(2)系统功能的选择可以通过switch或if结构实现;(3)标准体重的计算可以通过公式计算实现;(4)身高体重测评功能可以通过计算体重指数并判断其所在取值范围实现;(5)指导建议功能可以利用选择结构根据用户的体重指数给出合理建议;(6)利用循环结构完善程序功能,实现用户的重复访问控制。参考代码:#includemain() int xz,x
3、b;float sg,tz,tzzs=0; while(1) printf(t*ntt身高体重测评系统ntt1、标准体重查询ntt2、身高体重测评ntt3、指导建议ntt0、退出系统nt*n); doprintf(请输入您的选择(0-3):);scanf(%d,&xz); while(!(xz=0 & xz=3); switch(xz) case 1: printf(请输入性别(0表示女,1表示男):); do scanf(%d,&xb); while(!(xb=0 | xb=1); printf(请输入身高(单位:CM):); scanf(%f,&sg); printf(标准体重%.1fKG
4、n,xb=1?sg-110:sg-105); break; case 2: printf(请输入身高(单位:CM):); scanf(%f,&sg); printf(请输入体重(单位:KG):); scanf(%f,&tz); tzzs=tz*10000/(sg*sg); if(tzzs18)printf(结果:偏瘦n); else if(tzzs=25)printf(结果:正常n); else if(tzzs=30)printf(结果:偏重n); else if(tzzs=35)printf(结果:轻度肥胖n); else if(tzzs=40)printf(结果:中度肥胖n); else
5、printf(结果:重度肥胖n); break; case 3: if(tzzs=0) printf(偏瘦的人应该增加蛋白质与脂肪的摄入量。n); printf(体重正常,可以按照原习惯合理安排饮食。n); printf(偏重的人应该减少脂肪的摄入量。n); printf(轻度肥胖的人,请减少脂肪的摄入量,适当增加运动。n); printf(中度肥胖的人,请减少脂肪的摄入量,增加运动。n); printf(重度肥胖的人,少吃多运动,关键靠控制。n); else if(tzzs18)printf(偏瘦的人应该增加蛋白质与脂肪的摄入量。n); else if(tzzs=25)printf(体重正常
6、,可以按照原习惯合理安排饮食。n); else if(tzzs=30)printf(偏重的人应该减少脂肪的摄入量。n); else if(tzzs=35)printf(轻度肥胖,请减少脂肪的摄入量,适当增加运动。n); else if(tzzs=40)printf(中度肥胖,请减少脂肪的摄入量,增加运动。n); else printf(重度肥胖的人,少吃多运动,关键靠控制。n); break; default: return 0; fflush(stdin); getchar(); 项目2 通用进制转换系统实训目标:掌握C语言的三种基本结构及数组、自定义函数的基础知识点,能够熟练进行模块化功能
7、程序设计。实训条件:完成教材前七章的学习,熟悉基础语法知识,熟悉顺序、选择、循环三种基本程序结构,熟悉一维整型数组和字符串的存储应用,熟悉自定义函数的定义、声明和调用。功能描述:编程实现一个通用进制系统,系统能够通过菜单提供功能选择,包括十进制转换为二进制、十进制转换为八进制、十进制转换为十六进制、二进制转换为十进制、八进制转换为十进制、十六进制转换为十进制、二进制转换为八进制、二进制转换为十六进制等常用进制转换功能及二十进制内任意进制转换的自定义转换功能,如图所示。图1 系统初始功能界面图2 系统主菜单功能界面图3 自定义进制转换功能界面 图4 十进制转换二进制功能界面图5 十进制转换十六进
8、制功能界面图6 二进制转换十进制功能界面图7 二进制转换十六进制功能界面算法分析:(1)系统应按照功能进行模块化分解,分别设计自定义函数; (2)系统各部分功能界面的实现可以通过printf函数实现; (3)系统中功能的选择可以通过switch或if结构实现;(4)关键的两个功能函数分别为任意进制转换为十进制ANY_ten()和十进制转换为任意进制ten_ANY();(5)自定义进制转换功能函数ANY_ch()可以通过调用上述两个函数实现其功能;(6)常见进制转换功能函数list1()也通过调用ANY_ten()和ten_ANY()两个函数实现其功能。参考代码:#include#include
9、#includevoid list1();void ANY_ch();void main() int b; do printf( *n); printf( * 欢迎访问: 二十进制内任意进制转换! *n); printf( *n); printf(tt按Enter进入主菜单!); getchar(); system(cls); printf( *n); printf( * 【主菜单】 *n); printf( * *n); printf( * 模式选择 *n); printf( * *n); printf( * 1 - 常见进制转换 *n); printf( * 2 - 自定义进制数转换 *n); printf( * 0 - 退出 *n); printf( * *n); printf( *n); do printf( 请选择要执行的模式(0-2): ); scanf(%d,&b); while(!(b=0 & b0); int ANY_ten(int x,char *ch)int i,s=0; for(i=0;i=0 & chi=A&chi=0;i-) switch(arri) case 10:printf(A);break; case 11:printf(B);break;case 12:printf(C);break;case 13:printf(D);break