当前位置:文档之家› 利用C语言画图例子

利用C语言画图例子

利用C语言画图例子
利用C语言画图例子

利用C语言画图例子

1)

/*#include // 就是需要引用这个图形库 #include

void main()

#include

#include

void main()

{

initgraph(640, 480); // 这里和 TC 略有区别

circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100 getch(); // 按任意键继续

closegraph(); // 关闭图形界面

printf("***\n");

}

*/

2)

/*

#include

#include

#include

void main()

{

// 设置随机函数种子

srand((unsigned) time(NULL));

// 初始化图形模式

initgraph(640, 480);

int x, y;

char c;

setfont(16, 8, "Courier"); // 设置字体

while(!kbhit())

{

for (int i=0; i<479; i++)

{

setcolor(GREEN);

for (int j=0; j<3; j++)

{

x = (rand() % 80) * 8;

y = (rand() % 20) * 24;

c = (rand() % 26) + 65;

outtextxy(x, y, c);

}

setcolor(0);

line(0,i,639,i);

Sleep(10);

if (kbhit()) break;

}

}

// 关闭图形模式

closegraph();

}

*/

3)

/*

#include

#include

#include

#define MAXSTAR 200 // 星星总数

struct STAR

{

double x;

int y;

double step;

int color;

};

STAR star[MAXSTAR];

// 初始化星星

void InitStar(int i)

{

star[i].x = 0;

star[i].y = rand() % 480;

star[i].step = (rand() % 5000) / 1000.0 + 1;

star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5);

// 速度越快,颜色越亮

star[i].color = RGB(star[i].color, star[i].color,

star[i].color);

}

// 移动星星

void MoveStar(int i)

{

// 擦掉原来的星星

putpixel((int)star[i].x, star[i].y, 0);

// 计算新位置

star[i].x += star[i].step;

if (star[i].x > 640) InitStar(i);

// 画新星星

putpixel((int)star[i].x, star[i].y, star[i].color); }

// 主函数

void main()

{

srand((unsigned)time(NULL)); // 随机种子

initgraph(640, 480); // 打开图形窗口

// 初始化所有星星

for(int i=0; i

{

InitStar(i);

star[i].x = rand() % 640;

}

// 绘制星空,按任意键退出

while(!kbhit())

{

for(int i=0; i

MoveStar(i);

Sleep(20);

}

closegraph(); // 关闭图形窗口

}

*/

4)

/*

#include

#include

void main()

{

float H, S, L;

initgraph(640, 480);

// 画渐变的天空(通过亮度逐渐增加)

H = 190; // 色相

S = 1; // 饱和度

L = 0.7f; // 亮度

for(int y = 0; y < 480; y++)

{

L += 0.0005f;

setcolor( HSLtoRGB(H, S, L) );

line(0, y, 639, y);

}

// 画彩虹(通过色相逐渐增加)

H = 0;

S = 1;

L = 0.5f;

setlinestyle(PS_SOLID, NULL, 2); // 设置线宽为 2 for(int r = 400; r > 344; r--)

{

H += 5;

setcolor( HSLtoRGB(H, S, L) );

circle(500, 480, r);

}

getch();

closegraph();

}

*/

5)

#include

#include

void main()

{

// 初始化图形窗口

initgraph(640, 480);

MOUSEMSG m; // 定义鼠标消息

while(true)

{

// 获取一条鼠标消息

m = GetMouseMsg();

switch(m.uMsg)

{

case WM_MOUSEMOVE:

// 鼠标移动的时候画红色的小点

putpixel(m.x, m.y, RED);

break;

case WM_LBUTTONDOWN:

// 如果点左键的同时按下了 Ctrl 键

if (m.mkCtrl)

// 画一个大方块

rectangle(m.x-10, m.y-10, m.x+10, m.y+10);

else

// 画一个小方块

rectangle(m.x-5, m.y-5, m.x+5, m.y+5);

break;

case WM_RBUTTONUP:

return; // 按鼠标右键退出程序}

}

// 关闭图形窗口

closegraph();

}

c语言画图.

VC绘图/游戏简易教程--1:创建新项目 [本期目标] 学会在VC 里面创建项目,并写简单的程序。 VC 写程序要有项目的概念,一个项目可以有多个 .cpp 文件,多个项目构成一个工作区。先记住这两个英文单词吧: ?Workspace: 工作区 ?Project: 项目 现在开始创建一个新项目。 ?VC6 创建新项目请参考这个视频:https://www.doczj.com/doc/2f11008134.html,/news/View.aspx?id=65 ?VC2008 创建新项目请参考:https://www.doczj.com/doc/2f11008134.html,/news/View.aspx?id=85 ?VC2010 与VC2008 相似。 看明白后,自己动手建立项目试试,并输入以下代码: #include void main() { printf("Hello World!"); } 尤其是之前用tc 的同学,请务必创建新项目试一试。成功执行后,会看到屏幕上有“Hello World!”几个字符。然后,再重新输入以下代码试试(无需理解代码含义): #include #include void main() { initgraph(640, 480); line(200, 240, 440, 240); line(320, 120, 320, 360); getch(); closegraph(); } 执行后应该可以看到屏幕正中央有一个十字。 看到该十字后,本节课结束。

VC绘图/游戏简易教程--2:简单绘图,学习单步执行 [本期目标] 学会简单绘图,并学会简单调试。 先看看上一课的代码,我加上了注释 #include // 绘图库头文件,绘图语句需要 #include // 控制台输入输出头文件,getch()语句需要 void main() { initgraph(640, 480); // 初始化640x480的绘图屏幕 line(200, 240, 440, 240); // 画线(200,240) - (440,240) line(320, 120, 320, 360); // 画线(320,120) - (320,360) getch(); // 按任意键 closegraph(); // 关闭绘图屏幕 } 解释一下: 1. 创建的绘图屏幕640x480,表示横向有640个点,纵向有480个点。注意:左上角是原点(0,0),也就是说,y轴和数学的y轴是相反的。 2. getch实现按任意键功能,按任意键后,程序继续执行。否则,程序会立刻执行closegraph以至于看不到绘制的内容。 [作业] 用线条画出更多的图形,要求不少于10条直线。 [学习单步执行] 完成作业后(务必完成),开始试着单步执行刚才的程序,由于绘图和多线程等因素的限制,请务必按照以下步骤尝试(熟练了以后就不用了): 1. 将VC取消最大化,并缩小窗口,能看到代码就行。 2. 按一下F10(单步执行),会看到屏幕上出现一个黄色的小箭头,指示将要执行的代码。 3. 当箭头指向initgraph语句时,按F10,能看到窗口发生了变化。 4. 将新的绘图窗口和VC并排放,相互不要有覆盖。这步很重要,否则绘图内容将会被VC窗口覆盖。

(各行流程管理)C语言人事管理(附加流程图)

题目: 某高校主要人员有:在职人员(行政人员,教师,一般员工),退休人员和临时工。现在需要存储这些人员的人事档案信息,内容包括变好,姓名,性别,年龄,职务,职称,政治面貌,最高学历,任职时间,来院时间,人员类别。其中人员编号唯一,不能重复。(1)添加删除功能:能根据学院人事的变动情况,添加删除记录 (2)查询功能:能根据编号和姓名进行查询 (3)编辑功能(高级):根据查询对相应的记录进行修改并存储 (4)统计功能:能根据多种参数进行人员的统计(在职人员,党员人数,女工人数,高学历高学历人员(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息。 (5)排序功能:按照年龄,来院时间进行排序。 (6)保存功能:能对输入的数据进行相应的存储。 程序代码: #include /*根据实际存放位置修改此路径*/ /*初始化双链表*/ void init() { First=(TEACHER *)malloc(sizeof(TEACHER)); /*为头结点申请空间*/ Last=First; /*将尾指针指向头结点*/ First->prior=Last; /*设置头结点的前驱指针*/ Last->next=First; /*设置头结点的后继指针*/ p=First; /*设置当前记录指针为头结点*/ } /*创建教师信息循环双链表*/ void create() { int unit,flag=0; float temp; TEACHER *info; /*新增结点*/ init(); for(;;)

{ if(flag==1)break; /*标志为1,不再输入*/ clrscr(); /*清屏*/ printf("Please enter teacher infomation\n"); printf("input @ end enter\n"); info=(TEACHER *)malloc(sizeof(TEACHER));/*为新增结点申请空间*/ if(!info) /*没有空间出错处理*/ { printf("\nout of memory"); exit(0); } printf("No:"); /*开始提示输入*/ scanf("%s",info->no); if(info->no[0]=='@')/*输入@结束输入*/ { flag=1;break;} printf("Name:"); scanf("%s",info->name); printf("Sex:"); scanf("%s",info->sex); printf("Profess:"); scanf("%s",info->profess); printf("Dept:"); scanf("%s",info->dept); printf("Class:"); scanf("%s",info->class); printf("Workload:"); scanf("%f",&temp); info->workload=temp; if(strcmp(info->profess,"prof"))unit=25; /*教授*/ if(strcmp(info->profess,"aprof"))unit=20;/*副教授*/ if(strcmp(info->profess,"lect"))unit=15;/*讲师*/ if(strcmp(info->profess,"ass"))unit=10;/*助教*/ info->lessonf=unit*info->workload;/*根据职称计算代课费*/ info->next=Last->next;/*新插入结点插在表末尾*/ info->prior=Last; /*新结点的前驱为原来的尾结点*/ Last->next=info; /*原来尾结点的后继为新结点*/ Last=info; /*新的尾结点为新结点*/ First->prior=Last;/*头结点的前驱为尾指针*/ } return; } /*显示第一条记录*/ void firstr()

利用C语言图形函数绘图

计算机图形学课程实 验 报 告 实验题目 班 级 姓 名 学 号 指导教师 日 期 西安理工大学理学院应用数学系 二零一二年春季学期 信息与计算科学专业基础课 Computer Graphics Report Of course experiment

实验说明 试验目的: 掌握TurboC 语言图形函数的使用和学会绘制一般图形。 试验地点: 教九楼401 数学系机房 实验要求(Direction ):1. 每个学生单独完成;2.开发语言为TurboC 或C++,也可使用其它 语言;3.请在自己的实验报告上写明姓名、学号、班级;4.每次交的实验报告内容包括:题目、试验目的和意义、程序制作步骤、主程序、运行结果图以及参考文件;5. 自己保留一份可执行程序,考试前统一检查和上交。 实验内容 实验题一 1.1实验题目 用如下图1所示,图中最大正n 边形的外接圆半径为R ,旋转该正n 边形,每次旋转θ角度,旋转后的的n 边形顶点落在前一个正六边形的边上,共旋转N 次,请上机编程绘制N+1个外接圆半径逐渐缩小且旋转的正n 边形。要求:(1) n 、R 、N 、θ要求可以人为自由控制输入;(2)N+1个正六边形的中心(即外接圆的圆心)在显示屏幕中心。 利用C 语言图形函数绘图 实验 1

1.2实验目的和意义 1. 了解如何利用C语言和图形函数进行绘图; 2. 熟悉并掌握C语言的图形模式控制函数,图形屏幕操作函数,以及基本图形函数; 3. 通过对Turbo C进行图形程序设计的基本方法的学习,能绘制出简单的图形; 4. 通过绘制N+1个正n边形,了解图形系统初始化、图形系统关闭和图形模式的控制,并熟练运用图形坐标的设置,包括定点、读取光标、读取x和y轴的最大值以及图形颜色的设置。 1.3程序制作步骤(包括算法思想、算法流程图等) 算法思想: 1.自动搜索显示器类型和显示模式,初始化图形系统,通过printf、scanf语句控制半径r、边数n、多边形的个数k、边的每次旋转角度d,的自由输入; 2.给定一内接圆半径r,由圆内接多边形的算法公式: x[i]=r*cos((i+1) *2.0*pi/n)+320.0 y[i]=240.0-r*sin(2.0*pi/n *(i+1)) 确定出多边形N的各个顶点坐标,然后利用划线函数line(),连接相邻两点,即形成一个正多边形。 3.根据边与角的关系,以及线段定比分点公式,可知旋转后的多边形的各个顶点的坐标。公式如下: x[i]=(x[i]+x[i+1]/(k+1)) y [i]=(y[i]+y[i+1]/(k+1)) k=360/(n*d) (n为多边形的边数,d为多边形旋转的度数) 然后与第二步相同,利用划线函数line(),连接形成又一个旋转过的正多边形,这样就形成了所要绘制的图形; 4.关闭图形系统。 1.4主程序 程序代码: /*----- 多边形的逐次旋转------*/ #include "stdio.h" #include "conio.h" #include "math.h"

C语言习题(带流程图)

6.2有一个错误 #include int main() { int i; int f[20]={1,1}; for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) { if(i%5==0) printf("\n"); printf("%12d",f[i]); } printf("\n"); return 0; } 5.11可运行 #include int main() {char c; c=getchar(); while(c!='\n')

{if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) {if(c>='W'&&c<='Z'||c>='w'&&c<='z') c=c-22; else c=c+4; } printf("%c",c); c=getchar(); } printf("\n"); return 0; } 5.11(2)有一个错误 #include int main() {char c; while((c=getchar())!='\n') {if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) {c=c+4; if(c>='Z'&&c<='Z'+4||c>'z') c=c-26; } printf("%c",c); }

