第一次编程练习

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

point(0,0)=atof(a);
for(i=j;i<=49&&ast[i]!=‘)‘;i++);
for(w=0;w<=10&&j!=i-1;w++)
{
j++;
a[w]=ast[j];
}
point(0,1)=atof(a);
return point;
}
int main()
{
char name[15];
int n;
double avg,deg;
float pi=3.14159265;
char ast1[20];
char ast2[20];
char ast3[20];
char ast4[15];
char ast5[15];
char ast6[15];
MatrixXd rot(2,2);
MatrixXd point1(1,2);
MatrixXd point2(1,2);
MatrixXd point3(1,2);
MatrixXd point4(1,2);
cout<<"Pkease input ";
cin>>name;
cin>>n;
switch(n)
{
case 1:
{
cin>>ast1;
point1=select(ast1);
}
break;
case 2:
{
cin>>ast1;
point1=select(ast1);
cin>>ast2;
point2=select(ast2);
}
break;
case 3:
{
cin>>ast1;
point1=select(ast1);
cin>>ast2;
point2=select(ast2);
cin>>ast3;
point3=select(ast3);
}
break;
default:cout<<"ERROR";

}
cout<<"Please input"<<endl;
cin>>ast4;
if(ast4[0]==‘m‘&&ast4[1]==‘o‘&&ast4[2]==‘v‘&&ast4[3]==‘e‘&&ast4[4]==0)
{
cin>>ast5;
cin>>ast6;
point4=select(ast6);
if(n==1)
{
point1=point1+point4;
cout<<"("<<point1<<")"<<endl;
}
else if(n==2)
{
point1=point1+point4;
point2=point2+point4;
cout<<"("<<point1<<")"<<"("<<point2<<")"<<endl;
}
else
{
point1=point1+point4;
point2=point2+point4;
point3=point3+point4;
cout<<"("<<point1<<")"<<"("<<point2<<")"<<"("<<point3<<")"<<endl;
}
}
else if(ast4[0]==‘r‘&&ast4[1]==‘o‘&&ast4[2]==‘t‘&&ast4[3]==‘a‘&&ast4[4]==‘t‘&&ast4[5]==‘e‘&&ast4[6]==0)
{
cin>>ast5;
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)
{
point1=point1*rot;
cout<<"("<<point1<<")"<<endl;
}
else if(n==2)
{
point1=point1*rot;
point2=point2*rot;
cout<<"("<<point1<<")"<<"("<<point2<<")"<<endl;
}
else
{
point1=point1*rot;
point2=point2*rot;
point3=point3*rot;
cout<<"("<<point1<<")"<<"("<<point2<<")"<<"("<<point3<<")"<<endl;
}

}
else
{
cout<<"ERROR"<<endl;
}
return 0;
}

整体思路:通过输入字符串的判断来得到操作数,然后通过switch语句决定添加点线还是面,最后用eigen库对矩阵进行操作

PS:代码有点小bug,第一个针对点的位移有点问题

时间: 11-28

第一次编程练习的相关文章

第一次编程作业

1 #include <iostream> 2 #include <stdlib.h> 3 #include <Eigen/Dense> 4 #include <math.h> 5 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 6 using namespace std; 7 usin

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

1 include <iostream> 2 #include<Eigen/Dense> 3 #include<stdlib.h> 4 #include<cmath> 5 using Eigen::MatrixXd; 6 using namespace std; 7 MatrixXd input(char f[]){ 8 MatrixXd p(1,2); 9 char a[256]; 10 char b[256]; 11 int x=0,y=0; 12 in

第一次编程

---恢复内容开始--- 上面是题目,下面是答案 ---恢复内容结束---

《实时控制软件设计》第一次编程作业

//代码: #include <iostream> #include <Eigen/Dense> #include <cmath> using Eigen::MatrixXd; using namespace std; float pi=3.1415926; void mpoint(MatrixXd m) { MatrixXd T(1,2),A(1,2); cout<<"请输入移动距离:"; fflush(stdin); scanf(&q

第一次作业:我的感想

1.结缘计算机: 上大学之前,我很少碰计算机,谈到计算机脑海中的第一反应就是游戏,各种软件,以及电视电影中看到的那种黑客大佬.到了高考结束,要选择专业了,当时看到计算机是热门的专业,网上介绍说出来工资也不低,还有梦想着自己有一天也能像那些大佬一样,弄出给中黑技术,自己做软件等等,于是便欣然地报了这个专业.当了大学,上了C语言的课程,第一次编程成功,内心很激动,以为自己只要这学期学完就能做出什么软件了.带着激动地心情,一直在看C语言,但是学了半个学期,发现都是控制台显示,连自己想要的界面都没有,眼

第03组团队Git现场编程实战

1.组员职责分工 张逸杰:复制监督整个编程任务的进程以及协助组员编程 黄智锋.刘汪洋:负责UI设计 苏凯婷.鲍冰如:爬取数据并负责测评出福州最受欢迎的商圈 陈荣杰.杨锦镔:爬取数据并负责测评出福州人均消费50以下,50-100.100-200.200以上最佳(性价比最高)的前五家美食餐厅 王嵚.林家伟:爬取数据并负责测评出测评出福州最佳美食聚集地 吴智勇.黄彬煌:爬取数据并负责测评出福州服饰类综合评分最高的商圈 2.github提交日志 3.程序运行截图 测评出福州最受欢迎的商圈 测评出福州人均

考试分析

今天迎来了第一次编程考试,暴露了自己的很多缺陷 错因分析 ①task:库的输入有错误,不知道怎么回事两个库跑到同一行了,大概是删除注释的时候多按了一下删除吧,后来也没检查出来 ②distance:开方忘记加库,忽略两个整型的数相乘结果还是整型,而这个数字可能很大,要加long long,或将其乘1.0,变成小数再运算,就不用考虑数据溢出的情况 ③snail:思维过于简单,不善于变通,没有考虑若白天爬的高度高于或等于井深,则蜗牛出来,晚上不再下滑 ④fivesort:文件错误不知道是怎么回事 错因

【程序员在法国】两记棒喝,惊醒梦中人

内容简介 1.[程序员在法国]两记棒喝,惊醒梦中人 2.近期一件大喜事 第一记: 上一篇<[程序员在法国]一.辞别家乡千万里,组团空降法兰西>中说道:小编在大学三年很多时间泡在网吧,虽然是IT(信息技术)专业,但是完全不会编程. 2009年8月25日和上海大学中欧学院的同学们一起到了法国UTBM大学之后,第一学期就有两门编程课,当然全是法语授课: 一门是C语言(面向过程编程),一门是C++和Java(面向对象编程). 其他我们也选了一些数学,法语,英语,之类的课程. 因为小编完全不会编程.所以

【手把手教你全文检索】Apache Lucene初探

PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也不用打马赛克了,都是网络分享的开源资料,当然也不涉及任何利益关系. 如若转载,还请注明出处——xingoo 讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等.这里就贡献一个讲解很到位的ppt.已经被我转成了PDF,便于搜藏