您的位置:首页 > 编程语言

第一次编程作业

2015-11-30 23:25 281 查看
程序还是有点小问题,并不会!

#include <iostream>
#include <stdlib.h>
#include <Eigen/Dense>
#include <math.h>
using namespace std;
using Eigen::MatrixXd;
MatrixXd select(char str[])
{
MatrixXd b(1,2);
int u;
int i,j;
char a[10];
for(i=0;i<=49&&str[i]!='(';i++);
for(j=0;j<=49&&str[j]!=',';j++);
for(u=0;u<=10&&i!=j-1;u++)
{
i++;
a[u]=str[i];
}

b(0,0)=atof(a);
for(i=j;i<=49&&str[i]!=')';i++);
for(u=0;u<=10&&j!=i-1;u++)
{
j++;
a[u]=str[j];
}
b(0,1)=atof(a);
return b;
}
int main()
{
char Name[15];
int n;
double avg,deg;
float pi=3.14159265;
char str1[20];
char str2[20];
char str3[20];
char str4[15];
char str5[15];
char str6[15];
MatrixXd rot(2,2);
MatrixXd spot1(1,2);
MatrixXd spot2(1,2);
MatrixXd spot3(1,2);
MatrixXd spot4(1,2);
cout<<"please input ";
cin>>Name;
cin>>n;
switch(n)
{
case 1:
{
cin>>str1;
spot1=select(str1);
}
break;
case 2:
{
cin>>str1;
spot1=select(str1);
cin>>str2;
spot2=select(str2);
}
break;
case 3:
{
cin>>str1;
spot1=select(str1);
cin>>str2;
spot2=select(str2);
cin>>str3;
spot3=select(str3);
}
break;
default:cout<<"output error";

}
cout<<"please input method of operation"<<endl;
cin>>str4;
if(str4[0]=='m'&&str4[1]=='o'&&str4[2]=='v'&&str4[3]=='e'&&str4[4]==0)
{
cin>>str5;
cin>>str6;
spot4=select(str6);
if(n==1)
{
spot1=spot1+spot4;
cout<<"("<<spot1<<")"<<endl;
}
else if(n==2)
{
spot1=spot1+spot4;
spot2=spot2+spot4;
cout<<"("<<spot1<<")"<<"("<<spot2<<")"<<endl;
}
else
{
spot1=spot1+spot4;
spot2=spot2+spot4;
spot3=spot3+spot4;
cout<<"("<<spot1<<")"<<"("<<spot2<<")"<<"("<<spot3<<")"<<endl;
}
}
else if(str4[0]=='r'&&str4[1]=='o'&&str4[2]=='t'&&str4[3]=='a'&&str4[4]=='t'&&str4[5]=='e'&&str4[6]==0)
{
cin>>str5;
cin>>avg;
deg=avg/180*pi;
rot(0,0)=cos(deg);
rot(0,1)=sin(deg);
rot(1,0)=-sin(deg);
rot(1,1)=cos(deg);
if(n==1)
{
spot1=spot1*rot;
cout<<"("<<spot1<<")"<<endl;
}
else if(n==2)
{
spot1=spot1*rot;
spot2=spot2*rot;
cout<<"("<<spot1<<")"<<"("<<spot2<<")"<<endl;
}
else
{
spot1=spot1*rot;
spot2=spot2*rot;
spot3=spot3*rot;
cout<<"("<<spot1<<")"<<"("<<spot2<<")"<<"("<<spot3<<")"<<endl;
}

}
else
{
cout<<"output error"<<endl;
}
return 0;
}






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: