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. 设计报告(内容包括:①有关你选择的任务内容;②程序设计思想、程序框图;③程序运行的效果图片;④源程序;⑤改进意见;⑥附课程任务设计书)。