当前位置:首页 » 编程软件 » 菜单编程序

菜单编程序

发布时间: 2022-04-03 03:43:53

❶ 编写一个程序,显示如下菜单:

参考以前写的这个吧
#include<stdio.h>
#include<stdlib.h>
int s[130];
int q,w,n;
int main()
{
void tongji();
void paixu();
void chashu();
void shanshu();
void qiupingjun();
void tuichu();
int p;
printf("1.输入数字并统计个数\n2.排序\n3.插入数字\n4.删除数字\n5.求平均值\n");
printf("请输入选项:\n");
for(;;)
{
scanf("%d",&p);
switch(p)
{
case 1:tongji();break;
case 2:paixu();break;
case 3:chashu();break;
case 4:shanshu();break;
case 5:qiupingjun();break;
case 6:tuichu();break;
default:printf("输入错误!请重新输入\n");
}
}
}
void tongji()
{
int m,i,j,c,f;
printf("请输入数字(以空格隔开,以-1作为结束的标志):\n");
for(n=0;n<100;n++)
{
scanf("%d",&s[n]);
if(s[n]==-1)
break;
}
printf("这组数的个数是:%d\n",n);
q=n;//q在排序中使用
w=q;//w在插数中使用
c=1;
printf("元素分别是:\n");
printf("%d ",s[0]);
for(j=1;j<n;j++)
{
f=1;
for(i=j-1;i>=0;i--)
{
if(s[i]==s[j])
{
f=0;break;
}
}
if(f)
{
printf("%d ",s[j]);
c++;
if(c%10==0)
printf("\n");
}
}
if(c%10!=0)
printf("\n");
printf("元素个数是:%d\n",c);
printf("数组中的所有数字:\n");
for(m=1;m<=n;m++)
{
printf("%d ",s[m-1]);
if(m%10==0)
printf("\n");
}
if(n%10!=0)
printf("\n");
}

void paixu()
{
int temp,i,j,k,t,tp;
for(i=0;i<q-1;i++)
{
k=i;
for(j=i+1;j<q;j++)
{
if(s[j]<s[k])
{
k=j;
}
}
tp=s[k];s[k]=s[i];s[i]=tp;
}
printf("从小到大排序的结果:\n");
for(i=0;i<n;i++)
{
printf("%d ",s[i]);
}
printf("\n");
}
void chashu()
{
int i,j,a[20],e,t;
printf("请输入要插入的数(以空格隔开,以-1作为结束的标志):\n");
for(i=0;i<30;i++)
{
scanf("%d",&a[i]);
if(a[i]==-1)
{
break;
}
}
e=i;
printf("要插入的数的个数是:%d\n",e);
for(i=0;i<e;i++)
{
for(j=1;j<w;j++)
{
if(s[0]>a[i])
{
t=w-1;
for(t;t>=0;t--)
{
s[t+1]=s[t];
}
s[0]=a[i];
break;
}
if(s[w-1]<=a[i])
{
s[w]=a[i];
break;
}
if((s[j-1]<=a[i]&&s[j]>a[i])||(s[j-1]<a[i]&&s[j]>a[i]))
{
t=w-1;
for(t;t>=j;t--)
{
s[t+1]=s[t];
}
s[j]=a[i];
break;
}
}
w++;
}
printf("插入数后的数组:\n");
for(i=0;i<w;i++)
{
printf("%d ",s[i]);
}
printf("\n");
printf("此时数字个数为:%d\n",w);
}
void shanshu()
{
int i,j,p,z;
printf("请输入要删除的数:\n");
scanf("%d",&p);
z=w;
for(;;)
{
for(i=0;i<w;i++)
{
if(s[i]==p)
{
for(j=i;j<w-1;j++)
{
s[j]=s[j+1];
}
w--;
break;
}

}
if(i==w)
break;
}
if(z==w)
{
printf("原数列中无此数!");
}
else
{
printf("删除数后的数列为:\n");
for(i=0;i<w;i++)
{
printf("%d ",s[i]);
}
printf("\n");
printf("此时数组中的数字个数是:%d",w);
}
printf("\n");
}
/*void shanshu()
{
int i=0,j=0;
while(i<n)
{
if(s[i]!=x){s[j]=s[i];i++;j++;}
else{i++;count--;}
}
}*/
/*void shanshu()
{int i,j,k;
for(i=0;i<w;i++)
{ k=i;
if(s[i]==x)
{ for(i=k;i<w-1;i++)
s[i]=s[i+1];
w--;
i=k-1;
}
}*/