printf("\n"); return 0; } 5.1有一个错误 #include #include int main() { int n,k,i,m=0; for(n=101;n<=200;n=n+2) {k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) {printf("%d",n); m=m+1; } if(m%10==0) printf("\n"); } printf("\n"); return 0; }

C语言图形开发库函数graphics

函数名: fillellipse 功能: 画出并填充一椭圆 用法: void far fillellipse(int x, int y, int xradius, int yradius); 程序例: #include #include int main(void) { int gdriver = DETECT, gmode; int xcenter, ycenter, i; initgraph(&gdriver,&gmode,""); xcenter = getmaxx() / 2; ycenter = getmaxy() / 2; for (i=0; i<13; i++) { setfillstyle(i,WHITE); fillellipse(xcenter,ycenter,100,50); getch(); } closegraph(); return 0; } Graphics 类 .NET Framework 类库 Graphics 类 封装一个GDI+ 绘图图面。无法继承此类。 命名空间:System.Drawing 程序集:System.Drawing(在system.drawing.dll 中) 语法 Visual Basic(声明)

Public NotInheritable Class Graphics Inherits MarshalByRefObject Implements IDeviceContext, IDisposable Visual Basic(用法) Dim instance As Graphics C# public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable C++ public ref class Graphics sealed : public MarshalByRefObject, IDeviceContext, IDisposable J# public final class Graphics extends MarshalByRefObject implements IDeviceContext, IDisposable JScript public final class Graphics extends MarshalByRefObject implements IDeviceContext, IDisposable 备注 Graphics类提供将对象绘制到显示设备的方法。Graphics与特定的设备上下文关联。 通过调用从System.Windows.Forms.Control继承的对象的Control.CreateGraphics方法,或通过处理控件的Control.Paint事件并访问System.Windows.Forms.PaintEventArgs类的Graphics属性,可以获取Graphics。 继承层次结构 System.Object System.MarshalByRefObject System.Drawing.Graphics 线程安全 此类型的任何公共静态(Visual Basic 中的Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。 平台 Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

