




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
认识实习报告江西理工大学认识实习报告学院:理学院专业:信息101姓名:刘敏华学号: 16号作为信息与计算科学专业二年级的学生,学校安排了本次为期四周的认识实习。要求同学们对企事业单位取得一定感性认识。实习目的:认识实习(社会调查)的目的,就在于让同学们初步了解企事业单位的基本情况,掌握信息收集,处理过程,为以后专业理论课程的学习和就业奠定必要的实践基础。同时,通过认识实习(社会调查),让同学们有机会较广泛的接触现场人员,学习社会生活。实习内容:听专业人士专题讲座实习(ERP原理与应用;信息技术在保险行业中的应用;工商银行网络系统;电信行业信息技术与应用); C语言游戏编程基本方法:掌握C语言游戏编程基本方法,实现电子时针、扑克牌游戏、贪吃蛇游戏、五子棋游戏、随机排序游戏、剪刀石头布游戏等。实习内容与感想:通过本次讲座,让我感觉到信息技术已经完全渗透到了各行各业的日常工作中,信息时代前进的步伐已经越来越快。所以我们一定要认真地学好计算机知识,不论今后会不会从事计算机方面的工作,都会有很大的帮助,因为不管是什么类型的工作,计算机的使用都已经很普遍。从讲座中也反映出了信息技术与现代企业管理的紧密结合,所以在学习计算机知识的同时我们也应该同时掌握些管理方面的知识,像我们专业,要想开发出好的软件就必须要清楚对方需要的是什么,只有掌握局势,我们才能设计出适合对方的实用软件。上机游戏及代码贪吃蛇游戏 贪吃蛇游戏的设计主要分为开始、运行、结束三个部分,但是每个部分其内部结构相当复杂。比如开始时的蛇的位置,食物的位置等,游戏中的蛇存活和死亡的状态,蛇身长度的变化,食物位置的变化以及分数的累加程序的设计,还有游戏结束时蛇的位置和结束后的的文字提示等。该游戏用一个小矩形表示蛇的一节身体,身体每长一节就增加一个矩形块,蛇头用两个矩形块表示,移动时必须从蛇头开始,而且不能向相反的方向移动。一步移动一节身体,蛇身跟着蛇头移动,原来蛇的位置和新蛇的位置相差一节,所以当吃到食物后,将蛇的最后一节用背景颜色覆盖,同理,食物的出现和消失同样也是用画矩形和覆盖矩形的方法表示。实验内容:#define N 200#include #include #include #define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011bint i,key;int score=0;int gamespeed=50000;struct Foodint x;int y;int yes;food;struct Snakeint xN;int yN;int node;int direction;int life;snake;void Init(void);void Close(void);void DrawK(void);void GameOver(void);void GamePlay(void);void PrScore(void);void main(void)Init();DrawK();GamePlay();Close();void Init(void)int gd=DETECT,gm;initgraph(&gd,&gm,d:tc);cleardevice();void DrawK(void)/*setbkcolor(LIGHTGREEN);*/setcolor(11);setlinestyle(SOLID_LINE,0,THICK_WIDTH);for(i=50;i=600;i+=10)rectangle(i,40,i+10,49);rectangle(i,451,i+10,460);for(i=40;i0;i-)snake.xi=snake.xi-1;snake.yi=snake.yi-1;switch(snake.direction)case 1:snake.x0+=10;break;case 2: snake.x0-=10;break;case 3: snake.y0-=10;break;case 4: snake.y0+=10;break;for(i=3;isnake.node;i+)if(snake.xi=snake.x0&snake.yi=snake.y0)GameOver();snake.life=1;break;if(snake.x0595|snake.y0455)GameOver();snake.life=1;if(snake.life=1)break;if(snake.x0=food.x&snake.y0=food.y)setcolor(0);rectangle(food.x,food.y,food.x+10,food.y-10);snake.xsnake.node=-20;snake.ysnake.node=-20;snake.node+;food.yes=1;score+=10;PrScore();setcolor(4);for(i=0;isnake.node;i+)rectangle(snake.xi,snake.yi,snake.xi+10,snake.yi-10);delay(gamespeed);setcolor(0);rectangle(snake.xsnake.node-1,snake.ysnake.node-1,snake.xsnake.node-1+10,snake.ysnake.node-1-10);if(snake.life=1)break;key=bioskey(0);if(key=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;void GameOver(void)cleardevice();PrScore();setcolor(RED);settextstyle(0,0,4);outtextxy(200,200,GAME OVER);getch();void PrScore(void)char str10;setfillstyle(SOLID_FILL,YELLOW);bar(50,15,220,35);setcolor(6);settextstyle(0,0,2);sprintf(str,score:%d,score);outtextxy(55,20,str);void Close(void)getch();closegraph();电子时钟首先进入图形模式,先利用坐标,绘制主窗体界面,接着绘制电子时钟的界面,这是一个有确定圆点和半径的圆形界面,通过三角函数的计算来确定时针的位置。同样通过坐标的处理来绘制帮助界面和时钟信息界面。通过时钟处理函数,先去的电脑上的时间,在调用画图函数画出当前所对应的时钟的图像,同时把时间赋给数字时钟并显示出来,要求指针时钟与数字时钟上的时间必须一致。实验内容:#include#include#include#include#define PI 3.1415926#define Up 0x4800#define Down 0x5000#define Tab 0xf09#define Esc 0x11b double Hour,Minute,Second; int Radius=130,Center_x=300,Center_y=265; double Hour_x,Hour_y,Minute_x,Minute_y,Second_x,Second_y; struct time Time1;void ColockHandle();int DigitalHour(double Hour);int DigitalMinute(double Minute);int DigitalSecond(double Second);void DigitalClock(int x,int y,int clock);int Up_Key(int Count);int Down_Key(int Count);void ClearCursor(int Count);void DrawCursor(int Count);main()int Driver,Mode; int i,j; Driver=DETECT; initgraph(&Driver,&Mode,d:tc); setcolor(RED); line(300,0,5,120); line(300,0,595,120); line(5,120,595,120); setfillstyle(SOLID_FILL,RED); floodfill(300,100,RED); setcolor(BLUE); line(65,120,535,120); line(65,120,65,470); line(535,120,535,470); line(65,470,535,470); line(125,120,125,470); line(475,120,475,470); line(125,410,475,410); setfillstyle(SOLID_FILL,BLUE); floodfill(80,130,BLUE); setfillstyle(SOLID_FILL,BLUE); floodfill(500,130,BLUE); setfillstyle(SOLID_FILL,BLACK); floodfill(300,450,BLUE);for(i=275;i=305;i=i+30) for(j=434;j=442;j=j+8) setcolor(WHITE); setlinestyle(0,0,3); circle(i,j,1); setcolor(WHITE); line(270,430,270,445);setlinestyle(0,0,3); circle(Center_x,Center_y,1);setlinestyle(0,0,1); circle(Center_x,Center_y,Radius+3);for(i=0,Minute=0;i=59;i+,Minute+) Minute_x=Center_x+Radius*sin(Minute/30*PI); Minute_y=Center_y-Radius*cos(Minute/30*PI); setlinestyle(0,0,1); circle(Minute_x,Minute_y,1); setcolor(RED); for(i=0,Hour=0,Minute=0;i=11;i+,Hour+) Hour_x=Center_x+Radius*sin(Hour*60+Minute)/360*PI); Hour_y=Center_y-Radius*cos(Hour*60+Minute)/360*PI); setlinestyle(0,0,3); circle(Hour_x,Hour_y,1); setcolor(GREEN); outtextxy(283,50,CLOCK); outtextxy(320,110,Designed by Zhang Cheng Jin); outtextxy(80,130,Help); outtextxy(70,150,Up:); outtextxy(78,168,Time+); outtextxy(70,216,Down:); outtextxy(78,234,Time-); outtextxy(70,286,Tab:); outtextxy(78,304,Move); outtextxy(70,356,Esc:); outtextxy(78,374,Exit); outtextxy(500,190,No); outtextxy(490,215,time); outtextxy(490,240,like); outtextxy(495,265,the); outtextxy(480,290,present); outtextxy(500,315,!); ColockHandle(); closegraph(); return 0;void ColockHandle() int Key=0,Count; setcolor(WHITE); gettime(Time); Hour=Time0.ti_hour; Minute=Time0.ti_min; Minute_x=Center_x+100*sin(Minute/30*PI); Minute_y=Center_y-100*cos(Minute/30*PI); line(Center_x,Center_y,Minute_x,Minute_y); Hour_x=Center_x+80*sin(Hour*60+Minute)/360*PI); Hour_y=Center_y-80*cos(Hour*60+Minute)/360*PI); line(Center_x,Center_y,Hour_x,Hour_y); DigitalClock(255,435,DigitalHour(Hour); DigitalClock(285,435,DigitalMinute(Minute); setwritemode(1); for(Count=2;Key!=Esc;)setcolor(RED);Hour=Time0.ti_hour;Minute=Time0.ti_min;Second=Time0.ti_sec;Second_x=Center_x+120*sin(Second/30*PI);Second_y=Center_y-120*cos(Second/30*PI);line(Center_x,Center_y,Second_x,Second_y);while(Hour=Time0.ti_hour&Minute=Time0.ti_min&Second=Time0.ti_sec)gettime(Time);if(bioskey(1)!=0)Key=bioskey(0);Count=KeyHandle(Key,Count);if(Count=5)Count=1;setcolor(WHITE);DigitalClock(315,435,DigitalSecond(Second)+1);setcolor(RED);Second_x=Center_x+120*sin(Second/30*PI);Second_y=Center_y-120*cos(Second/30*PI);line(Center_x,Center_y,Second_x,Second_y);setcolor(WHITE);if(Minute!=Time0.ti_min)Minute_x=Center_x+100*sin(Minute/30*PI);Minute_y=Center_y-100*cos(Minute/30*PI);line(Center_x,Center_y,Minute_x,Minute_y);Minute=Time0.ti_min;DigitalClock(285,435,DigitalMinute(Minute);Minute_x=Center_x+100*sin(Minute/30*PI);Minute_y=Center_y-100*cos(Minute/30*PI);line(Center_x,Center_y,Minute_x,Minute_y); if(Hour!=Time0.ti_hour) Hour_x=Center_x+80*sin(Hour*60+Minute)/360*PI); Hour_y=Center_y-80*cos(Hour*60+Minute)/360*PI); line(Center_x,Center_y,Hour_x,Hour_y); Hour=Time0.ti_hour; DigitalClock(255,435,DigitalHour(Hour); Hour_x=Center_x+80*sin(Hour*60+Minute)/360*PI); Hour_y=Center_y-80*cos(Hour*60+Minute)/360*PI); line(Center_x,Center_y,Hour_x,Hour_y); int DigitalHour(double Hour) int h; for(h=0;h24;h+) if(h=Hour) return h; int DigitalMinute(double Minute) int m; for(m=0;m60;m+) if(m=Minute) return m; int DigitalSecond(double Second) int s; for(s=0;s60;s+) if(s=Second) return s; void DigitalClock(int x,int y,int clock) char buffer10; setfillstyle(0,2); bar(x,y,x+14,449); if(clock=60) clock=0; sprintf(buffer,%d,clock); outtextxy(x,y,buffer);int KeyHandle(int Key,int Count) switch(Key) case Up: Up_Key(Count-1); break; case Down: Down_Key(Count-1); break; case Tab: ClearCursor(Count); DrawCursor(Count); Count+; break; return Count;int Up_Key(int Count) if(Count=1) Time0.ti_hour-; if(Time0.ti_hour=24) Time0.ti_hour=0; settime(Time); if(Count=2) Time0.ti_min-; if(Time0.ti_min=60) Time0.ti_min=0; settime(Time); if(Count=3) Time0.ti_sec-; if(Time0.ti_sec=60) Time0.ti_sec=0; settime(Time); int Down_Key(int Count) if(Count=1) Time0.ti_hour+; if(Time0.ti_hour=24) Time0.ti_hour=0; settime(Time); if(Count=2) Time0.ti_min+; if(Time0.ti_min=60) Time0.ti_min=0; settime(Time); if(Count=3) Time0.ti_sec+; if(Time0.ti_sec=60) Time0.ti_sec=0; settime(Time); void ClearCursor(int Count) setcolor(WHITE); switch(Count) case 2: line(270,430,270,445); break; case 3: line(300,430,300,445); break; case 1: line(330,430,330,445); break; void DrawCursor(int Count) switch(Count) case 1: line(270,430,270,445); break; case 2: line(300,430,300,445); break; case 3: line(330,430,330,445); break; 石头剪刀布游戏猜拳是在玩家和计算机之间进行。首先定义一个随机函数random2()来确定计算机的出拳,定义一个judgewin()函数来判断游戏的输赢。我们用1表示石头,2表示剪刀,3表示布。如果玩家出石头、剪刀、布中的一种,电脑也出石头、剪刀、布中的一种,那么就有九种组合规则。1、若玩家和电脑出的拳一致,则输出结果为:不分胜负(平了)2、若出现玩家出石头,电脑出剪刀,或玩家出剪刀,电脑出布,或玩家出布,电脑出石头的情况,则输出结果为:哦!我输了(玩家赢了)3、若出现玩家出剪刀,电脑出石头,或玩家出布,电脑出剪刀,或玩家出石头,电脑出布的情况,则输出结果为:哈哈!我赢了(电脑赢了)。该游戏中,电脑是用了“我”的称谓,而玩家用的是“你”的称谓。在游戏判断完输赢,得出结果以后,会提示还要不要继续完,可以按照提示按下相关键即可。实验内容:#include#include#includeint random2(int maxlim);int judgewin(char h1,char h2);void disphand(char h);void main()char man,computer;char wantplay;srand(unsigned)time(NULL);printf( 猜拳n);dowhile(1)printf(您出的是什么拳);man=getchar();if(man3)printf(您出的不是拳);else break;printf(n 您出的是);disphand(man);printf(n);computer = random2(3)+1;printf(我出的是 );disphand(computer);printf(n);switch(judgewin(man,computer)case 0:printf(不分胜负);break;case 1:printf(哦!我输了);break;case 2:printf(哈哈!我赢了 );break;printf(hai wan ma ?(Y or N);wantplay = getch();printf(nn); while(wantplay =y|wantplay=Y);int random2(int maxlim)float number;number = (float)rand()/RAND_MAX)*maxlim;return(int)number);int judgewin(char h1,char h2)if(h1=h2) return 0;else if(h1=1&h2=2)|(h1=2&h2=3)|(h1=3&h2=1)return 1;else return 1;void disphand(char h)switch(h)case 1:printf(石头);break;case 2:printf(剪刀);break;case 3:printf(布);break;文曲星猜数游戏结果分析:用一个数组a4记录计算机所想的数。用数组b4记录用户猜的数字,用几位标记来表示猜对的位数。游戏开始时,用户根据医院选择猜数次数Level, 用户输入次数之后就可以开始游戏了。每次猜四个数字,计算机将这四个与a4进行比较,如果全部正确,计算机会给出提示你全部正确,游戏结束。如果不正确,计算机会将猜对的位数及位置告知用户,用户再进行下一次猜数,直到次数用完。A表示位置正确且数字正确,B表示数字正确而位置不正确,我们可以根据所给的提示缩小选择的范围来进行数字的选择,提高猜数的准确性。实验内容:#include #include #include main() int a4;/*记录计算机所想的数*/int b4;/*记录人猜的数*/ int j,k,flag = 1;int count;/*记录已经猜的次数*/int rightDigit;/*猜对的数字个数*/int rightPosition;/*数字和位置都猜对的个数*/int level; srand(time(NULL); a0 = rand()%10; do a1 =rand()%10; while (a0 = a1 ); do a2 = rand()%10; while (a0 = a2 | a1 = a2); do a3 = rand()%10; while (a0 = a3 | a1 = a3 | a2 = a3); printf(How many times do you want to guess?);scanf(%d, &level);count = 0;docount +;printf(nNo.%d of %d timesn, count, level); printf(Please input 4 different numbers:n);doscanf(%1d%1d%1d%1d, &b0, &b1, &b2, &b3);if (b0 = b1 | b0 = b2 | b0 = b3 | b1 = b2 | b1 = b3 | b2 = b3)printf(The numbers must be different from each other,please check and input againn);flag = 0;elseflag = 1;while(!flag);rightDigit = 0;rightPosition = 0;for (j=0; j4; j+)if (bj = aj)rightPosition = rightPosition + 1; for (j=0; j4; j+)for (k=0; k4; k+)if (bj = ak)rightDigit = rightDigit + 1; rightDigit = rightDigit - rightPosition; printf(%dA%dBn, rightDigit, rightPosition); while(count level & rightPosition !=4); if (rightPosition = 4) printf(Congratulations,you guess the right number at No.%dn, count); else printf(Sorry,you havent guess the right number,see you next time!n); printf(Correct answer is:%d%d%d%dn, a0, a1, a2, a3); getch();五子棋结果分析:首先得为整个棋盘建立一张记录棋子的信息,我使用一个15*15的二维数组Table1515,数组的每个元素对应棋盘上的交叉点,用:“0”代表空位、:“1”代表己方的子、:“2”代表对方的子。#include #include #include #include void Menu(char gamename,char player1,char player2,int *pc1,int *pc2);void Table(void);int Code(void)int j,nn=0,quit;char mi9=wangsong,ma9;doclrscr(); gotoxy (18,13); printf (Enter the code:(the len less than 8) ); gotoxy (54,13);gets(ma);j=strcmp(mi,ma);if (j=0) quit=1;break;if (nn=2) quit=0;break;nn+;while (1);clrscr(); return quit;void Menu(char gamename,char player1,char player2,int *pc1,int *pc2) int term; clrscr(); outtextxy (250,140,Enter your names:);outtextxy (250,170,player1 first!);outtextxy (250,200,player1:);outtextxy (250,230,player2:);outtextxy (250,260,the color of player1:);outtextxy (250,290,the color of player2:); setcolor(14);settextstyle(4,0,6);outtextxy(200,40,gamename); settextstyle(4,0,2); outtextxy(270,90,setting); for (term=1;term=6;term+) setfillstyle(1,term); setcolor(term); circle(137+term*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论