void qiupingjun()
{
int h,i;
h=0;
for(i=0;i<w;i++)
h=h+s[i];
printf("这组数的平均数为:%f\n",1.0*h/w);
}
void tuichu()
{
exit(0);
}
求采纳为满意回答。

❷ C++编程菜单

FileDialog 可以弹出打开对话框, 可以过滤文件格式, 图片的话, bmp就行了.
PictureBox 显示图片的..MFC控件..支持bmp``
加菜单的话VC可视化的,在Resource View中的Menu可以改```关联要自己加``

这是提示, 自行MSDN~

c语言编程做一个简单的菜单

#include<stdio.h>
#include<stdlib.h>
voidmenu()//菜单绘制
{
printf("--------------------------------------- ");
printf(" 0.退出 ");
printf(" 1.录入信息 ");
printf(" 2.查找信息 ");
printf(" 3.删除信息 ");
printf(" 4.浏览信息 ");
printf(" 5.有其他疑问找群主")
printf(" 6.C++8群:491994603")
printf("--------------------------------------- ");
}

voidkeyDown()//按键处理
{
intchoice;
scanf("%d",&choice);
switch(choice)
{
case0:
printf("退出程序 ");
Sleep(2000);
return0;
case1:
//调用菜单1实现函数
break;
case2:
//调用菜单2实现函数
break;
case3:
//调用菜单3实现函数
break;
case4:
//调用菜单4实现函数
break;
default:
printf("输入错误 ");
}
system("pause");
return0;
}
intmain()
{
while(1)
{
menu();
keyDown();
system("cls");
}
return0;
}

❹ 怎么编写菜单式程序

用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易!
通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。

第一章 让我们的记事本马上运行

急于求成是初学者共有的心愿。那好,请按如下三个步骤做,我们的愿望立即就可以实现!

步骤一:绘制界面。
新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft RichText Box 6.0和公共对话框Microsoft Common Dialog 6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichText Box和Commn Dialog,其中RichText Box的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。

步骤二:编辑菜单。
按Ctrl+E调出菜单编辑器,我们来做如下几个菜单:
一.文件菜单:
文件(第一层) mnuFile
新建(第二层) mnuNew
打开(第二层) mnuOpen
保存(第二层) mnuSave
- (第二层) mnuFileSep (分隔线)
退出(第二层) mnuExit
二.编辑菜单:
编辑(第一层) mnuEdit
复制(第二层) mnuCopy
剪切(第二层) mnuCut
粘贴(第二层) mnuPaste
- (第二层) mnuEditSep (分隔线)
全选(第二层) mnuSelecAll
三.搜索菜单:
搜索(第一层) mnuSearch
查找(第二层) mnuFind
查找下一个(第二层) mnuFindOn
四.帮助菜单:
帮助(第一层) mnuHelp
使用说明(第二层) mnuUsage
关于(第二层) mnuAbout
(注:各菜单项的快捷键请自行设置)

好了,其它的菜单项以后再根据需要添加。现在进入:

步骤三:编写代码。

’声明查找变量
Dim sFind As String
’声明文件类型
Dim FileType, FiType As String

’初始化程序
Private Sub Form_Load()
’设置程序启动时的大小
Me.Height = 6000
Me.Width = 9000
End Sub

’设置编辑框的位置和大小
Private Sub Form_Resize()
On Error Resume Next ’出错处理
RichTextBox1.Top=20
RichTextBox1.Left=20
RichTextBox1.Height = ScaleHeight-40
RichTextBox1.Width = ScaleWidth-40
End Sub

’新建文件
Private Sub mnuNew_Click()
RichTextBox1.Text = "" ’清空文本框
FileName = "未命名"
Me.Caption = FileName
End Sub

’打开文件
Private Sub mnuOpen_Click()
CommonDialog1.Filter = "文本文档(*.txt)│*.txt│RTF文档(*.rtf)│*.rtf│所有文件(*.*)│*.*"
CommonDialog1.ShowOpen
RichTextBox1.Text = "" ’清空文本框
FileName = CommonDialog1.FileName
RichTextBox1.LoadFile FileName
Me.Caption = "超级记事本:" & FileName
End Sub

’保存文件
Private Sub mnuSave_Click()
CommonDialog1.Filter = "文本文档(*.txt)│*.txt│RTF文档(*.rtf)│*.rtf│所有文件(*.*)│*.*"
CommonDialog1.ShowSave
FileType = CommonDialog1.FileTitle
FiType = LCase(Right(FileType, 3))
FileName = CommonDialog1.FileName
Select Case FiType
Case "txt"
RichTextBox1.SaveFile FileName, rtfText
Case "rtf"
RichTextBox1.SaveFile FileName, rtfRTF
Case "*.*"
RichTextBox1.SaveFile FileName
End Select
Me.Caption = "超级记事本:" & FileName
End Sub

’退出
Private Sub mnuExit_Click()
End
End Sub

’复制
Private Sub mnuCopy_Click()
Clipboard.Clear
Clipboard.SetText RichTextBox1.SelText
End Sub

’剪切
Private Sub mnuCut_Click()
Clipboard.Clear
Clipboard.SetText RichTextBox1.SelText
RichTextBox1.SelText = ""
End Sub

’全选
Private Sub mnuSelectAll_Click()
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = Len(RichTextBox1.Text)
End Sub

’粘贴
Private Sub mnuPaste_Click()
RichTextBox1.SelText = Clipboard.GetText
End Sub

’查找
Private Sub mnuFind_Click()
sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind)
RichTextBox1.Find sFind
End Sub

’继续查找
Private Sub mnuFindOn_Click()
RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1
RichTextBox1.Find sFind, , Len(RichTextBox1)
End Sub

’使用说明
Private Sub mnuReadme_Click()
On Error GoTo handler
RichTextBox1.LoadFile "Readme.txt", rtfText ’请写好Readme.txt文件并存入程序所在文件夹
Me.Caption = "超级记事本:" & "使用说明"
Exit Sub
handler:
MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息"
End Sub

’关于
Private Sub mnuAbout_Click()
MsgBox "超级记事本 Ver1.0 版权所有(C) 2001 土人",vbOKOnly,"关于"
End Sub

’设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单)
Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu mnuEdit, vbPopupMenuLeftAlign
Else
Exit Sub
End If
End Sub

’防止在切换输入法时字体自变(感谢王必成先生提供此方案)
Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then
RichTextBox1.SelFontName = CommonDialog1.FontName
End If
End Sub

至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感?
当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。

第二章 美化程序界面

多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。

一.工具栏
(一)制作工具栏
单击“工程”-“部件”,选中Microsoft Windows Common Control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。
要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:\Microsoft Visual Studio\Common\Graphics\Bitmaps\TlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“New”。
图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项:
1.“图像列表”:选择ImageList1
2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat
继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。
(二)编写工具栏的按钮代码
工具栏按钮的代码编辑很简单,可以按照下面的格式去编写:
Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next ’出错处理
Select Case Button.Key ’按关键字选择
Case "新建"
mnuNew_Click ’等于菜单项“新建”被单击
Case "打开" ’等于菜单项“打开”被单击
mnuOpen_Click
’......(继续编写其它按钮的代码)
End Select
End Sub

完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.Top = 20 和 RichTextBox1.Height = Me.ScaleHeight - 40分别改为RichTextBox1.Top = 380,RichTextBox1.Height = Me.ScaleHeight - 400即可。

二.状态栏
(一)制作状态栏
状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为:
0-sbrText 显示文本,需编写代码
1-sbrCaps 显示大小写状态,无需编程
2-sbrNum 显示NumLock键开关状态,无需编程
3-sbrIns 显示Insert键状态,无需编程
4-sbrScr1
5-sbrTime 显示时间,不编程时时间不会随系统时钟变化
6-sbrDate 显示日期,无需编程
注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height = Me.ScaleHeight - 400改为RichTextBox1.Height = Me.ScaleHeight - 600。
(二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。

例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面:
StatusBar1.Panels(1).Text = "目前状态:正在打开文件" & "《" &CommonDialog1.FileTitle & "》"

例二:让第三个窗格显示时间并让时间跟随系统时钟变化。
首先,给程序加一个Timer控件,将其Interval属性设为1000。然后:
在Form_Load过程加入:StatusBar1.Panels(1).Text = Time;然后给Timer控件编写代码:

Private Sub Timer1_Timer()
If StatusBar1.Panels(3).Text < > CStr(Time) Then
StatusBar1.Panels(3).Text = Time
End If
End Sub

例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。
Private Sub RichTextBox1_Chang()
StatusBar1.Panels(1).Text = "正在编辑文档:" & CommonDialog1.FileName
End Sub

辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。

❺ 求一个用C语言编写的菜单程序

0 ?
虽说容易也不会就这样写吧,至少是我。

❻ 如何编辑开始菜单中所有程序的内容

只需把你想要添加的快捷方式拖曳到你想要在的地方,比如开始的程序里

❼ 用汇编语言写一个简单的菜单选择程序

裸机还是dos平台,或者windows平台

❽ 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=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)
{ 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();
}

❾ C语言菜单程序编写

#include <stdio.h>
#include <math.h>
void armstrong(int a)
{
int i;
int n = 1;
int b = a;
int s = 0;
while(b /= 10) n++;

b = a;

for(i = 0; i < n; i ++){
s += (int)pow(b%10, n);
b /= 10;
}
if(s == a){
printf("%d 是水仙花数!\n", a);
}else{
printf("%d 不是水仙花数!\n", a);
}
}
void prime(int a)
{
int i;
if(a < 2) {
printf("%d 不是素数!\n", a);
return ;
}
for(i = 2; i < a; i ++){
if(a % i == 0) {
printf("%d 不是素数!\n", a);
return ;
}
}
printf("%d 是素数!\n", a);
}
void max(int a, int b, int c)
{
if(b > a) a = b;
if(c > a) a = c;
printf("最大值是:%d\n", a);
}
void factorial(int a)
{
int i;
int f = 1;
for(i = a; i >1; i --)
f *= i;
printf("%d 的阶乘是:%d\n", a, f);
}

int main(int argc, char **argv)
{
int a, b, c;
int type ;
int run = 1;
printf("本程序可完成某些数学计算:\n");
printf( "***********************************\n"
"* 1.判断一个数是否为水仙花数。 *\n"
"* 2.判断一个数是否为素数。 *\n"
"* 3.求三个数的最大值。 *\n"
"* 4.求一个数的阶乘。 *\n"
"* 0.退出。 *\n"
"***********************************\n");
do{
printf("请按菜单进行选择(0-4):");
scanf("%d", &type);
switch(type){
case 0:
while(1){
getchar();
printf("你确定退出吗?(y/n)");
a = getchar();
switch(a){
case 'y':
run = 0;
break;
case 'n':
run = 1;
break;
default:
break;
}
if((a == 'y') || (a == 'n')) break;
}
break;
case 1:
printf("请输入一个数:");
scanf("%d", &a);
armstrong(a);
break;
case 2:
printf("请输入一个数:");
scanf("%d", &a);
prime(a);
break;
case 3:
printf("请输入三个数:");
scanf("%d%d%d", &a, &b, &c);
max(a, b, c);
break;
case 4:
printf("请输入一个数: ");
scanf("%d", &a);
factorial(a);
break;
default:
break;
}
}while(run);
return 0;
}

❿ C++编写一个菜单显示程序

#include <iostream>#include <cstdlib>void print() { std::cout << "******************" << std::endl << "*1

*" << std::endl << "*2

*" << std::endl << "*3

" << std::endl << "*0

*" << std::endl << "******************" << std::endl << std::endl;}char request() { std::cout << "

<< std::endl << std::endl; std::string s; std::cin >> s; return s[0];}int check(char c) { switch (c) { case '1': case '2': case '3': std::cout << "

" << c << std::endl; break; case '0': std::cout << "

" << c << std::endl; exit(0); default: std::cout << "

<< c << std::endl; break; }}int main(int argc, char** argv) { print(); while (true) { char c = request(); check(c); } return 0;

热点内容
领航s1配置怎么样 发布:2025-01-26 09:58:10 浏览:763
公司局域网搭建服务器搭建 发布:2025-01-26 09:16:56 浏览:433
android裁剪圆形图片 发布:2025-01-26 09:05:56 浏览:411
小贷源码 发布:2025-01-26 08:20:58 浏览:536
更换电脑名登录服务器 发布:2025-01-26 07:56:52 浏览:240
后台phpjava 发布:2025-01-26 07:12:34 浏览:657
微信解绑密码是什么 发布:2025-01-26 06:50:07 浏览:734
app如何访问服务器 发布:2025-01-26 06:36:56 浏览:741
拳皇安卓单机哪里下载 发布:2025-01-26 06:30:46 浏览:539
注册会员时积分消费密码是什么 发布:2025-01-26 06:30:45 浏览:247