利用C语言画图例子

利用C语言画图例子 1) /*#include // 就是需要引用这个图形库 #include void main() #include #include void main() { initgraph(640, 480); // 这里和 TC 略有区别 circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100 getch(); // 按任意键继续 closegraph(); // 关闭图形界面 printf("***\n"); } */ 2) /* #include #include #include void main() { // 设置随机函数种子 srand((unsigned) time(NULL)); // 初始化图形模式 initgraph(640, 480); int x, y; char c; setfont(16, 8, "Courier"); // 设置字体

while(!kbhit()) { for (int i=0; i<479; i++) { setcolor(GREEN); for (int j=0; j<3; j++) { x = (rand() % 80) * 8; y = (rand() % 20) * 24; c = (rand() % 26) + 65; outtextxy(x, y, c); } setcolor(0); line(0,i,639,i); Sleep(10); if (kbhit()) break; } } // 关闭图形模式 closegraph(); } */ 3) /* #include #include #include

c语言程序设计流程图详解

c语言程序设计流程图详解 介绍常见的流程图符号及流程图的例子。 本章例1-1的算法的流程图如图1-2所示。本章例1-2的算法的流程图如图1-3所示。 在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T、”“F或”“Y、”“N”注“真”、“假”或“T、”“F或”“Y、”“N”

另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。 2.算法的结构化描述 早期的非结构化语言中都有goto语句,它允许程序从一个地方直接跳转到另一个地方去。 执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难。这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照。而结构化程序设计,就是要把这团乱麻理清。 经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑 单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。遵循这种方法的程序设计,就是结构化程序设计。 相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图。 (1)顺序结构 顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图1-4所示,语句 的执行顺序为:A→B→C。 (2)选择(分支)结构 这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图1-5a)、b)所示。图1-5a)的执行序列为:当条件为真时执行A,否则执 行B;图1-5b)的执行序列为:当条件为真时执行A,否则什么也不做。 (3)循环结构 循环结构有两种基本形态:while型循环和do-while型循环。 a.while型循环 如图1-6所示。 其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句。 b.do-while型循环 如图1-7所示。

C语言中绘图的函数库全解

C语言中绘图的函数库 图形和图像函数包含在graphics.h里面 (一) 像素函数 56. putpiel() 画像素点函数 57. getpixel()返回像素色函数 (二) 直线和线型函数 58. line() 画线函数 59. lineto() 画线函数 60. linerel() 相对画线函数 61. setlinestyle() 设置线型函数 62. getlinesettings() 获取线型设置函数 63. setwritemode() 设置画线模式函数 (三)、多边形函数 64. rectangle() 画矩形函数 65. bar() 画条函数 66. bar3d() 画条块函数 67. drawpoly() 画多边形函数 (四)、圆、弧和曲线函数 68. getaspectratio()获取纵横比函数 69. circle()画圆函数 70. arc() 画圆弧函数 71. ellipse()画椭圆弧函数 72. fillellipse() 画椭圆区函数 73. pieslice() 画扇区函数 74. sector() 画椭圆扇区函数 75. getarccoords()获取圆弧坐标函数 (一) 像素函数 56. putpixel() 画像素点函数 功能:函数putpixel() 在图形模式下屏幕上画一个像素点。 用法:函数调用方式为void putpixel(int x,int y,int color); 说明:参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值。 此函数相应的头文件是graphics.h 返回值:无 例:在屏幕上(6,8)处画一个红色像素点: putpixel(6,8,RED); (二) 直线和线型函数

c语言基本画图函数

c语言基本画图函数 基本图形函数包括画点,线以及其它一些基本图形的函数。本节对这些函数作一全面的介绍。1、画点 I画点函数void far putpixel(int x, int y, int color); 该函数表示有指定的象元画一个按color 所确定颜色的点。对于颜色color的值可从表3中获得而对x, y是指图形象元的坐标。 在图形模式下,是按象元来定义坐标的。对VGA适配器,它的最高分辨率为640x480,其中640为整个屏幕从左到右所有象元的个数,480为整个屏幕从上到下所有象元的个数。屏幕的左上角坐标为(0,0),右下角坐标为(639, 479),水平方向从左到右为x 轴正向,垂直方向从上到下为y轴正向。TURBO C的图形函数都是相对于图形屏幕坐标,即象元来说的。 关于点的另外一个函数是:int far getpixel(int x, int y); 它获得当前点(x, y)的颜色值。 II、有关坐标位置的函数. int far getmaxx(void);返回x轴的最大值。 int far getmaxy(void); 返回y轴的最大值。 int far getx(void); 返回游标在x轴的位置。 void far gety(void); 返回游标有y轴的位置。 void far moveto(int x, int y); 移动游标到(x, y)点,不是画点,在移动过程中亦画点。 void far moverel(int dx, int dy); 移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置,移动过程中不画点。 2、画线 I. 画线函数 TURBO C提供了一系列画线函数,下面分别叙述: void far line(int x0, int y0, int x1, int y1); 画一条从点(x0, y0)到(x1, y1)的直线。 void far lineto(int x, int y); 画一作从现行游标到点(x, y)的直线。 void far linerel(int dx, int dy); 画一条从现行游标(x,y)到按相对增量确定的点(x+dx, y+dy)的直线。 void far circle(int x, int y, int radius); 以(x, y)为圆心,radius为半径,画一个圆。 void far arc(int x, int y, int stangle, int endangle,int radius); 以(x,y)为圆心,radius为半径,从stangle开始到endangle结束(用度表示)画一段圆弧线。 在TURBO C中规定x轴正向为0 度,逆时针方向旋转一周,依次为90,180, 270和360度(其它有关函数也按此规定,不再重述)。 void ellipse(int x, int y, int stangle, int endangle,int xradius,int yradius);以(x, y)为中心,xradius,yradius为x轴和y轴半径,从角stangle 开始到endangle结束画一段椭圆线,当stangle=0,endangle=360时,画出一个完整的椭圆。 void far rectangle(int x1, int y1, int x2, inty2); 以(x1, y1)为左上角,(x2, y2)为右下角画一个矩形框。void far drawpoly(int numpoints, int far *polypoints); 画一个顶点数为numpoints,各顶点坐标由polypoints给出的多边形。polypoints整型数组必须至少有2 倍顶点数个无素。每一个顶点的坐标都定义为x,y,并且x在前。值得注意的是当画一个封闭的多边形时,numpoints 的值取实际多边形的顶点数加一,并且数组polypoints中第一个和最后一个点的坐标相同。下面举一个用drawpoly()函数画箭头的例子。 #include #include int main() {

C语言实用程序设计100例流程图

C语言实用程序100例 第一篇基础与提高 实例1利用库函数编写基本显示程序 实例2变量属性 实例3运算符与类型 实例4关于程序结构 实例5显示函数曲线图 实例6二分法选代的应用 实例7多变的立方体 实例8一维整型数组应用(1) 实例9一维整型数组应用(2) 实例10一维整型数组应用(3) 实例11一维整型数组应用(4) 实例12二维数组应用(1)——显示杨辉三角实例13二维数组应用(2)——魔方阵 实例14字符数组应用(1)——逻辑判断 实例15字符数组应用(2)——数据模拟 实例16二维数组应用——字符比较 实例17利用指针进行数据处理 实例18指针与字符串 实例19利用指针处理二维数组 实例20一级指针 实例21利用指针传递参数值 实例22结构体的应用 实例23链表的应用(1) 实例24链表的应用(2) 实例25链表的应用(3) 实例26共用体的应用 实例27枚举类型应用 实例28位运算 买例29义件加密 实例30文件的按记录随机读写 第二篇图形与多媒体 实例31改变文字背景色 实例32及本颜色设置 实例33制作表格 实例34制作多样的椭圆 实例35美丽的透视图形 实例36错位窗口 实例37能移动的矩形 实例38多变的填充矩形 实例39黄黑相间的矩形与圆 实例40六叶图案

实例41特殊图案 实例42国际象棋棋盘 实例43制作楼梯 实例44使用线类型函数设置多个汉字 实例45彩色群点 实例46饼图 买例47产品折线图 实例48直方图 实例49变大变色的拒形与国 实例50多变的填充多边形 实例51流星球 实例52小球动态碰撞 买倒53多,曲线 实例54多变的圆与环 实例55优美的球体 实例56运动的小车 实例57统计动画消失次数 实例58运行的时钟 实例59直升飞机 实例60演绎“生命游戏” 实例61猜猜看 买例62艺术清屏 买倒63制作火焰 实例64动态绘制256条不同颜色的直线实例65红绿蓝三原色渐变 第三篇综合小程序 实例66两个矩阵相乘 实例67艺术钟 实例68家庭财务管理小程序 实例69用系统时间实现随机数 实例70闪动的多彩圆 实例71检查系统有无鼠标 实例72圆形光盘与矩形 实例73动态渐变图案 实例74往返两地间的小车 实例75飘扬的红旗 实例76显示蓝天白云图形 实例77百叶窗 第四篇计算机等级考试上机试题(二级)第五篇计算机等级考试上机试题(三级)部分流程图 实例1

C语言画图

#include #include #include #include main() { int graphdrv=VGA; int graphmode=VGAHI; float p,v,m,t,t1,a,y1,y2,f,y3,r,g=10,v0,pi=3.14; printf("Please input the number:"); printf("\n"); scanf("p=%f,r=%f",&p,&r); initgraph (&graphdrv,&graphmode,"\\TC\\bgi"); line(100,250,100,450); line(500,250,500,450); line(100,450,500,450); line(100,300,500,300); for(t1=0;t1<=500;t1=t1+0.002) { cleardevice(); line(100,250,100,450); line(500,250,500,450); line(100,450,500,450); line(100,300,500,300); y1=20+g*t1*t1/2; circle(300,y1,r); t1=t1; if(y1>=300) break; } v0=g*t1; if(p>1) { v=4*pi*r*r*r/3; f=1*g*v; m=v*p; a=(m*g-f)/m; for(t=0;t<=500;t=t+0.002) { cleardevice(); line(100,250,100,450); line(500,250,500,450);

C语言图形编程函数大全

C语言图形编程 一、字符屏幕 一、屏幕操作函数 1. clrscr()清除字符窗口函数 2. window()字符窗口函数 3. gotoxy()光标定位函数 4. clreol() 清除光标行尾字符函数 5. insline() 插入空行函数 6. delline() 删除一行函数 7. gettext() 拷进文字函数 8. puttext() 拷出文字函数 9. movetext() 移动文字函数 二、字符属性函数 10. textmode() 文本模式函数 11. highvideo()高亮度函数 12. lowvideo() 低亮度函数 13. normvideo(void); 14. textcolor() 文本颜色函数 15. textattr() 文本属性函数 16.textbackground() 文本背景函数 三、屏显状态函数 17. wherex() 光标处x坐标函数 18. wherey() 光标处y坐标函数 19. gettextinfo() 获取文本窗口信息函数 在Borland C++里面提供了字符屏幕和图形函数。字符屏幕的核心是窗口(Window),它是屏幕的活动部分,字符输出或显示在活动窗口中进行。窗口在缺省时,就是整个屏幕。窗口可以根据需要指定其大小。同样,对图形函数的操作,也提供了(Viewport)。也就是说图形函数的操作都是在视口上进行。图形视口与字符窗口具有相同的特性,用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕。 窗口是在字符屏幕下的概念,只有字符才能在窗口中显示出来,这时用户可以访问的最小单位为一个字符。视口是在图形屏幕状态下的概念,文本与图形都可以在视口上显示,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的、单独的发光点单元。然而现在,其含义拓宽为指图形显示器上的最小可访问点)。 字符和图形状态下,屏幕上的位置都是由它们的行与列所决定的。有一点须指出:字符状态左上角坐标为(1,1),但图形左上角坐标为(0,0)。 了解字符屏幕和图形函数与窗口和视口的关系是很重要的。例如,字符屏幕光标位置函数gotoxy()将光标移到窗口的x,y位置上,这未必是相对于整个屏幕。下面介绍常用的几类字符屏幕函数的功能用途、操作方法及其例行程序。

C语言习题(带流程图)

有一个错误 #include <> int main() { int i; int f[20]={1,1}; for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) { if(i%5==0) printf("\n"); printf("%12d",f[i]); } printf("\n"); return 0; } 可运行 #include <> int main() {char c; c=getchar(); while(c!='\n')

{if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) {if(c>='W'&&c<='Z'||c>='w'&&c<='z') c=c-22; else c=c+4; } printf("%c",c); c=getchar(); } printf("\n"); return 0; } (2)有一个错误 #include <> int main() {char c; while((c=getchar())!='\n') {if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) {c=c+4; if(c>='Z'&&c<='Z'+4||c>'z') c=c-26; } printf("%c",c); }

printf("\n"); return 0; } 有一个错误 #include <> #include <> int main() { int n,k,i,m=0; for(n=101;n<=200;n=n+2) {k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1) {printf("%d",n); m=m+1; } if(m%10==0) printf("\n"); } printf("\n"); return 0; }

C语言流程图表示方法

第二章: 改变程序流程 算法和流程图 2.1.1算法 计算机语言只是一种工具。光学习语言的规则还不够,最重要的是学会针对各种类型的问题,拟定出有效的解决方法和步骤即算法。有了正确而有效的算法,可以利用任何一种计算机高级语言编写程序,使计算机进行工作。因此,设计算法是程序设计的核心。 并非只有“计算”的问题才有算法。广义地说,为解决一个问题而采取的方法和步骤,称为“算法”。不要把“计算方法”(computational method)和“算法”(algorithm)这两个词混淆。前者指的是求数值解的近似方法,后者是指解决问题的一步一步的过程。在解一个数值计算问题时,除了要选择合适的计算方法外,还要根据这个计算方法写出如何让计算机一步一步执行以求解的算法。对于计算机外行来说,他们可以只使用别人已设计好的现成算法,只需根据算法的要求给以必要的输入,就能得到输出的结果。对他们来说,算法如同一个“黑箱子”一样,他们可以不了解“黑箱子”中的结构,只是从外部特性上了解算法的作用,即可方便地使用算法。但对于程序设计人员来说,必须会设计算法,并且根据算法编写程序。 对同一个问题,可以有不同的解题方法和步骤。例如,求1+2+3+…+100,可以先进 行1+2,再加3,再加4,一直加到100,也可采取100+(1+99)+(2+98)+…+ (49+51)+50=100+50+49×100=5050。还可以有其它的方法。当然,方法有优劣之分。有的方法只需进行很少的步骤,而有些方法则需要较多的步骤。一般说,希望采用方法简单,运算步骤少的方法。因此,为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。 一个计算问题的解决过程通常包含下面几步: 确立所需解决的问题以及最后应达到的要求。必须保证在任务一开始就对它有详细 分析问题构造模型。在得到一个基本的物理模型后,用数学语言描述它,例如列出 选择计算方法。如定积分求值问题,可以用矩形法、梯形法或辛普生法等不同的方 法”,就是研究用什么方法最有效、最近似地实现各种数值计算的,换句话说,计算 方法是研究数值计算的近似方法的。 确定算法和画流程图。在编写程序之前,应当整理好思路,设想好一步一步怎样运 骤,它表示工作的流程,称为流程图。它能使人们思路清楚,减少编写程序中的错 误。 编写程序。 程序调试,即试算。一个复杂的程序往往不是一次上机就能通过并得到正确的结果 正式运行得到必要的运算结果。 2.1.2流程图

最新C语言绘图基础汇总

C语言绘图基础

使用图形函数 1.必须包含头文件 2.保证系统能找到显示图形驱动程序*.BGI 3.将TC集成开发环境Options菜单中Linker项中的Graphics Lib选为on 只有做完这三步才能保证正确编译图形应用程序 屏幕颜色的设置 设置当前背景色:void far setbkcolor(int color); 设置当前作图色:void far setcolor(int color); 对于EGA或者VGA显示适配器,有关颜色的符号常数及数值如下:BLACK 0 黑色 BLUE 1 蓝色 GREEN 2 绿色 CYAN 3 青色 RED 4 红色 MAGENTA 5 洋红 BROWN 6 棕色 LIGHTGRAY 7 淡灰 DARKGRAY 8 深灰 LIGHTBLUE 9 深蓝 LIGHTGREEN 10 淡绿 LIGHTCYAN 11 淡青

LIGHTRED 12 淡红 LIGHTMAGENTA 13 淡洋红 YELLOW 14 黄色 WHITE 15 白色 如果不设定颜色,则默认的北京颜色是0,也就是黑色背景;默认的画笔颜色是15,也就是白色 另外还有几个获取现行颜色设置情况的函数: int far getbkcolor(void); int far getcolor(void); int far getmaxcolor(void); 直接对点进行处理的函数: int far getpixel(int x, int y);/*取得点(x,y)的颜色 void far putpixel(int x, int y, int pixelcolor);/*在(x,y)处画一个指定颜色的点 坐标和画笔: 图形模式屏幕的左上角是坐标原点(0,0),水平方向向右是X轴,垂直方向向下为Y轴。因为图形显示器和显示模式不同,X、Y坐标的最大值不同。两个函数可以取得这两个最大值: int far getmaxx(void); int far getmaxy(void); 这两个函数在自动检测分辨率时非常有用。 int far getx(void);/*返回画笔在x轴的位置 int far gety(void);/*返回画笔在y轴的位置 int far moveto(int x, int y);/*移动画笔到x,y所在的位置,不在屏幕上留下痕迹。

c语言课程设计报告----简易绘图

计算机科学与技术学院 《C高级语言程序设计》课程设计报告 (2013/2014学年第一学期) 学生姓名:白小军 学生专业:软件工程 学生班级:122002班 学生学号:201220040201 指导教师:胡春霞 2013 年12月24日

目录 第一章功能需求描述 (1) 1.1功能列表 (1) 1.2 功能说明 (1) 1.3 操作界面 (1) 1.4 操作方法 (2) 第二章设计描述 (2) 2.1 任务分解说明 (2) 2.2 主要数据结构设计说明 (2) 2.3 主要函数接口说明 (3) 2.3.1 主函数接口及包含的函数接口 (3) 2.3.2 载入图片函数接口 (3) 2.3.3 设置右边栏选择颜色函数接口 (4) 第三章算法描述 (4) 3.1 主要函数的程序流程图 (4) 第四章开发过程描述 (5) 4.1 源代码 (5) 4.2 代码编译 (12) 4.3 代码调试 (12) 4.4 测试程序功能 (13) 第五章设计心得体会 (15) 附录一规定题目的程序流程图及程序代码 (15)

第一章功能需求描述 1.1功能列表 简易绘图程序的功能如下: 1.1.1 提供8种颜色 1.1.2 5种画笔的大小(画的都是圆) 1.1.3 清屏和退出 1.2 功能说明 1.2.1 初始有默认选的画笔颜色为黑色,默认的大小为最小 1.2.2 绘制的过程中实际显示的是一个实心圆 1.2.3 选择画笔的大小实际为选择所画圆的半径的像素大小 1.3 操作界面

1.4 操作方法 执行程序后,弹出绘图窗口:有默认的颜色画笔和大小,可以选择画笔的颜色,画笔的大小,在空白区域点鼠标左键来绘图,再增加清屏和退出功能。 第二章设计描述 2.1 任务分解说明 void Index(void); //初始化绘图 void Loadimg(void); //载入图片 void Scolor(void); //设置右边栏选择颜色 void Brush_size(void); //设置画笔大小的显示 void art(void); //程序画图核心函数 2.2 主要数据结构设计说明 MOUSEMSG m; //定义全局获取鼠标信息的变量详细如下 struct MOUSEMSG { UINT uMsg; // 当前鼠标消息 bool mkCtrl; // Ctrl 键是否按下 bool mkShift; // Shift 键是否按下 bool mkLButton; // 鼠标左键是否按下 bool mkMButton; // 鼠标中键是否按下 bool mkRButton; // 鼠标右键是否按下 int x; // 当前鼠标 x 坐标 int y; // 当前鼠标 y 坐标 int wheel; // 鼠标滚轮滚动值 }; "当前鼠标消息"可能是以下值:

相关主题
文本预览
相关文档 最新文档