c语言实训报告

 陕西国防工业职业技术学院

《C语言》实训报告

                           

    业:        软件技术            

    级:        软件3141            

    名:        石政政              

    号:         35314114           

指导老师:      刘慧梅 陈巧莉     

实训时间:    201420151)第    

    绩:                            

软件教研室制


项目名称  使用菜单选择趣味程序

一、项目描述

菜单选择趣味程序

二、项目相关知识

趣味程序: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语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。在我做程序的过程中有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于我来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗我几个小时时间的小小错误,同时它让我知道,只要努力,任何东西都不会太难。

相关推荐