真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言實訓的主函數(shù)設計 c語言怎么寫主函數(shù)

單片機C語言程序設計實訓100例里的第七題8只數(shù)碼管滾動顯示單個數(shù)字c語言設計

把主函數(shù)改成這樣:

站在用戶的角度思考問題,與客戶深入溝通,找到松滋網(wǎng)站設計與松滋網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務覆蓋松滋地區(qū)。

void main()

{

uchar i,j,k=0x80;

while(1)

{

for(i=8;i0;i--)

{

for(j=250;j0;j--)

{

P2=0xff;

P0=DSY_CODE[8-i];

P2=k;

DelayMS(3);

}

}

k=_crol_(k,1);

}

}

補充:

你要是想從左到右依次顯示0到7,并且依次一個一個的顯示過去,那你只需要改你一個數(shù)組里的內(nèi)容就OK了。

uchar code DSY_CODE[]=

{

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90

};

具體怎么改要看你電路是怎么接的,就是任意時刻只讓一個發(fā)光管點亮,很明顯,你上面的這個數(shù)組里的數(shù)據(jù)估計不能完成你所要的功能,我也沒法知道你的電路,你要按你的電路去改這個數(shù)組的內(nèi)容,就是任意一個數(shù)同時只讓八個數(shù)碼管其中一個點亮就OK了,至于細節(jié),還是你自己慢慢試,印象深些。呵呵。

設計一個C語言函數(shù)(急求)

前面我們說的都是無參數(shù)無返回值的函數(shù),實際程序中,我們經(jīng)常使用到帶參數(shù)有返回值的函數(shù)。

一、函數(shù)參數(shù)傳遞

1.形式參數(shù)和實際參數(shù)

函數(shù)的調(diào)用值把一些表達式作為參數(shù)傳遞給函數(shù)。函數(shù)定義中的參數(shù)是形式參數(shù),函數(shù)的調(diào)用者提供給函數(shù)的參數(shù)叫實際參數(shù)。在函數(shù)調(diào)用之前,實際參數(shù)的值將被拷貝到這些形式參數(shù)中。

2.參數(shù)傳遞

先看一個例子:

void a(int); /*注意函數(shù)聲明的形式*/

main()

{

int num;

scanf("%d",num);

a(num); /*注意調(diào)用形式*/

}

void a(int num_back) /*注意定義形式*/

{

printf("%d\n",num_back);

}

在主函數(shù)中,先定義一個變量,然后輸入一個值,在a()這個函數(shù)中輸出。當程序運行a(num);這一步時,把num的值賦值給num_back,在運行程序過程中,把實際參數(shù)的值傳給形式參數(shù),這就是函數(shù)參數(shù)的傳遞。

形參和實參可能不只一個,如果多于一個時,函數(shù)聲明、調(diào)用、定義的形式都要一一對應,不僅個數(shù)要對應,參數(shù)的數(shù)據(jù)類型也要對應。

void a(int,float);

main()

{

int num1;

float num2;

scanf("%d",num1);

scanf("%f",num2);

a(num1,num2);

}

void a(int num1_back,float num2_back)

{

printf("%d,%f\n",num1_back,num2_back);

}

上面的例子中,函數(shù)有兩個參數(shù),一個是整型,一個是浮點型,那么在聲明、調(diào)用、定義的時候,不僅個數(shù)要一樣,類型也要對應。如果不對應,有可能使的編譯錯誤,即使沒錯誤,也有可能讓數(shù)據(jù)傳遞過程中出現(xiàn)錯誤。

再看一個例子:

void a(int);

main()

{

int num;

scanf("%d",num);

a(num);

}

void a(int num)

{

printf("%d\n",num);

}

看上面的例子,形式參數(shù)和實際參數(shù)的標識符都是num,程序把實際參數(shù)num的值傳遞給形式參數(shù)num。有些人可能就不明白了,既然兩個都是num,為什么還要傳遞呢?干脆這樣不就行了嗎:

void a();

main()

{

int num;

scanf("%d",num);

a();

}

void a()

{

printf("%d\n",num);

}

其實不然,這就要涉及到標識符作用域的問題。作用域的意思就是說,哪些變量在哪些范圍內(nèi)有效。一個標識符在一個語句塊中聲明,那么這個標識符僅在當前和更低的語句塊中可見,在函數(shù)外部的其實地方不可見,其他地方同名的標識符不受影響,后面我們會系統(tǒng)講解作用域的問題。在這兒你就要知道兩個同名的變量在不同的函數(shù)中是互不干擾的。

前面將的都是變量與變量之間的值傳遞,其實函數(shù)也可以傳遞數(shù)組之間的值。看下面的例子:

void a(int []);

main()

{

int array[5],i;

for(i=0;i5;i++) scanf("%d",array[i]);

a(array);

}

void a(int array[])

{

int i;

for(i=0;i5;i++) printf("%d\t",array[i]);

printf("\n");

}

C語言程序設計實驗報告 (1)編寫一個函數(shù)primeNum(int x),功能是辨別一個數(shù)是否為素數(shù)。

#include math.h

int primeNum(int p)

{

int i, q;

/* Negative number is not a prime */

if (p 0)

return 0;

q = (int) sqrt(p);

for (i = 2; i q; i++)

if ((p % i) == 0)

return 0;

/* No factor of p is found */

return 1;

}

/*原理::

從2-sqrt(x)的數(shù)中看是否有可以整除的, 如果沒有, 則為素數(shù).

*/

C語言實訓圖書信息管理系統(tǒng)設計

#include dos.h

#include bios.h

#include conio.h

#include stdio.h

#include stdlib.h

#include math.h

#define LEFT 0x4b00 /*左*/

#define RIGHT 0x4d00 /*右*/

#define DOWN 0x5000 /*下*/

#define UP 0x4800 /*上*/

#define SPACE 0x3920 /*空格*/

#define ESC 0x011b /* ESC鍵*/

#define ENTER 0x1c0d /*回車鍵*/

#define Backspace 0xe08 /*擦除鍵*/

#define ALT_B 12288 /*組合鍵ALT_B */

#define ALT_M 12800/*組合鍵ALT_M */

#define ALT_H 8960/*組合鍵ALT_H */

int key;/*按鍵變量*/

int textx,texty;/*光標坐標,x行,y列*/

struct menustruct/*菜單用的結(jié)構(gòu)體*/

{

char name[10];/*主菜單名*/

char str[10][20];/*選項*/

int n;/*選項數(shù)*/

}ml[3];/*使用了3個,可根據(jù)需要增刪*/

typedef struct BookList/*書的結(jié)構(gòu)體*/

{

char num[20];/*圖書編號*/

char name[20];/*書名*/

int price;/*書的價格*/

char person[20];/*借閱人*/

int yes;/*判斷書是否存在或者已經(jīng)借出,1存在,0借出*/

struct BookList *next;

}Book;

typedef struct MemberList/*會員的結(jié)構(gòu)體*/

{

char name[20];/*會員的姓名*/

char sex[2];/*會員的性別*/

int age;/*會員的年齡*/

struct MemberList *next;

}Member;

char save[4096];/*保存文本區(qū)域空間*/

/*char sav1[4096];*/

char c[4096];/*清屏專用空間*/

int i,j;/*常用變量*/

void Menu();/*初始化界面*/

void Selectitem();/*定義菜單*/

void DrawSelectitem();/*顯示主菜單*/

void BlackText(int x,int y,char *z);/*選中菜單*/

void RedText(int x,int y,char *z);/*正常菜單*/

void Run();/*具體操作過程*/

void DrawMl(int n);/*顯示下拉菜單*/

void MoveMl(int n,int x);/*菜單選項的控制*/

void Enter(int m,int n);/*菜單選項的具體功能*/

void BookAdd();/*添加圖書*/

void BookConsult();/*圖書查詢*/

void BookDel();/*刪除圖書資料*/

void BookBorrow();/*借書*/

void BookReturn(); /*還書*/

void MemberAdd(); /*增加會員*/

void MemberConsult();/*查詢會員*/

void MemberDel(); /*刪除會員*/

void MemberBook(); /*查詢會員借書信息*/

void Help(); /*幫助*/

void Ver(); /*版本信息*/

void ClrScr();/*自定義清屏函數(shù)*/

void DrawFrame(int left,int up,int right,int down,int textcolor,int backgroundcolor);/*畫邊框*/

/***主函數(shù)****/

void main(void)

{

Menu();/*初始化界面*/

Run();/*具體操作過程*/

}

/*初始化界面*/

void Menu()

{

system("cls"); /*調(diào)用系統(tǒng)的清屏命令*/

textbackground(BLUE);/*將背景設置為藍色*/

window(1,1,25,80);

clrscr();

textx=3;/*光標初始化位置*/

texty=2;

gotoxy(1,2);

printf("%c",218);/*畫左上角*/

for(i=0;i78;i++)

printf("%c",196); /*畫水平直線*/

printf("%c",191);/*畫右上角*/

for(i=3;i=23;i++)

{

gotoxy(1,i);

printf("%c",179); /*畫垂直線*/

gotoxy(80,i);

printf("%c",179);

}

printf("%c",192); /*畫左下角*/

for(i=0;i78;i++)

printf("%c",196);

printf("%c",217); /*畫右下角*/

gotoxy(1,1);

textcolor(7); /*設置灰色*/

for(i=0;i80;i++)

cprintf("%c",219);/*用符號實現(xiàn)畫主菜單的灰色背景區(qū)*/

Selectitem(); /*調(diào)用選項函數(shù)*/

DrawSelectitem(); /*畫選項*/

gettext(2,3,78,23,c); /*保存當前文本區(qū)域*/

}

/*定義菜單*/

void Selectitem()

{

strcpy(ml[0].name,"Book");/*下面的具體選項補空格是為了各菜單黑色背景相同*/

strcpy(ml[0].str[0],"Add ");/*添加圖書*/

strcpy(ml[0].str[1],"Consult ");/*查詢圖書*/

strcpy(ml[0].str[2],"Del ");/*刪除圖書資料*/

strcpy(ml[0].str[3],"Borrow ");/*借書*/

strcpy(ml[0].str[4],"Return ");/*還書*/

strcpy(ml[0].str[5],"Exit ");/*退出系統(tǒng)*/

ml[0].n=6; /*保存菜單的項數(shù)*/

strcpy(ml[1].name,"Member");

strcpy(ml[1].str[0],"Add ");/*添加新會員*/

strcpy(ml[1].str[1],"Consult ");/*查詢會員資料*/

strcpy(ml[1].str[2],"Del ");/*刪除會員資料*/

strcpy(ml[1].str[3],"Memberbook ");

ml[1].n=4;

strcpy(ml[2].name,"Help");/*系統(tǒng)幫助*/

strcpy(ml[2].str[0],"This System ");

strcpy(ml[2].str[1],"Ver ");

ml[2].n=2;

}

/*顯示主單名*/

void DrawSelectitem()

{

for(i=0;i3;i++)

RedText(i,1,ml[i].name); /*顯示主菜單名,且首字母為紅色*/

}

/*正常顯示菜單*/

void RedText(int x,int y,char *z)

{

textbackground(7); /*設置背景顏色為淺灰色*/

gotoxy(3+x*20,y);

for(j=0;z[j];j++)

{

if(j==0)

textcolor(RED);/*第一個字母顯示紅色*/

else

textcolor(BLACK); /*設置黑色*/

cprintf("%c",z[j]); /*輸出菜單名*/

}

}

/*顯示選中菜單*/

void BlackText(int x,int y,char *z)

{

textbackground(0); /*設置背景顏色為黑色*/

textcolor(15); /*設置文本顏色為白色*/

gotoxy(3+20*x,y);/*定位坐標*/

cputs(z); /*輸出菜單名字符串*/

}

/*按鍵操作過程*/

void Run()

{

while(1)

{

gotoxy(texty,textx);

key=bioskey(0);/*接收按鍵*/

switch(key)

{

case ALT_B:

case ESC: DrawMl(0);break; /*顯示下拉菜單1*/

case ALT_M: DrawMl(1);break;/*顯示下拉菜單2*/

case ALT_H: DrawMl(2);/*顯示下拉菜單3*/

case UP: /*上光標鍵的操作控制*/

{

if(textx==3)

textx=23;

textx--;

gotoxy(texty,textx);

}break;

case DOWN: /*下光標鍵的操作控制*/

{

if(textx==23)

textx=3;

textx++;

gotoxy(texty,textx);

}break;

case LEFT: /*左光標鍵的操作控制*/

{

if(texty==2)

texty=79;

texty--;

gotoxy(texty,textx);

}break;

case Backspace: /*擦除鍵的設置*/

{

if(texty==2textx==3)

continue;

else

{

if(texty!=2)

texty--; /*擦除鍵的細節(jié)問題,先擦去東西,然后光標還要往后退一格*/

else

if(texty==2)

{

texty=78;

textx--;

}

gotoxy(texty,textx);

printf(" ");

gotoxy(texty,textx);

}

}break;/*end case 0xe08*/

case RIGHT: /*右光標鍵的操作控制*/

{

if(texty==79)

texty=2;

texty++;

gotoxy(texty,textx);

}break;

case SPACE: /*空格鍵的操作*/

{

if(texty==79)

continue;

else

{

gotoxy(texty,textx); /*空格的細節(jié)操作*/

printf(" ");

texty++;

gotoxy(texty,textx);

}

}break;

case ENTER: /*回車的控制操作*/

{

if(textx==23)

continue;

textx++;

texty=2;

gotoxy(texty,textx);

}break;

default : /*非控制鍵的結(jié)果*/

{

if(texty==79textx==23)/*到達最后就不再輸出*/

continue;

else

if(texty==79textx!=23) /*到行的最后*/

{

textx++;

texty=2;

}

gotoxy(texty,textx);/*輸出結(jié)果*/

printf("%c",key);

if(texty==79) /*如果texty==79就不執(zhí)行*/

continue;

else /*如果沒到行尾就繼續(xù)執(zhí)行,使光標向前移動一位*/

texty++;

}

}

}/*大循環(huán)的大括號*/

}

/*畫邊框函數(shù)*/

void DrawFrame(int l,int u,int r,int d,int tcolor,int bcolor)

{

textbackground(bcolor); /*背景顏色*/

textcolor(bcolor); /*文本顏色*/

for(i=l;i=r;i++) /*輸出背景區(qū)域*/

{

for(j=u;j=d;j++)

{

gotoxy(i,j);

printf("%c",219); /*輸出背景字符*/

}

}

textcolor(tcolor);/*邊框顏色*/

for(i=u+1;id;i++) /*在背景區(qū)域內(nèi)輸出邊框線*/

{

gotoxy(l,i);

cprintf("%c",179); /*垂直線*/

gotoxy(r,i);

cprintf("%c",179);

}

for(i=l+1;ir;i++)

{

gotoxy(i,u);

cprintf("%c",196); /*水平線*/

gotoxy(i,d);

cprintf("%c",196);

}

gotoxy(l,u);

cprintf("%c",218);/*左上角*/

gotoxy(r,u);

cprintf("%c",191);/*右上角*/

gotoxy(l,d);

cprintf("%c",192);/*左下角*/

gotoxy(r,d);

cprintf("%c",217); /*右下角*/

/* gettext(l+1,u+1,r-1,d-1,save1);*//*保存邊框內(nèi)區(qū)域*/

}

