求一个C语言菜单函数的程序?

Python027

求一个C语言菜单函数的程序?,第1张

1、对于窗口组件菜单,需要根据不同平台,通过图形编程接口,进行菜单的编制。

例程:

    #include<stdio.h> 

    #include<graphics.h> 

    #include<conio.h> 

    void main() 

    { 

    char str 

    int i,k,choice=1 

    int gd=DETECT,gm 

    initgraph(&gd,&gm," ") 

    setbkcolor(2) 

    settextstyle(3,0,3) 

    outtextxy(140,120,"A. The Mock Clock.") 

    outtextxy(140,150,"B. The Digital Clock.") 

    outtextxy(140,180,"C. Exit.") 

    setlinestyle(0,0,3) 

    rectangle(170,115,370,145) 

    /*按上下键选择所需选项*/ 

    for(i=1i<=100i++) 

    { 

    str=getch() 

    if(str==72) 

    { 

    --choice 

    if(choice==0)choice=3 

    } 

    if(str==80) 

    { 

    ++choice 

    if(choice==4)choice=1 

    } 

    if(str==13)break /*按回车键确认*/ 

    /*画图做菜单*/ 

    cleardevice() 

    switch(choice) 

    { case 1: setlinestyle(0,0,3) 

    rectangle(170,115,400,145) 

    settextstyle(3,0,3) 

    outtextxy(140,120,"A. The Mock Clock.") 

    settextstyle(3,0,3) 

    outtextxy(140,150,"B. The Digital Clock.") 

    outtextxy(140,180,"C. Exit.") 

    break 

    case 2: setlinestyle(0,0,3) 

    rectangle(170,145,400,175) 

    settextstyle(3,0,3) 

    outtextxy(140,120,"A. The Mock Clock.") 

    settextstyle(3,0,3) 

    outtextxy(140,150,"B. The Digital Clock.") 

    settextstyle(3,0,3) 

    outtextxy(140,180,"C. Exit.") 

    break 

    case 3: settextstyle(3,0,3) 

    outtextxy(140,120,"A. The Mock Clock.") 

    outtextxy(140,150,"B. The Digital Clock.") 

    settextstyle(3,0,3) 

    outtextxy(140,180,"C. Exit.") 

    setlinestyle(0,0,3) 

    rectangle(170,175,400,205) 

    break 

    } 

    } 

    if(i>=100)exit(0)/*如果按键超过100次退出*/ 

    switch(choice)/*这里引用函数,实现所要的功能*/ 

    { 

    case 1: cleardevice() 

    setbkcolor(4) 

    settextstyle(3,0,4) 

    outtextxy(160,120,"No.1 have not built.") break 

    case 2: cleardevice() 

    setbkcolor(4) 

    settextstyle(3,0,4) 

    outtextxy(160,150,"No.2 have not built.") 

    break 

    case 3: exit(0) 

    } 

    getch() 

    closegraph() 

    }

2、对于命令行菜单,直接通过不断刷新输出来模拟菜单行为。

例程:

    #include <stdio.h>

    #include <stdlib.h> 

    #include <string.h>

    int n,t,k

    int m

    char s1[20],s2[20],c

    char **l

    char *num[]={"one","two","three","four","five","six","seven","eight","nine","ten"}

    void menu()

    {

     printf("\n\n\t\t*******************************************************\n")

     printf("\t\t**   1.查找字符串S1中S2出现的次数                    **\n")

     printf("\t\t**   2.统计字符串中大小写字母,数字出现的次数        **\n")

     printf("\t\t**   3.将数字翻译成英语                              **\n")

     printf("\t\t**   4.结束                                          **\n")

     printf("\t\t*******************************************************\n")

     printf("\t\t     您的输入:")

        fflush(stdin)

     scanf("%d",&n)

    }

    void check()

    {

     

     char a[20],b[20]

     int j=0,k,m,l=0

     int t=0,n=0

     printf("请输入主字符串:\n")

     scanf("%s",a)

     k=strlen(a)

     printf("请输入子字符串:\n")

     scanf("%s",b)

     m=strlen(b)

     for(n=0n<kn++)

      if(a[n]==b[0])

      {

       j++ /*记录相同的字符数*/

       do

       {    

        if(a[++n]==b[++t])

        { 

         j++

         if(j==m) 

         {

          l++/*子字符串相同数*/

          j=0/*判断后相同字符数归零*/

          t=-1/*判断中if中++tt将会归零*/

         }

        }

        else

        {

         j=0

         t=0

         break/*如果不同跳出while循环让for使n+1继续判断*/

        }

       }while(a[n]!='\0')/*查找完字符数组a结束*/

      }

      printf("子字符串出现次数:\n%d\n",l)

    }                                  

    void cout()

    {

     int n=0,t=0,k=0

     printf("请输入一个字符串:\n")

        fflush(stdin)/*清除缓冲*/

     while((c=getchar())!='\n')

     {

      if(c>='a'&&c<='z')

       n++

      if(c>='A'&&c<='Z')

       t++

      if(c>='0'&&c<='9')

       k++

     }

     printf("有大写字母:\n%d\n",t)

     printf("有小写字母:\n%d\n",n)

     printf("有数字:\n%d\n",k)

    }

    void number()

    {

     l=num

     printf("请输入一个数字:(0-10)\n")

        fflush(stdin)

     scanf("%d",&m)

     printf("%d对应的英文是:\n%s\n",m,*(l+m-1))

    }

    void main()

    {

     while(1)

     {   

      system("cls")

      menu()

      switch(n)

      {

      case 1:system("cls")check()system("pause")break

      case 2:system("cls")cout()system("pause")break

      case 3:system("cls")number()system("pause")break

      case 4:system("cls")break

      default:system("cls")break 

      }

      if(n==4) break

     }

     printf("感谢使用\n")

    }

