




免费预览已结束,剩余66页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计项目案例资料( 2014/2015 学年 )班 级: 学 号: 姓 名: 浙江万里学院基础学院计算机教学部C语言程序设计课程组2015年3月项目1 身高体重测评系统实训目标:掌握顺序结构、选择结构和循环结构,能够熟练运用三种基本结构进行功能程序设计。实训条件:完成教材前五章的学习,熟悉数据类型、常量、变量、运算符与表达式等基础知识,熟悉输入输出函数格式,熟悉if、switch两种选择结构及while、do、for三种循环结构。功能描述:编程实现一个身高体重测评系统,系统能够通过菜单提供功能选择,包括标准体重查询、身高体重测评、指导建议及退出系统等,当用户输入选择后,能够实现相应的需求功能,如图1、图2、图3、图4所示。图1功能选择界面图2 标准体重查询功能界面图3 身高体重测评功能界面图4 针对测评结果的指导建议功能界面图5 通用指导建议功能界面算法分析:(1)系统功能界面的实现可以通过printf函数实现;(2)系统功能的选择可以通过switch或if结构实现;(3)标准体重的计算可以通过公式计算实现;(4)身高体重测评功能可以通过计算体重指数并判断其所在取值范围实现;(5)指导建议功能可以利用选择结构根据用户的体重指数给出合理建议;(6)利用循环结构完善程序功能,实现用户的重复访问控制。参考代码:#includemain() int xz,xb;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(标准体重%.1fKGn,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 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(体重正常,可以按照原习惯合理安排饮食。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语言的三种基本结构及数组、自定义函数的基础知识点,能够熟练进行模块化功能程序设计。实训条件:完成教材前七章的学习,熟悉基础语法知识,熟悉顺序、选择、循环三种基本程序结构,熟悉一维整型数组和字符串的存储应用,熟悉自定义函数的定义、声明和调用。功能描述:编程实现一个通用进制系统,系统能够通过菜单提供功能选择,包括十进制转换为二进制、十进制转换为八进制、十进制转换为十六进制、二进制转换为十进制、八进制转换为十进制、十六进制转换为十进制、二进制转换为八进制、二进制转换为十六进制等常用进制转换功能及二十进制内任意进制转换的自定义转换功能,如图所示。图1 系统初始功能界面图2 系统主菜单功能界面图3 自定义进制转换功能界面 图4 十进制转换二进制功能界面图5 十进制转换十六进制功能界面图6 二进制转换十进制功能界面图7 二进制转换十六进制功能界面算法分析:(1)系统应按照功能进行模块化分解,分别设计自定义函数; (2)系统各部分功能界面的实现可以通过printf函数实现; (3)系统中功能的选择可以通过switch或if结构实现;(4)关键的两个功能函数分别为任意进制转换为十进制ANY_ten()和十进制转换为任意进制ten_ANY();(5)自定义进制转换功能函数ANY_ch()可以通过调用上述两个函数实现其功能;(6)常见进制转换功能函数list1()也通过调用ANY_ten()和ten_ANY()两个函数实现其功能。参考代码:#include#include#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;case 14:printf(E);break;case 15:printf(F);break;case 16:printf(G);break;case 17:printf(H);break;case 18:printf(I);break;case 19:printf(J);break;default:printf(%d,arri); printf(nn);void list1() int i,a,m,num; char ch20; do getchar(); system(cls); printf( *n); printf( * *n); printf( * 数制转换器 *n); printf( * *n); printf( * 1 - 十进制转二进制 *n); printf( * 2 - 十进制转八进制 *n);printf( * 3 - 十进制转十六进制 *n); printf( * 4 - 二进制转十进制 *n); printf( * 5 - 八进制转十进制 *n);printf( * 6 - 十六进制转十进制 *n);printf( * 7 - 二进制转八进制 *n);printf( * 8 - 二进制转十六进制 *n);printf( * 0 - 返回 *n);printf( * *n);printf( *n);do printf(请输入你所选择的序号: ); scanf(%d,&a); while(!(a=0 & a=1 & a=3) scanf(%d,&num); else fflush(stdin);gets(ch); for(i=0;i=0 & chi=0 & chi=0 & chi=A & chi0); void ANY_ch() int a,m,x,y;char ch20; printf(请输入进制数: ); scanf(%d,&x); printf(输入该 %d 进制数:,x); scanf(%s,ch); m=ANY_ten(x,ch); printf(是否将当前十进制数进一步转换:1.是; 2.否n); do printf( 请选择(1/2): ); scanf(%d,&a); while(!(a=1 | a=2); switch(a) case 1: printf(转换的目标进制数为: ); scanf(%d,&y); ten_ANY(m,y); break; case 2: printf(t转换结束!); break; getchar(); 项目3 小学生算数自测系统实训目标:掌握C语言的三种基本结构及数组、自定义函数的基础知识点,能够熟练进行模块化功能程序设计。实训条件:完成教材前七章的学习,熟悉基础语法知识,熟悉顺序、选择、循环三种基本程序结构,熟悉一维整型数组和字符串的存储应用,熟悉自定义函数的定义、声明和调用。功能描述:编程实现一个小学生算数自测系统,系统能够通过菜单提供功能选择,能够实现简单的加法、减法、乘法和除法的随机测试,能够实现题量选择、题目批阅、答案提示、测试评价等功能,如图所示。图1 登录界面图2 前言界面图3 功能选择界面图4 加法功能界面图5 减法功能界面图6 乘法功能界面图7 除法功能界面图8 系统说明功能界面图9 系统评价功能界面算法分析:(1)定义函数sm()和pj()实现系统说明和系统评价功能; (2)定义函数open()实现系统加载和前言界面功能; (3)定义函数jiafa()实现加法测试功能;(4)定义函数jianfa()实现减法测试功能;(5)定义函数chengfa()和chengfa1()、chengfa2()、chengfa3()实现具有难度级别进阶的乘法测试功能;(6)定义函数chufa()和chufa1()、chufa2()、chufa3()实现具有难度级别进阶的除法测试功能。参考代码:#include#include#include#include void menu() printf(*); printf(_小朋友,欢迎你们来学习小学算术_); printf( ); printf( 1.加法 ); printf( 2.减法 ); printf( 3.乘法 ); printf( 4.除法 ); printf( 5.说明 ); printf( 6.评价 ); printf( 0.退出 ); printf( ); printf( 快选择你要学习的内容吧! ); printf( ); printf(_); printf(*);void sm()printf(* 这个系统总共有四个功能,分别对小学生的加法,减法,乘法和除法进行自测 *n* 其中加法和减法我们采取打分,评等级的方式 *n* 而乘法和除法我们采取过关的方式 *);printf(n* 注:分数总分为100,每小题的分数为总分除以题量,等级分为A.B.C.D D为不及格 *);printf(n* 注:关卡的难度是根据随机数产生的不同范围确定的 *);printf(n* 注:测试过程中会计时,小朋友要注意自已的解题速度噢! *);printf(n* 制作者:浙江万里学院电子信息学院通信工程专业*);printf(n* 制作日期:2015年*月*日n);void pj()int i,s,j; char c;printf(t测试完之后是不是相对系统进行一番评价呢_Y(1)/N(0):t);scanf(%d,&i);if(i=1) printf(nt您对这个测试系统满意吗?请打分?(0到10分)t); scanf(%d,&i); printf(nttt * * * _谢谢您的参与_ * * *);else printf(nttt * * * _谢谢您的参与_ * * *); void jiafa()int i,j,a,b,c,t,score=0,start,dTime,end;start=clock();srand(unsigned)time(NULL);printf(请选择题量(建议在20题左右):);scanf(%d,&j);while(j100|j1) printf(请重新输入:n); scanf(%d,&j);for(i=1;i=90) printf(本次测试的分数为: %dt等级为 A n真厉害,恭喜你通过啦本次测试!,t); if(t=80&t=60&t80) printf(本次测试的分数为: %dt等级为 C n真幸运,恭喜你通过啦本次测试!,t); if(t100|j1) printf(请重新输入:n); scanf(%d,&j);for(i=1;i=j;i+) a=rand()%100+1; b=rand()%100+1; if(a=90) printf(本次测试的分数为: %dt等级为 A n真厉害,恭喜你通过啦本次测试!,t); if(t=80&t=60&t80) printf(本次测试的分数为: %dt等级为 C n真幸运,恭喜你通过啦本次测试!,t); if(t60) printf(本次测试的分数为: %dt等级为 Dn有点遗憾,你没有通过,还要继续努力噢!,t);void chengfa1() int count=0,m,n,s,total,k; srand(unsigned)time(NULL); printf(欢迎进入第一关!n); printf(请设定题目数量(建议在10题左右):); scanf(%d,&k); while(countk) printf(%d,m=rand()%10+1); printf(*); printf(%d,n=rand()%10+1); printf(=); total=m*n; loopa:scanf(%d,&s); if(s=total) printf(恭喜你,答对了!n);count+; else printf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第一关!n);void chengfa2() int count=0,m,n,s,total,k; srand(unsigned)time(NULL); printf(欢迎进入第二关!n); printf(请设定题目数量(建议在10题左右):); scanf(%d,&k); while(countk) m=rand()%100+10; n=rand()%10+5; printf(%d,m); printf(*); printf(%d,n); printf(=); total=m*n; loopa:scanf(%d,&s); if(s=total) printf(恭喜你,答对了!n);count+; else printf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第二关!n);void chengfa3() int count=0,m,n,s,total,k; srand(unsigned)time(NULL); printf(欢迎进入第三关!n); printf(请设定题目数量(建议在5题左右):); scanf(%d,&k); while(countk) m=rand()%100+10; n=rand()%50+10; printf(%d,m); printf(*); printf(%d,n); printf(=); total=m*n; loopa:scanf(%d,&s); if(s=total) printf(恭喜你,答对了!n);count+; else printf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第三关!n); printf(恭喜闯关成功!n);void chengfa() int i; chengfa1(); printf(是否继续挑战?Y(1)/N(0):); scanf(%d,&i); if(i=1) chengfa2(); printf(是否继续挑战?Y(1)/N(0):); scanf(%d,&i); if(i=1) chengfa3();void chufa1() int count=0,m,n,s,total,k; srand(unsigned)time(NULL); printf(欢迎进入第一关!n); printf(请设定题目数量(建议在10题左右):); scanf(%d,&k); while(countk) m=rand()%10+1; n=rand()%10+1; printf(%d,m); printf(/); printf(%d,n); printf(=); total=m/n; loopa:scanf(%d,&s); if(s=total) printf(恭喜你,答对了!n);count+; else printf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第一关!n);void chufa2() int count=0,m,n,s,total,k; srand(unsigned)time(NULL); printf(欢迎进入第二关!n); printf(请设定题目数量(建议在10题左右):); scanf(%d,&k); while(countk) m=rand()%100+10; n=rand()%20+10; printf(%d,m); printf(/); printf(%d,n); printf(=); total=m/n; loopa:scanf(%d,&s); if(s=total) printf(恭喜你,答对了!n);count+; else printf(回答错误,请重新回答!n);goto loopa; printf(恭喜你通过了第二关!n);void chufa3() int count=0,m,n,s,total,k; printf(欢迎进入第三关!n); printf(请设定题目数量(建议在10题左右):); scanf(%d,&k); while(count ); for (k=1;k=M;k+) printf(); Sleep(100); printf(HELLO!); printf(r); system(cls); printf(n【载入完成】aaann); printf( 前言nn); printf( 欢迎使用小学生算数自测系统,本程序以全菜单形式实现了以下功能:nn); printf( 小学生的加法,减法,乘法和除法。n); printf(n 出于学生信息的隐私性,我们在程序上加入了管理员登陆模块以保证学生nn); printf( 信息的安全性。nn); printf( 本程序虽然能成功编译并运行,但在实际应用中可能还会出现各种问题 ,nn); printf( 请各位老师与同学批评指正,欢迎大家提出宝贵意见!nn); printf( 温馨提醒:小朋友在做题之前请先选择菜单5,了解一下测试规则。n); printf( 测试结束后可以选择菜单6对本次测试进行打分。nn); system(pause); system(cls); fflush(stdin); main() int i,k; char c; char username15,pwd15; for(i=0;i50;i+) printf(nn C语言程序设计项目案例); printf(n -); printf(n 名称: 小学生算术自测系统 ); printf(n 工具: C-Free4.0 C语言 ); printf(n 作者: * ); printf(n -); printf(nn 用户登陆(admin)); printf(nn 请输入账号:); gets(username); printf(n 请输入密码:); fflush(stdin); gets(pwd); if(strcmp(username,admin)=0)&(strcmp(pwd,admin)=0) open(); break; else system(cls); printf(n 用户名密码错误!请重新输入账号密码!); continue; do menu(); printf(请选择:); scanf(%d,&k); switch(k) case 1:jiafa();break; case 2:jianfa();break; case 3:chengfa();break; case 4:chufa();break; case 5:sm();break; case 6:pj();break; case 0:break; printf(n); while(k!=0); printf(n);项目4通讯录管理系统实训目标:掌握C语言的三种基本结构、数组、自定义函数、指针及结构体的相关知识点,能够熟练进行模块化功能程序设计。实训条件:完成教材全部内容的学习,熟悉基础语法知识,熟悉三种基本程序结构,熟悉数组的编程应用,熟悉函数的定义和调用,熟悉结构体类型的定义和使用,熟悉文件的存取操作。功能描述:编程实现一个通讯录管理系统,系统能够通过菜单提供功能选择,能够实现添加联系人、显示所有联系人信息、查找指定联系人、删除指定联系人、更新已有联系人等功能,并能够将联系人信息保存在指定的文本文件中,具体功能如图所示。图1添加联系人功能界面图2显示联系人功能界面图3查找联系人功能界面图4删除联系人功能界面图5更新联系人功能界面图6保存功能界面算法分析:(1)定义函数add()实现添加联系人功能; (2)定义函数show()实现显示所有联系人功能; (3)定义函数search ()实现查找指定联系人功能; (4)定义函数delete1()实现删除指定联系人功能; (5)定义函数update()实现修改更新联系人功能; (6)定义函数save()实现保存到文件功能; (7)定义函数quit()实现退出,函数print_menu()显示主菜单。参考代码:#include#include#include #define MAX_NAME 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐理音程考试题库及答案
- 森林防护巡护知识培训课件
- 森林家庭防火知识培训课件
- 棋王课件中职
- 海南省养老护理员职业资格技师考试题(含答案)
- 2025年精细化工作业面试宝典涵盖各类工艺作业预测题
- 2025年裁判台球考试题及答案
- 2025年公路水运安全员(交安abc)考试考核题库答案
- 2025年项目经理从业资格认证考试模拟试题集及答题技巧
- 2025年软件工程师职称评定预测试题及答案参考
- 《战略与战略管理》课件
- 《生物安全柜的使用》课件
- 比亚迪电动汽车无线充电技术研发
- 新疆维吾尔自治区、新疆生产建设兵团2020年中考语文试卷及答案
- 酒吧防恐怖袭击应急预案
- GB/T 23986.2-2023色漆和清漆挥发性有机化合物(VOC)和/或半挥发性有机化合物(SVOC)含量的测定第2部分:气相色谱法
- JB-T 4088.1-2022 日用管状电热元件 第1部分:通用要求
- 重点单位消防八本台帐
- 新机构CK6150数控车床使用说明书(通用)
- 售后维修服务单
- 全国职业技能竞赛焊工理论考试题库
评论
0/150
提交评论