#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DATA_SIZE 1024
typedef struct
{
double x;
double y;
} Point;
typedef struct Polygon
{
char name[20];
Point point1;
union
{
Point point2;
double Radius;
} cate;
struct Polygon *next;
} Polygon;
int main()
{
FILE *fp=fopen("data.txt","r");
Polygon *L=(Polygon *)malloc(sizeof(Polygon));
L->next=NULL;
Polygon *p=L;
char s[50],ch;
double x1,y1,x2,y2;
fscanf(fp,"%s",s);
printf("输入:%s\n",s);
char Line[100]="LINE";
while(strcmp(s,"END"))
{
Polygon *q=(Polygon *)malloc(sizeof(Polygon));
q->next=NULL;
strcpy(q->name,s);
if((!strcmp(s,"LINE"))||!strcmp(s,"RECT"))
{
fscanf(fp,"%lf %lf %lf %lf",&(q->point1.x),&(q->point1.y),&(q->cate.point2.x),&(q->cate.point2.y));
printf("%.2f %.2f %.2f %.2f\n",(q->point1.x),(q->point1.y),(q->cate.point2.x),(q->cate.point2.y));
}
if(!strcmp(s,"CIRCLE"))
{
fscanf(fp,"%lf %lf %lf",&(q->point1.x),&(q->point1.y),&(q->cate.Radius));
printf("%.2f %.2f %.2f\n",(q->point1.x),(q->point1.y),(q->cate.Radius));
}
printf("\n\n");
fgetc(fp);
p->next=q;
p=q;
fscanf(fp,"%s",s);
printf("输入:%s %d\n",s,strcmp(s,"END"));
}
fclose(fp);
}
多边形读取
猜你喜欢
转载自blog.csdn.net/weixin_42034217/article/details/85149065
今日推荐
周排行