A. c語言題庫管理系統的設計與實現 (畢業論文)
5C語言題庫管理系統的設計與辦
比較多,了解更多
B. 用C語言寫的計算機本科畢業論文題目有哪些(做成系統的)
目前最著名的兩個C語言項目:linux和git…純C只適合對性能要求極高的項目,書寫難度大。很多輪子要自己造,如果水平不夠,不建議樓主用純C做本科畢業設計…
C. 求C語言的貪吃蛇畢業論文
#include<stdio.h>#include<graphics.h>#include<stdlib.h>#include<dos.h>/*引用的庫函數*/#defineLEFT0x4b00#defineRIGHT0x4d00#defineDOWN0x5000#defineUP0x4800#defineESC0x011b/*宏定義鍵名*/#defineN200inti,key;intlevel;/*游戲等級*/intscore=0;/*得分*/intgamespeed;/*游戲速度*/structFood{intx;/*食物的橫坐標*/inty;/*食物的縱坐標*/intyes;/*判斷是否要出現食物的變數*/}food;/*食物的結構體*/structSnake{intx[N];inty[N];intnode;/*蛇的節數*/intdirection;/*蛇移動方向*/intlife;/*蛇的生命,0活著,1死亡*/}snake;/*蛇的結構體*/voidChoicelevle(void);/*選擇游戲等級*/voidInit(void);/*圖形驅動*/voidClose(void);/*圖形結束*/voidDRAW(void);/*游戲區域*/voidGameOver(void);/*結束游戲*/voidGamePlay(void);/*玩游戲具體過程*/voidPrScore(void);/*輸出成績*//*主函數*/voidmain(void){Init();/*圖形驅動*/Choicelevle();/*選擇游戲等級*/DRAW();/*游戲區域*/GamePlay();/*玩游戲具體過程*/Close();/*圖形結束*/}/*圖形驅動*/voidInit(void){intgd=DETECT,gm;initgraph(&gd,&gm,"\turboc2");/*初始化圖形系統*/cleardevice();/*清除圖形界面*/}/*選擇游戲等級*/voidChoicelevle(void){charname[20];setcolor(YELLOW);settextstyle(0,0,6);outtextxy(150,150,"Snake");setcolor(GREEN);settextstyle(0,0,1);outtextxy(200,250,"pleaseputinyourEnglishname:");outtextxy(200,270,"Choicelevlefrom1-9.");outtextxy(300,320,"name:yangzilong");/*製作人姓名*/outtextxy(300,350,"number:0902060226");/*製作人學號*/outtextxy(300,380,"class:computerscience0602");/*製作人班級*/getch();printf("pleaseputinyourname:");gets(name);printf("pleasechoicelevle:");scanf("%d",&level);gamespeed=100000-400*level-300*level*level;if(level>9||level<1){cleardevice();/*清除圖形界面*/setcolor(YELLOW);/*設置字體顏色*/settextstyle(0,0,2);/*設置字體類型*/outtextxy(150,200,"levelinputerror");/*顯示文本*/getch();level=1;}}voidDRAW(void){cleardevice();/*清屏*/setcolor(2);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/rectangle(45,45,465,325);}/*玩游戲具體過程*/voidGamePlay(void){setcolor(5);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/randomize();/*隨機數發生器*/food.yes=1;/*1表示需要出現新食物,0表示已經存在食物*/snake.life=0;/*活著*/snake.direction=1;/*方嚮往右*/snake.x[0]=320;snake.y[0]=240;/*蛇頭*/snake.x[1]=330;snake.y[1]=240;/*蛇的第二節位置*/snake.node=3;/*節數*/PrScore();/*輸出得分*/while(1)/*可以重復玩游戲,壓ESC鍵結束*/{while(!kbhit())/*在沒有按鍵的情況下,蛇自己移動身體*/{if(food.yes==1)/*需要出現新食物*/{food.x=rand()%360+70;food.y=rand()%250+60;while(food.x%10!=0)/*食物隨機出現後必須讓食物能夠在整格內,這樣才可以讓蛇吃到*/food.x++;while(food.y%10!=0)food.y++;food.yes=0;/*畫面上有食物了*/}if(food.yes==0)/*畫面上有食物了就要顯示*/{setcolor(GREEN);rectangle(food.x,food.y,food.x+10,food.y-10);}for(i=snake.node-1;i>0;i--)/*蛇的每個環節往前移動*/{snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];}/*1,2,3,4表示右,左,上,下四個方向,通過這個控制來移動蛇頭*/switch(snake.direction){case1:snake.x[0]+=10;break;case2:snake.x[0]-=10;break;case3:snake.y[0]-=10;break;case4:snake.y[0]+=10;break;}for(i=3;i<snake.node;i++)/*從蛇的第四節開始判斷是否撞到自己了,因為蛇頭為兩節,第三節不可能拐過來*/{if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]){GameOver();/*顯示失敗*/snake.life=1;/*蛇死*/break;}}/*如果蛇頭碰到牆壁,蛇頭從對面牆出來*/if(snake.x[0]<50){snake.x[0]=450;/*如果蛇頭越過左邊界,則從右邊界進入*/snake.y[0]=snake.y[0];/*縱坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.x[0]>450){snake.x[0]=50;/*如果蛇頭越過右邊界,則蛇頭從左邊界進入*/snake.y[0]=snake.y[0];/*縱坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.y[0]<60){snake.y[0]=320;/*如果蛇頭越過上邊界,則從下邊界進入*/snake.x[0]=snake.x[0];/*橫坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.y[0]>320){snake.y[0]=60;/*如果蛇頭越過下邊界,則從上邊界進入*/snake.x[0]=snake.x[0];/*橫坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];/*蛇的其他節數向前推進*/}{setfillstyle(SOLID_FILL,0);/*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}if(snake.life==1)/*如果蛇死就跳出內循環,重新開始*/break;if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以後*/{setcolor(0);/*把畫面上的食物東西去掉*/rectangle(food.x,food.y,food.x+10,food.y-10);/*用當前線型和顏色畫一矩形*/snake.x[snake.node]=-20;snake.y[snake.node]=-20;/*新的一節先放在看不見的位置,下次循環就取前一節的位置*/snake.node++;/*蛇的身體長一節*/food.yes=1;/*畫面上需要出現新的食物*/score+=10;/*每吃掉一食物,得分累加10分*/if(score%100==0){level++;gamespeed=100000-400*level-300*level*level;/*每吃掉10食物提升一級,速度加快*/PrScore();/*輸出新得分*/setcolor(YELLOW);/*設置字體顏色*/settextstyle(0,0,4);/*設置字體類型*/outtextxy(150,200,"LEVELUP");/*顯示文本*/if(level==10){level=1,gamespeed=100000-400*level-300*level*level;}delay(6000000);delay(6000000);delay(6000000);delay(6000000);delay(6000000);delay(6000000);delay(6000000);bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}PrScore();/*輸出新得分*/}setcolor(4);/*畫出蛇*/for(i=0;i<snake.node;i++)rectangle(snake.x[i],snake.y[i],snake.x[i]+10,snake.y[i]-10);delay(gamespeed);/*控制游戲速度*/setcolor(0);rectangle(snake.x[snake.node-1],snake.y[snake.node-1],snake.x[snake.node-1]+10,snake.y[snake.node-1]-10);}/*endwhile(!kbhit)*//*用黑色去除蛇的的最後一節*/if(snake.life==1)/*如果蛇死就跳出循環*/break;key=bioskey(0);/*接收按鍵*/if(key==ESC)/*按ESC鍵退出*/break;elseif(key==UP&&snake.direction!=4)/*判斷是否往相反的方向移動*/snake.direction=3;elseif(key==RIGHT&&snake.direction!=2)snake.direction=1;elseif(key==LEFT&&snake.direction!=1)snake.direction=2;elseif(key==DOWN&&snake.direction!=3)snake.direction=4;}/*endwhile(1)*/}/*游戲結束*/voidGameOver(void){cleardevice();/*清屏*/PrScore();setcolor(RED);/*設置字體顏色*/settextstyle(0,0,4);/*設置字體類型*/outtextxy(200,200,"GAMEOVER");/*顯示文本*/getch();}/*輸出成績及游戲等級*/voidPrScore(void){charstr1[20];/*設置字元型數組*/setfillstyle(SOLID_FILL,0);bar(50,15,390,35);/*填充矩形框*/setcolor(6);/*設置文本顏色*/settextstyle(0,0,2);/*設置數組顯示位置*/sprintf(str1,"score%dlevel%d",score,level);/*顯示數組內容*/outtextxy(55,20,str1);setcolor(YELLOW);/*設置字體顏色*/settextstyle(0,0,2);/*設置字體類型*/outtextxy(250,400,"EXIT=ESC");/*顯示文本*/}voidClose(void){closegraph();}
D. 用C語言寫個畢業設計的論文,比較新穎,寫什麼比較好求告訴,大神們
要麼是某某管理系統要麼是某種常見軟體。你可以做個根據人的照片做成表情包的,就像iphone x上那個相機一樣。另外就是面部識別,跟蹤,這個也比較新
E. c語言課程設計論文怎麼寫呀,有範例嗎 急呀
1. 設計報告(內容包括:①有關你選擇的任務內容;②程序設計思想、程序框圖;③程序運行的效果圖片;④源程序;⑤改進意見;⑥附課程任務設計書)。
F. 求個C語言做的畢業設計,題目不要太老套,簡單一點就行了
用鏈表實現的集合運算C源碼,大小3490位元組。具備以下功能
1、分別用數組和鍵盤輸入數據的兩個集合創建函數;
2、集合元素排序;
3、集合元素單一化;
4、顯示集合;
5、集合復制;
6、插入元素(有序);
7、求兩個集合的交集;
8、求兩個集合的並集;
需要時,請追問!
G. c語言畢業論文課題做什麼比較好 求高手給推薦
如果能力夠的話可以寫一個自創的小型語言編譯器或解釋器,保准通過。
具體你可以參考Brainfuck語言的源代碼
#include <stdio.h>
#include <stdlib.h>
char g_DataBlock[30000] = {0}; // 堆數據區
char g_CodeSegment[100000]; // BF代碼指令區
int g_CodeLen = 0; // 代碼指令長度,尾指針
int g_Stack[100]; // 棧,當進入'[',']'時用於維護指令指針
int g_StackLen = 0; // 棧指針
int analysis(); // 解析指令
int main(int argc, char **argv)
{
FILE* fSrcCodeFile; // 用於讀去源代碼文件
if (argc == 2)
{
fSrcCodeFile = fopen(argv[1], "r");
if (fSrcCodeFile == NULL)
{
perror("fopen");
return 1;
}
while (fread(&g_CodeSegment[g_CodeLen], 1, 1, fSrcCodeFile) == 1)
{// 從源文件中讀取代碼指令
g_CodeLen++;
}
}
else
{
fprintf(stderr, "%s:%d\n", __FILE__, __LINE__);
return 2;
} // end of if (argc == 2)
fclose(fSrcCodeFile);
setbuf(stdout, NULL);
return analysis(); // 解析指令
}
int analysis()
{
int iCurrCodePos = 0; // 當前指令位置
char* pCurrData = g_DataBlock + 10000; // 讓當前指針指向數據區10000號單元,以便在指針的前後都是有效操作區域
while (iCurrCodePos < g_CodeLen)
{
switch (g_CodeSegment[iCurrCodePos])
{ // 解析指令動作
case '+': // 當前數據加1
++(*pCurrData);
break;
case '-': // 當前數據減1
--(*pCurrData);
break;
case '>': // 指針右移動,向前移動
++pCurrData;
break;
case '<': // 指針做移動,向後移動
--pCurrData;
break;
case '.': // 數據當前數據
putchar((int)(*pCurrData));
//printf("put:%hd\n",*p);
break;
case ',': // 從IO獲取一個輸入作為當前數據
*pCurrData = getchar();
break;
case '[': // 循環指令處理
if (*pCurrData)
{// 當前數據不為0,將指令指針壓入棧中
g_Stack[g_StackLen++] = iCurrCodePos;
}
else
{ // 當前數據為0,找到與其匹配的']',然後開始執行']'後的指令
int j, k;
for (k = iCurrCodePos, j = 0; k < g_CodeLen; k++)
{
g_CodeSegment[k] == '[' && j++;
g_CodeSegment[k] == ']' && j--;
if (j == 0) // 找到匹配的']', 退出循環
break;
}
if (j == 0)
{ // for循環因找到匹配的']'而退出
iCurrCodePos = k;
}
else
{
fprintf(stderr, "%s:%d\n" ,__FILE__, __LINE__);
return 3;
}
} // end of if(*p)
break;
case ']': // 從棧里獲得指令指針,跳轉到對應的'['位置
iCurrCodePos = g_Stack[g_StackLen - 1]; // 取出棧頂保存的指令指針,作為當前指針
iCurrCodePos -= 1; // 指令指針後退一位,指向上一條指令。(此處減1的原因的下一條語句要加加—— ++iCurrCodePos;)
--g_StackLen; // 移動棧指針
break;
default:
break;
} // end of switch (g_CodeSegment[iCurrCodePos])
++iCurrCodePos;
} // end of while (iCurrCodePos < g_CodeLen)
return 0;
}
H. c語言課程設計論文怎麼寫啊求助
1. 設計報告(內容包括:①有關你選擇的任務內容;②程序設計思想、程序框圖;③程序運行的效果圖片;④源程序;⑤改進意見;⑥附課程任務設計書)。