當前位置:首頁 » 編程軟體 » 菜單編程序

菜單編程序

發布時間: 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;

熱點內容
伺服器關閉了電腦網路還能用 發布:2025-01-25 08:22:28 瀏覽:587
熱血航線的登錄密碼在哪裡可以看 發布:2025-01-25 08:22:27 瀏覽:769
5系怎麼選擇配置 發布:2025-01-25 08:22:18 瀏覽:842
pythonscipy 發布:2025-01-25 08:18:52 瀏覽:418
恕瑞瑪伺服器地址 發布:2025-01-25 08:18:51 瀏覽:801
oa源碼php 發布:2025-01-25 08:11:31 瀏覽:734
gpc腳本 發布:2025-01-25 08:10:47 瀏覽:317
雲伺服器和伺服器的區別 發布:2025-01-25 08:10:39 瀏覽:547
python寫文件追加 發布:2025-01-25 08:09:54 瀏覽:778
ftp跳到瀏覽器 發布:2025-01-25 08:09:54 瀏覽:528