码迷,mamicode.com
首页 > 其他好文 > 详细

实时控制软件设计 第一次作业

时间:2015-11-29 06:25:01      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

#include <iostream>
#include <stdlib.h>
#include <orocos_kdl/src/frames.hpp>
#include <cstring>
using namespace std;
using namespace KDL;
class abc
{public:
char name[20];
int m;
Vector2 point[3];
abc()
{
for(int i=0;i<20;i++)name[i]=0;
m=0;
}
};
int main()
{
char i,j;
char a[3][20];
char b[6][10];
double c[6]={0,0,0,0,0,0};
char d[3][20];
char e[2][10];
double f[2];
cout<<"请输入 ";
abc p;
cin>>p.name;
cin>>p.m;
switch(p.m)
{
case 1:
{
cin>>a[0];
for(i=1;i<=10&&a[0][i]!=‘,‘;i++)b[0][i-1]=a[0][i];
for(j=0,i++;j<10&&a[0][i]!=‘)‘;i++,j++)b[1][j]=a[0][i];
c[0]=atof(b[0]);c[1]=atof(b[1]);
p.point[0]= (Vector2(c[0],c[1]));
}
break;
case 2:
{
cin>>a[0];
cin>>a[1];
for(i=1;i<=10&&a[0][i]!=‘,‘;i++)b[0][i-1]=a[0][i];
for(j=0,i++;j<10&&a[0][i]!=‘)‘;i++,j++)b[1][j]=a[0][i];
for(i=1;i<=10&&a[1][i]!=‘,‘;i++)b[2][i-1]=a[1][i];
for(j=0,i++;j<10&&a[1][i]!=‘)‘;i++,j++)b[3][j]=a[1][i];
c[0]=atof(b[0]);c[1]=atof(b[1]);
c[2]=atof(b[2]);c[3]=atof(b[3]);
p.point[0]= (Vector2(c[0],c[1]));
p.point[1]= (Vector2(c[2],c[3]));
}
break;
case 3:
{
cin>>a[0];
cin>>a[1];
cin>>a[2];
for(i=1;i<=10&&a[0][i]!=‘,‘;i++)b[0][i-1]=a[0][i];
for(j=0,i++;j<10&&a[0][i]!=‘)‘;i++,j++)b[1][j]=a[0][i];
for(i=1;i<=10&&a[1][i]!=‘,‘;i++)b[2][i-1]=a[1][i];
for(j=0,i++;j<10&&a[1][i]!=‘)‘;i++,j++)b[3][j]=a[1][i];
for(i=1;i<=10&&a[2][i]!=‘,‘;i++)b[4][i-1]=a[2][i];
for(j=0,i++;j<10&&a[2][i]!=‘)‘;i++,j++)b[5][j]=a[2][i];
c[0]=atof(b[0]);c[1]=atof(b[1]);
c[2]=atof(b[2]);c[3]=atof(b[3]);
c[4]=atof(b[4]);c[5]=atof(b[5]);
p.point[0]= (Vector2(c[0],c[1]));
p.point[1]= (Vector2(c[2],c[3]));
p.point[2]= (Vector2(c[4],c[5]));
}
break;
default:cout<<"Error";
}
for(int k=0;k<20;k++)d[0][k]=0;
cin>>d[0];
if(d[0][0]==‘m‘&&d[0][1]==‘o‘&&d[0][2]==‘v‘&&d[0][3]==‘e‘&&d[0][4]==0)
{
for(int k=0;k<20;k++)d[1][k]=0;
cin>>d[1];
if(!strcmp(d[1],p.name))
{
cin>>d[2];
for(i=1;i<=10&&d[2][i]!=‘,‘;i++)e[0][i-1]=d[2][i];
for(j=0,i++;j<10&&d[2][i]!=‘)‘;i++,j++)e[1][j]=d[2][i];
f[0]=atof(e[0]);f[1]=atof(e[1]);
for(i=0;i<3;i++)p.point[i]+=Vector2(f[0],f[1]);
}
else cout<<"error/n";
}
else if(d[0][0]==‘r‘&&d[0][1]==‘o‘&&d[0][2]==‘t‘&&d[0][3]==‘a‘&&d[0][4]==‘t‘&&d[0][5]==‘e‘&&d[0][6]==0)
{
for(int k=0;k<20;k++)d[1][k]=0;
cin>>d[1];
if(!strcmp(d[1],p.name))
{
cin>>d[2];
f[0]=atof(d[2]);
Rotation2 rot(f[0]/180*3.1415926);
for(i=0;i<3;i++)p.point[i]=rot.Inverse(p.point[i]);
}
else cout<<"error/n";
}
else cout<<"error/n";
for(i=0;i<p.m;i++) cout<<‘(‘<<p.point[i].x()<<‘,‘<<p.point[i].y()<<") ";
cout<<endl;
}

技术分享技术分享技术分享

实时控制软件设计 第一次作业

标签:

原文地址:http://www.cnblogs.com/Glamingo/p/5003873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!