㈠ c语言 菜单选择的程序怎么做 (用switch 语句)
#include "stdio.h"
void jc()
{
int n,i,s;
printf("输入一个整数:");
scanf("%d",&n);
s=1;
for(i=2;i<=n;i++)
s*=i;
printf("%d",s);
}
void max()
{
float d[3],fmax;
int i;
printf("输入三个数:");
for(i=0;i<3;i++)
{
scanf("%f",&d[i]);
if(i==0)
fmax=d[i];
else
{
if(d[i]>fmax)
fmax=d[i];
}
}
printf("max=%f",fmax);
}
void sxhs()
{
int d,g,s,b,t;
printf("输入一个(100-999之间)整数:");
scanf("%d",&d);
if(d>=100 && d<=999)
{
g=d%10;
t=d/10;
s=t%10;
b=t/10;
if(g*g*g+s*s*s+b*b*b==d)
printf("%d是水仙花数\n",d);
else
printf("%d不是水仙花数\n",d);
}
else
{
printf("输入错误!");
}
}
int main()
{
int num;
printf("*****************************************************\n");
printf("1、判断一个数是否为水仙花数\n2、求三个数的最大值\n3、求一个数的阶乘\n\n");
printf("*****************************************************\n\n");
printf("输入序号:");
scanf("%d",&num);
switch(num)
{
case 1:
sxhs();
break;
case 2:
max();
break;
case 3:
jc();
break;
default:
printf("序号输入错误");
break;
}
}
㈡ 用c语言制作一个简单的菜单程序,一个主函数四个子函数
给你一个简单的菜单程序吧。其中的子函数,填充成楼主所需即可。
#include<stdio.h>
/*子函数1*/
fun1(){
printf("子函数1 ");
}
/*子函数2*/
fun2(){
printf("子函数2 ");
}
/*子函数3*/
fun3(){
printf("子函数3 ");
}
/*子函数4*/
fun4(){
printf("子函数4 ");
}
intmain(void){
intkey;/*命令编号*/
do{
system("cls");/*清屏*/
/*打印菜单*/
printf("====================================================== ");
printf("# 功能详情 ");
printf("------------------------------------------------------ ");
printf("1 功能1 ");
printf("2 功能2 ");
printf("3 功能3 ");
printf("4 功能4 ");
printf("5 退出 ");
printf("====================================================== ");
printf(" ");
printf("请输入命令编号以开启操作:");
/*输入命令编号*/
scanf("%d",&key);
printf(" ");
/*switch函数实现输入功能序号执行相应函数*/
switch(key){
case1:fun1();break;/*子函数1*/
case2:fun2();break;/*子函数2*/
case3:fun3();break;/*子函数3*/
case4:fun4();break;/*子函数4*/
case5:printf("程序结束!按任意键退出... ");break;
default:printf("输入错误,请重新输入! ");break;
}
/*屏幕暂留*/
if(key!=5){
printf(" ");
printf("按Enter键继续... ");
printf(" ");
fflush(stdin);
getch();
}
}while(key!=5);
/*屏幕暂留*/
fflush(stdin);
getch();
return0;
}
运行结果
㈢ C语言中怎样定义,才能制作一个以菜单方式运行的程序
这是我以前做过的一个,你可以参考一下。利用k
do
{
//Console.Write("输入0结束,任意键继续");
//k = Console.ReadKey().KeyChar;
Console.Clear();
Console.WriteLine("*******************主菜单*******************");
Console.WriteLine("**************选择你要的服务:**************");
Console.WriteLine("****************1、输入信息*****************");
Console.WriteLine("****************2、浏览信息*****************");
Console.WriteLine("****************3、排序*********************");
Console.WriteLine("****************4、查询*********************");
Console.WriteLine("****************5、结束*********************");
int num = 0;
Console.Write("请输入您的选择:");
num = int.Parse(Console.ReadLine());
switch (num)
{
case 1:
{
Console.Clear();
for (int i = 1; i < m+1; i++)
{
Console.Write("请输入学生{0}的学号(姓名):",i);
iArray[i, 0] = Convert.ToString(Console.ReadLine());
for (int j = 1; j < n+1; j++)
{
//Console.WriteLine();
Console.Write("{0}的成绩:",iArray[0,j]);
iArray[i, j] = Convert.ToString(Console.ReadLine());
}
}
} break;
case 2:
{
Console.Clear();
for (int j = 0; j < n + 1; j++)
Console.Write("{0}\t",iArray[0,j]);
for (int i = 1; i < m + 1; i++)
{ Console.WriteLine();
for (int j = 0; j < n + 1; j++)
Console.Write("{0}\t", iArray[i, j]);
}
Console.WriteLine("\n按任意键回主菜单");
Console.ReadLine();
} break;
case 3:
{
Console.Clear();
int num3=0;
string temp,temp1;
int k3 = 1;
do
{
Console.Clear();
Console.WriteLine("选择排序的科目:");
for (int j = 1; j < n + 1; j++)
{
Console.WriteLine("{0}、按{1}", j, iArray[0, j]);
}
Console.WriteLine("{0}、返回主菜单", n + 1);
if (!int.TryParse(Console.ReadLine(), out num3))
return;
for (int m1 = 1; m1 < n + 1; m1++)
if (num3 == m1)
{
for (int i = 1; i < m; i++)
for (int n1 = i + 1; n1 < m + 1; n1++)
if (string.Compare(iArray[i, num3], iArray[n1, num3]) < 0)
{
temp = iArray[i, num3];
temp1=iArray[i,0];
iArray[i, num3] = iArray[n1, num3];
iArray[i,0]=iArray[n1,0];
iArray[n1, num3] = temp;
iArray[n1, 0] = temp1;
}
Console.Clear();
Console.Write("{0}\t", iArray[0, 0]);
Console.Write("{0}\t", iArray[0, num3]);
for (int i = 1; i < m + 1; i++)
{
Console.WriteLine();
Console.Write("{0}\t", iArray[i, 0]);
Console.Write("{0}",iArray[i,num3]);
}
Console.WriteLine("\n{0}最高分为{1},最低分为{2}",iArray[0,num3],iArray[1,num3],iArray[m,num3]);
Console.ReadLine();
}
else if (num3 == n + 1)
k3 = 0;
} while (k3 != 0);
} break;
case 4:
Console.Clear();
Console.Write("请输入要查找的学号(姓名):");
string x;
x = Console.ReadLine();
int pos = -1;
for (int i = 1; i < m+1; i++)
if (string.Equals(x,iArray[i, 0]))
{
pos = i;
Console.WriteLine("{0}在数组中位置为{1}", x, pos);
for (int j = 0; j < n + 1; j++)
Console.Write("{0}\t", iArray[0, j]);
Console.WriteLine();
for (int j = 0; j < n + 1; j++)
Console.Write("{0}\t", iArray[pos, j]);
}
if (pos == -1)
Console.WriteLine("{0}不存在于数组中", x);
Console.ReadLine();
break;
case 5:
k = 0;
break;
}
}
while (k!=0);
㈣ C语言中如何实现选项菜单的功能
#include<stdio.h>
#include<stdlib.h>
voidhello()
{
printf("helloworld ");
}
intmain()
{
intx;
while(1)
{
printf("-------------操作选项----------- ");
printf("1:返回菜单 ");
printf("2:退出程序 ");
printf("3:执行操作 ");
printf("-------------------------------- ");
printf("按数字键选择要执行的操作:");
scanf("%d",&x);
printf(" ");
//输入2跳出循环,退出程序
if(x==2)
break;
switch(x)
{
case1:break;//输入1,跳出switch语句,进入下一次循环
case3:hello();break;
default://数字输入错误,跳出siwtch语句,进入下一次循环
printf("输入的数字不正确 ");
break;
}
}
return0;
}
说明:有3个选项,1是用返回菜单,2是用于退出程序,3是用于执行相关的操作,这里只是一个示例,所以将要执行的操作,编写成了一个输出hello world的函数。
㈤ 怎样用C语言编写菜单
对于窗口组件菜单,需要根据不同平台,通过图形编程接口,进行菜单的编制。
例程:
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
voidmain()
{
charstr;
inti,k,choice=1;
intgd=DETECT,gm;
initgraph(&gd,&gm,"");
setbkcolor(2);
settextstyle(3,0,3);
outtextxy(140,120,"A.TheMockClock.");
outtextxy(140,150,"B.TheDigitalClock.");
outtextxy(140,180,"C.Exit.");
setlinestyle(0,0,3);
rectangle(170,115,370,145);
/*按上下键选择所需选项*/
for(i=1;i<=100;i++)
{
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)
{case1:setlinestyle(0,0,3);
rectangle(170,115,400,145);
settextstyle(3,0,3);
outtextxy(140,120,"A.TheMockClock.");
settextstyle(3,0,3);
outtextxy(140,150,"B.TheDigitalClock.");
outtextxy(140,180,"C.Exit.");
break;
case2:setlinestyle(0,0,3);
rectangle(170,145,400,175);
settextstyle(3,0,3);
outtextxy(140,120,"A.TheMockClock.");
settextstyle(3,0,3);
outtextxy(140,150,"B.TheDigitalClock.");
settextstyle(3,0,3);
outtextxy(140,180,"C.Exit.");
break;
case3:settextstyle(3,0,3);
outtextxy(140,120,"A.TheMockClock.");
outtextxy(140,150,"B.TheDigitalClock.");
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)/*这里引用函数,实现所要的功能*/
{
case1:cleardevice();
setbkcolor(4);
settextstyle(3,0,4);
outtextxy(160,120,"No.1havenotbuilt.");break;
case2:cleardevice();
setbkcolor(4);
settextstyle(3,0,4);
outtextxy(160,150,"No.2havenotbuilt.");
break;
case3:exit(0);
}
getch();
closegraph();
}对于命令行菜单,直接通过不断刷新输出来模拟菜单行为。
例程:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intn,t,k;
intm;
chars1[20],s2[20],c;
char**l;
char*num[]={"one","two","three","four","five","six","seven","eight","nine","ten"};
voidmenu()
{
printf(" ******************************************************* ");
printf(" **1.查找字符串S1中S2出现的次数** ");
printf(" **2.统计字符串中大小写字母,数字出现的次数** ");
printf(" **3.将数字翻译成英语** ");
printf(" **4.结束** ");
printf(" ******************************************************* ");
printf(" 您的输入:");
fflush(stdin);
scanf("%d",&n);
}
voidcheck()
{
chara[20],b[20];
intj=0,k,m,l=0;
intt=0,n=0;
printf("请输入主字符串: ");
scanf("%s",a);
k=strlen(a);
printf("请输入子字符串: ");
scanf("%s",b);
m=strlen(b);
for(n=0;n<k;n++)
if(a[n]==b[0])
{
j++;/*记录相同的字符数*/
do
{
if(a[++n]==b[++t])
{
j++;
if(j==m)
{
l++;/*子字符串相同数*/
j=0;/*判断后相同字符数归零*/
t=-1;/*判断中if中++t;t将会归零*/
}
}
else
{
j=0;
t=0;
break;/*如果不同跳出while循环让for使n+1继续判断*/
}
}while(a[n]!='