#include <graphics.h> #include <math.h> #define pi 4.1415926 m a i n ( a r g c , a r g v ) int argc;char *argv[]; { int x,y,r1,rs,color; double a; int gdriver=DETECT,gmode; if (strcmp(argv[1],"pass")!=0) { printf("password error!\n"); e x i t ( 0 ) ; } initgraph(&gdriver,&gmode,"..\\bgi "); r 1 = a t o i ( a r g v [ 2 ] ) ; r s = a t o i ( a r g v [ 3 ] ) ; c o l o r = a t o i ( a r g v [ 4 ] ) ; c l e a r d e v i c e ( ) ; s e t b k c o l o r ( c o l o r ) ; s e t c o l o r ( 4 ) ; for(a=0; a<=2*pi;a+=pi/18) { x = r 1 * c o s ( a ) + 3 2 0 ; y = r 1 * s i n ( a ) + 2 4 0 ; c i r c l e ( x , y , r s ) ; } g e t c h ( ) ; c l o s e g r a p h ( ) ; }改正
时间: 2024-03-16 21:46:37 浏览: 93
#include "graphics.h" #include "graphics.h"
这段代码需要做以下改正:
1. 引入头文件应该是 #include <graphics.h> 和 #include <math.h>,而不是 #include "graphics.h" 和 #include "math.h"。
2. 定义圆周率 pi 应该是 3.1415926,而不是 4.1415926。
3. main 函数应该有返回类型 int,而不是 void。
4. main 函数的参数应该是 int argc 和 char *argv[],而不是 int argc;char *argv[];。
5. strcmp 函数的参数应该是 argv[1] 和 "pass",而不是 argv[0] 和 "pass"。
6. 在调用 cleardevice 函数之前应该先调用 setbkcolor 函数设置背景颜色。
7. 在调用 setcolor 函数之前应该先调用 cleardevice 函数清空屏幕。
8. 在调用 getch 函数之前应该先调用 closegraph 函数关闭图形模式。
改正后的代码如下所示:
```c
#include <graphics.h>
#include <math.h>
#define pi 3.1415926
int main(int argc, char *argv[])
{
int x, y, r1, rs, color;
double a;
int gdriver = DETECT, gmode;
if (strcmp(argv[1], "pass") != 0) {
printf("password error!\n");
exit(0);
}
initgraph(&gdriver, &gmode, "..\\bgi");
r1 = atoi(argv[2]);
rs = atoi(argv[3]);
color = atoi(argv[4]);
setbkcolor(color);
cleardevice();
setcolor(4);
for (a = 0; a <= 2 * pi; a += pi / 18) {
x = r1 * cos(a) + 320;
y = r1 * sin(a) + 240;
circle(x, y, rs);
}
closegraph();
return 0;
}
```
阅读全文