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,使其具有 较好的图形界面。