1
实验十 图形程序设计
一、实验目的
掌握C语言图形程序设计的基本思想、方法和技巧。结合所学知识,编写C
语言综合应用程序。
二、实验要求
1. 掌握文本窗口的定义、颜色的设置及屏幕的操作,窗口内文本的输入和
输出。
2. 掌握在C程序中进行图形绘制的基本过程和方法。
3. 能够编写C语言综合应用程序。
4. 编写实验报告(十)。
三、实验内容
10-1 程序S10-1.C定义屏幕为彩色80列,打开一个绿边蓝底的窗口,通过窗
口提示从键盘上输入5个学生的英语、数学、物理、化学、计算机5科成
绩,并将输入的5个学生的成绩保存到文件S10-1.DAT文件中。阅读、分
析、并运行程序。
源程序S10-1.C
# include "stdio.h"
# include "conio.h"
void main()
{ int i,j,s,k,n,m[5];
FILE *fp;
textmode (C80);
window (18, 7, 62, 18);
clrscr ( );
textbackground(2);
textcolor (14);
for (i=7; i<=18; i=i+1)
for (j=18; j<=62;j=j+1)
cputs (" ");
window (20, 8, 60, 17) ;
textbackground (1);
textcolor (14);
for (i=8; j<=17; j=i+1)
for (j=20; j<=60; j=j+1)
2
cputs (" ");
if ((fp=fopen ("11-1.DAT", "w"))!=NULL)
{ k=0;
for (n=0; n<5; n=n+1)
{ clrscr ( );
gotoxy (12,2);
printf("*****%d*****\n",n+1);
gotoxy (3,4);
cputs ("English: \n");
gotoxy (30,4);
scanf ("%d", &m[0]);
gotoxy (3,5);
cputs ("maths: \n");
gotoxy (30,5);
scanf ("%d", &m[1]);
gotoxy (3,6);
cputs ("physics: \n");
gotoxy (30,6);
scanf ("%d", &m[2]);
gotoxy (3,7);
cputs ("chemistry: \n");
gotoxy (30,7);
scanf ("%d", &m[3]);
gotoxy (3,8);
cputs ("Computer: \n");
gotoxy (30,8);
scanf("%d", &m[4]);
fprintf(fp, "%d, %d, %d, %d, %d \n", m[0],m[1],m[2],m[3],m[4]);
}
fclose (fp);
gotoxy (3,9);
cputs ("File ok!");
getch();
}
else
gotoxy (3,9);
}
10-2 编写图形程序S10-2.C,画16个矩形,每个矩形用一种颜色,并把颜色号
3
作为文字写入矩形中,运行并观察程序的效果。
10-3 编写程序S10-3.C,画一个椭圆,用指定格式填充。
10-4 运行程序S10-4.C,可以看到“Hello!”由小到大逐渐推向屏幕中央。读程序,
并自己编写一个有动画效果的图形程序来。
源程序S10-4.C
#include<graphics.h>
#include<stdio.h>
main()
{ int i,t,x=300,y=50;
int gd=DETECT,gm=0;
initgraph(&gd,&gm,"d:\\tc");
setbkcolor(3);
setcolor(4);
printf("Input delay time(1-10)");
scanf("%d",&t);
for(i=0;i<=10;i++)
{ x=x-15;
y=y+15;
settextstyle(1,0,i);
cleardevice();
outtextxy(x,y,"Hello!");
delay(100*t);
}
getch();
closegraph();
}
*10-5 编写程序S10-5.C,模拟用户注册和登录的过程。改写S9-7.C,使其具有
较好的图形界面。