/*顯示具體下拉選擇項目*/

void DrawMl(int n)

{

gettext(1,1,80,25,save);/*保存被掩蓋的地方*/

BlackText(n,1,ml[n].name);/*反選顯示主菜單*/

DrawFrame(3+20*n-1,2,3+20*n+19,3+ml[n].n,0,7);/*下拉菜單的邊框*/

for(i=3;i3+ml[n].n;i++)/*輸出所選菜單各選項*/

{

if(i==3)

BlackText(n,i,ml[n].str[i-3]);/*默認選中第一項*/

else

RedText(n,i,ml[n].str[i-3]);/*其余各項首字符紅色顯示*/

}

gotoxy(79,1);

MoveMl(n,3);/*菜單選項的控制*/

}

/*菜單選項的控制,n決定水平項,x決定下拉的選項*/

void MoveMl(int n,int x)

{

int flag=1;

while(flag)

{

gotoxy(79,1);

key=bioskey(0);/*接收按鍵*/

gotoxy(79,1);

switch(key)

{

case ESC:/*退出循環(huán)*/

puttext(1,1,80,25,save);/*恢復打開菜單前的樣子*/

flag=0;

break;

case LEFT:/*移到左邊的選項*/

puttext(1,1,80,25,save);/*恢復打開菜單前的樣子*/

if(n==0)/*往左移動越界的話移到最后一個選項*/

DrawMl(2);

else

DrawMl(n-1);

flag=0;

break;

case RIGHT:/*移動右邊的選項*/

puttext(1,1,80,25,save);/*恢復打開菜單前的樣子*/

if(n==2)/*往右移動越界的話移到第一個選項*/

DrawMl(0);

else

DrawMl(n+1);

flag=0;

break;

case UP:/*具體選項往上移動*/

RedText(n,x,ml[n].str[x-3]);/*輸出紅色字體*/

if(x==3)/*移到最上面再按上鍵,就移到最下面*/

x=3+ml[n].n-1;

else

x--;/*移動到新的要顯示的內(nèi)容*/

BlackText(n,x,ml[n].str[x-3]);/*輸出黑色字體*/

flag=1;

break;

case DOWN:/*具體選項往下移動*/

RedText(n,x,ml[n].str[x-3]);

if(x==(3+ml[n].n-1))/*移動到最底下再按下鍵就移到最上面*/

x=3;

else

x++;/*移動到新的要顯示的內(nèi)容*/

BlackText(n,x,ml[n].str[x-3]);

flag=1;

break;

case ENTER:

puttext(1,1,80,25,save);/*恢復打開菜單前的樣子*/

Enter(n,x-3);/*菜單選項的具體功能*/

flag=0;

break;

}

gotoxy(79,1);

}

}

/*菜單選項的具體功能*/

void Enter(int m,int n)

{

switch(m)

{

case 0:switch(n) /*選擇了圖書菜單選項*/

{

case 0:BookAdd();break;/*添加圖書*/

case 1:BookConsult();break;/*圖書查詢*/

case 2:BookDel();break;/*刪除一本圖書資料*/

case 3:BookBorrow();break;/*借書*/

case 4:BookReturn();break;/*還書*/

case 5:exit(0);break;

} break;/*退出系統(tǒng)*/

case 1: switch(n) /*選擇了會員菜單選項*/

{

case 0: MemberAdd();break;/*添加會員*/

case 1: MemberConsult();break;/*會員查詢*/

case 2:MemberDel();break;/*刪除一個會員資料*/

case 3:MemberBook();/*查詢某個會員所借圖書情況*/

}break;

case 2:switch(n) /*選擇了幫助菜單選項*/

{

case 0:Help();break;

case 1:Ver();

}

}/*結(jié)束外switch*/

}


文章標題:C語言實訓的主函數(shù)設計 c語言怎么寫主函數(shù)
分享路徑:http://weahome.cn/article/ddjsigo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部