陕西国防工业职业技术学院
《C语言》实训报告
专 业: 软件技术
班 级: 软件3141
姓 名: 石政政
学 号: 35314114
指导老师: 刘慧梅 陈巧莉
实训时间: 2014-2015(1)第 周
成 绩:
软件教研室制
项目名称 使用菜单选择趣味程序
一、项目描述
菜单选择趣味程序
二、项目相关知识
趣味程序:include,printf,int,viod,scanf,else.
三、程序清单(要求有主要注释说明)
#include <stdio.h>
#include <stdlib.h>
#define PASS 12345
#define PI 3.14159
void mima()
{
int a,i=3;
printf("************************************\n");
printf(" --欢迎进入系统-- \n");
printf("************************************\n");
while(i>0)
{
printf("请输入密码,你有%d次机会\n",i);
scanf("%d",&a);
if(a==PASS)
{
printf("密码正确\n");
break;
}
i--;
}
if(i==0)
{
printf("密码错误,您的机会已用完,退出系统\n");
exit(0);
}
printf("-------欢迎使用系统------\n");
}
void lei0()
{
printf("***************主菜单***************\n");
printf("\t趣味程序 \n");
printf("\t1:生活中的趣味题 \n");
printf("\t2:数字趣味题 \n");
printf("\t3:图形趣味题 \n");
printf("\t4:面积计算题 \n");
printf("\t0:退出 \n");
printf("************************************\n");
}
void lei1()
{
printf("************生活中的趣味题**********\n");
printf("\t1:日期计算 \n");
printf("\t2:百钱买百鸡 \n");
printf("\t3:猴子吃桃 \n");
printf("\t4:小球反弹 \n");
printf("\t0:退出二级菜单 \n");
printf("************************************\n");
}
void lei2()
{
printf("**************数字趣味题************\n");
printf("\t1:素数 \n");
printf("\t3:回文数 \n");
printf("\t3:水仙花数 \n");
printf("\t4:完全数 \n");
printf("\t0:退出二级菜单 \n");
printf("************************************\n");
}
void lei3()
{
printf("*************图形输出菜单***********\n");
printf("\t1:菱形 \n");
printf("\t2:平行四边形 \n");
printf("\t3:三角形 \n");
printf("\t4:六边形 \n");
printf("\t0:退出二级菜单 \n");
printf("************************************\n");
}
void lei4()
{
printf("*************面积计算菜单***********\n");
printf("\t1:圆形 \n");
printf("\t2:梯形 \n");
printf("\t3:正方形 \n");
printf("\t4:长方形 \n");
printf("\t0:退出二级菜单 \n");
printf("************************************\n");
}
void rqjs()
{
int y,m,d,i,day=0; //自定义变量//
printf("请输入年月日:");
scanf("%d%d%d",&y,&i,&d);
for(m=1;m<=i-1;m++) //循环变量//
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
day+=31;
else if(m==4||m==6||m==9||m==11)
day+=30;
else if(m==2)
{
if(y%4==0&&y%400==0||y%100!=0)
day+=29;
else
day+=28;
}
}
day+=d;
printf("这日是%d年的第%d天\n",y,day);//年月日时间//
}
void bqbj()
{
int a,b,c;
for(a=0;a<=100;a++)
for(b=0;b<=100;b++)
for(c=0;c<=100;c++) //a,b,c的变量循环//
{
if(5*a+3*b+c/3==100&&c%3==0&&a+b+c==100)//循环变量函数公式//
printf("公鸡%d\t母鸡%d\t小鸡%d\n",a,b,c);
}
}
void houzi()
{
int x,y;
y=1;
for(x=9;x>=1;x--)
{
y=(y+1)*2;
}
printf("共有桃子%d\n",y);
}
void xiaoqiu()
{
float s=0,h=100; //定义实数变量//
int n,i=1;
printf("输入要计算的弹跳次数 :");
scanf("%d",&n);
while(i<=n) //循环结构//
{
h=h/2;
s+=h*2;
i++;
}
printf("h=%.3f s=%.3f\n",h,s);
}
void sushu()
{
int i,m;
printf("请输入一个整数:\t");
scanf("%d",&m); //键盘输入//
for(i=2;i<=m;i++) //循环变量//
{
if(m%i==0) //如果整除就输出结束//
break;
}
if(i==m)
printf("%d是素数\n",m);
else
printf("%d不是素数\n",m);
}
void huiwen()
{
char a[6];
printf("请输入:");
scanf("%s",&a);
if(a[0]==a[4]&&a[1]==a[3])
printf("是回文数\n");
else
printf("不是回文数\n");
}
void shuixian()
{
int a,b,c,n;
for(n=100;n<=999;n++)
{
a=n/100;
b=n/10%10;
c=n%10;
if(n==a*a*a+b*b*b+c*c*c)
printf("水仙花数:%d\n",n);
}
printf("\n");
}
void linxing()
{
int i,j,k,x;
printf("请输入行数:");
scanf("%d",&x);
for(i=1;i<=x/2+1;i++) //外循环 控制行数//
{
for(j=1;j<=x-i;j++) //内循环 控制列数//
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
for(i=x/2;i>=1;i--)
{
for(j=1;j<=x-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
}
void sanjiao()
{
int i,j;
for(i=1;i<=9;i++) //循环变量//
{
for(j=0;j<=9-i;j++)
{
printf("%d",i+j);
}
printf("\n");
}
}
void yuan()
{
float r, s;
printf("请输入圆的半径:");
scanf("%f",&r);
s=PI*r*r;
printf("圆的面积=%.2f\n",s); //圆的面积公式//
}
void tixing()
{
float a,b,h,s;
printf("请输入梯形的上底、下底、高:");
scanf("%f%f%f",&a,&b,&h);
s=((a+b)*h)/2.0;
printf("梯形的面积=%.2f\n",s); //梯形面积公式//
}
void zhengfang()
{
float a,s;
printf("请输入正方形的边长:");
scanf("%f",&a);
s=a*a;
printf("正方形的面积=%.2f\n",s); //正方形面积公式//
}
void changfang()
{
float a,b,s;
printf("请输入长方形的长和宽:");
scanf("%f%f",&a,&b);
s=a*b;
printf("长方形的面积=%.2f\n",s); //长方形面积公式//
}
main()
{
int x,x1,x2,x3,x4;
mima();
do
{
lei0();
printf("\t请选择:\t");
scanf("%d",&x);
switch(x)
{
case 1:
do
{
lei1();
printf("\t请选择:\t");
scanf("%d",&x1);
switch(x1)
{
case 1:
printf("\t--日期计算--\t\n");
rqjs();
break;
case 2:
printf("\t--百钱买百鸡--\t\n");
bqbj();
break;
case 3:
printf("\t--猴子吃桃--\t\n");
houzi();
break;
case 2:
printf("\t--小球反弹--\t\n");
xiaoqiu();
break;
case 0:
printf("\t--退出二级菜单--\t\n");
break;
}
}while(x1!=0);
break;
case 3:
do
{
lei2();
printf("\t请选择:\t");
scanf("%d",&x2);
switch(x2)
{
case 1:
printf("\t素数--\t\n");
sushu();
break;
case 2:
printf("\t--回文数--\t\n");
huiwei();
break;
case 3:
printf("\t--水仙花数--\t\n");
shuixian();
break;
case 4:
printf("\t--完全数--\t\n");
wanquan();
break;
case 0:
printf("\t--退出二级菜单--\t\n");
break;
}
}while(x2!=0);
break;
Case 4:
do
{
lei3();
printf("\t请选择:\t");
scanf("%d",&x3);
switch(x3)
{
case 1:
printf("\t--菱形--\t\n");
linxing();
break;
case 2:
printf("\t--平行四边形--\t\n");
sibian();
break;
case 3:
printf("\t--三角形--\t\n");
sanjiao();
break;
case 4:
printf("\t--六边形--\t\n");
liubian();
break;
case 0:
printf("\t--退出二级菜单--\t\n");
break;
}
}while(x3!=0);
break;
case 5:
do
{
lei4();
printf("\t请选择:\t");
scanf("%d",&x4);
switch(x4)
{
case 1:
printf("\t--圆形--\t\n");
yuan();
break;
case 2:
printf("\t--梯形--\t\n");
tixing();
break;
case 3:
printf("\t--正方形--\t\n");
zhengfang();
break;
case 4:
printf("\t--长方形--\t\n");
changfang();
break;
case 0:
printf("\t--退出二级菜单--\t\n");
break;
}
}while(x4!=0); //不等时退出//
break;
case 0:
printf("\t谢谢使用此程序,再见!\t\n");
}
}while(x!=0);
}
四、运行结果 (截图)
五、实训总结
通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。在我做程序的过程中有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于我来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗我几个小时时间的小小错误,同时它让我知道,只要努力,任何东西都不会太难。
计算机科学与技术系C语言实验报告实验名称:指针及其应用日期:得分:指导老师:专业:班次:姓名:学号:实验目的(1)掌握变量的指针及…
C语言程序设计与数据结构实训报告课题名称通讯录管理系统专业软件技术开发方向班级软件G083学号姓名徐阳指导教师黄爽20xx年12月…
暨南大学本科实验报告专用纸课程名称高级语言程序设计成绩评定实验项目名称结构体和共用体指导教师张晓刚实验项目编号8060151108…
高级语言程序设计学生实验报告专业计算机科学与技术学号姓名1实验一C程序的运行环境和使用方法1实验目的1了解所用的计算机系统的基本操…
C语言程序设计实训总结为加强学生的实践动手能力,为贯彻落实教学计划的要求,培养学生的专业实践技能,计算机系05级计算机网络工程与管…
防灾科技学院实训报告书专业计算机科学与技术系别灾害信息工程系报告题目计算机科学与技术认识实习C语言报告人班级指导教师带队教师实习时…
C程序设计实训报告书课程名称C程序设计实训任务书实训习题目1建立链表链表的结点类型与成员个数等由学生自己定义2杨辉三角形3数制转换…
陕西国防工业职业技术学院C语言实训报告专业班级姓名学号指导老师实训时间成绩软件技术软件3141雷家铿35314112刘慧梅陈巧莉2…
实训实验报告课程名称程序设计基础A课程编号3110690学院电信工程学院教学系计算机技术系班级15物联网班姓名刘宁指导教师朱孔涛2…
C语言实训心得10903090113李新程在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为…