求c语言编写的菜单原代码

#include<stdio.h>

#include<graphics.h>

#include<conio.h>

void main()

{

char str

int i,k,choice=1

int gd=DETECT,gm

initgraph(&gd,&gm," ")

setbkcolor(2)

settextstyle(3,0,3)

outtextxy(140,120,"A. The Mock Clock.")

outtextxy(140,150,"B. The Digital Clock.")

outtextxy(140,180,"C. Exit.")

setlinestyle(0,0,3)

rectangle(170,115,370,145)

/*按上下键选择所需选项*/

for(i=1i<=100i++)

{

str=getch()

if(str==72)

{

--choice

if(choice==0)choice=3

}

if(str==80)

{

++choice

if(choice==4)choice=1

}

if(str==13)break/*按回车键确认*/

/*画图做菜单*/

cleardevice()

switch(choice)

{ case 1: setlinestyle(0,0,3)

rectangle(170,115,400,145)

settextstyle(3,0,3)

outtextxy(140,120,"A. The Mock Clock.")

settextstyle(3,0,3)

outtextxy(140,150,"B. The Digital Clock.")

outtextxy(140,180,"C. Exit.")

break

case 2: setlinestyle(0,0,3)

rectangle(170,145,400,175)

settextstyle(3,0,3)

outtextxy(140,120,"A. The Mock Clock.")

settextstyle(3,0,3)

outtextxy(140,150,"B. The Digital Clock.")

settextstyle(3,0,3)

outtextxy(140,180,"C. Exit.")

break

case 3: settextstyle(3,0,3)

outtextxy(140,120,"A. The Mock Clock.")

outtextxy(140,150,"B. The Digital Clock.")

settextstyle(3,0,3)

outtextxy(140,180,"C. Exit.")

setlinestyle(0,0,3)

rectangle(170,175,400,205)

break

}

}

if(i>=100)exit(0)/*如果按键超过100次退出*/

switch(choice)/*这里引用函数,实现所要的功能*/

{

case 1: cleardevice()

setbkcolor(4)

settextstyle(3,0,4)

outtextxy(160,120,"No.1 have not built.")break

case 2: cleardevice()

setbkcolor(4)

settextstyle(3,0,4)

outtextxy(160,150,"No.2 have not built.")

break

case 3: exit(0)

}

getch()

closegraph()

}

1. 测试人员,要熟悉多种语言,并能用多种语言进行开发测试,需要了解多种数据库,还要对code及文档是否合格要进行评估审察!还要开发各种测试环境,以确定软件在各种环境的表现状态!如果你仅认为测试仅是用用软件功能那就错了,因为要测试的范围很广!那种只要进行功能测试的公司,我想他们的软件,肯定会出很多问题。测试是伴随整个开发过程的,就连需求文档,设计文档都要进行测试评估!所以测试不是简单的事情,需要丰富的经验才能胜任!这样才能出高质量的软件。如果软件到最后再进行功能测试的话,有很多不易发现的bug就可能不会被发现!很可能,这个软件就不能使用了! 2. 软件开发与软件测试的区别!!! 软件测试工程师:查找bug、管理bug、质量保证 软件开发工程师:系统设计、编码、修改bug 测试工程师与开发工程师目标一致、行为对立、并行工作。 3. 测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。 一个有竞争力的测试人员要具有下面三个方面的素质: 计算机专业技能 计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面: 测试专业技能 现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。 测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。 软件编程技能 “测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。 软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。 此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。 网络、操作系统、数据库、中间件等知识: 与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。 在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。 操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。 数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。 作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识