我真的很喜欢编程。因为英语是我的第二语言,我正在家里学习这个编程!我只想完成这个代码,我需要帮助!!
列出项目
然后程序应输出一条消息,指示是否有该点 输入是原点,位于x-(或y-)轴上,或出现在特定象限中。以下显示了x-y的平面 坐标和四个象限。
程序应继续提示x-y坐标值,直到用户同时输入x和y等于零
我想用“char getPostion(float,float)”函数来探索使用 if-else语句,用于标识点所在的象限。您可以使用'1','2','3','4','x','y','o'来定义一些喜欢在实验3中所做的字符常量,以表示第一象限,第二象限,第3象限象限,第四象限,x轴,y轴和原点
我想再使用一个函数“void printposition(float,float,char)”一个函数,用于在知道点在平面中的位置时打印出相关信息。您可以探索使用switch-case语句打印相关消息(使用上面的字符值作为“case”值)
首先,当我编译代码时,我希望显示如下。
输入x和y:7.3,8.23 => (7.30,8.23)在X轴上方 ==>它位于第一象限
输入x和y:-9,2.3 => (-9,2.3)在X轴上方 ==>它位于第二象限
输入x和y:-7,0 => (-7.00,0)在x轴
输入x和y:0,5 => (0,5.00)位于Y轴
输入x和y:0,0 => (0,0)在原点
这是我解决此问题的代码。我真的想解决这个问题。我还在努力做到这一点!这不对!我真的需要帮助
<div></div>
答案 0 :(得分:0)
我强烈建议您使用struct
或class
对坐标进行分组。通常,这称为Point
类:
struct Point
{
double x;
double y;
};
注意:除非您要求使用较短的double
类型,否则请始终选择float
至float
。
然后,您可以添加一些I / O功能:
struct Point
{
double x;
double y;
Point() : x(0.0), y(0.0) { }
input_from_console();
friend std::ostream& operator<<(std::ostream& output, const Point& p);
};
void Point::input_from_console()
{
std::cout << "Enter X ordinate: ";
std::cin >> x;
std::cout << "Enter Y ordinate: ";
std::cin >> y;
}
std::ostream& operator<<(std::ostream& output, const Point& p)
{
output << "<" << p.x << ", " << p.y << ">";
return output;
}
这允许您在main()
中执行以下操作:
int main()
{
Point p; // Constructor initializes to <0.0, 0.0>
p.input_from_console();
std::cout << "Your coordinates are: " << p << "\n";
return 0;
}
答案 1 :(得分:0)
我强烈怀疑这是一个家庭作业问题而不是“自学”问题,但这是答案的一部分
您的输入应放在主fn中的while循环中。
此外,第一个函数应该返回常量字符,而不是常量字符“varname”。
对于第二个功能,您还需要为参数指定一个名称,以便在开关案例中使用。
我不确定第一个确定四重放置位置的函数的逻辑,但我要做的是使用嵌套的if-elses来轻松覆盖所有可能的场景。
例如,如果x> 0,否则如果x == 0,否则。
在每个if中,我会比较y值。
以下是基于您的代码的示例,以帮助您入门。
#include <iostream>
#include <iomanip>
using namespace std;
int char getPosition(float, float);
void printPositoin (float, float, char);
const char Fstquadrant = ‘1’;
const char Sstquadrant = ‘2’;
const char Tstquadrant = ‘3’;
const char fstquadrant = ‘4’;
const char xaxis = ‘x’;
const char yaxis = ‘y’;
const char origin = ‘o’;
int main()
{
float x, y;
//declare a trigger here of your preference
while(//trigger condition is met)
{
//place your cin and cout here
//If your cin both equate to zero,
//run the functions and break the trigger condition
// else, run the function.
}
}
int char getPostion(float x, float y)
{
if(x ==0 && y ==0)
return Fstquadrant;
else if(x==0)
return yaxis;
else if(y ==0)
return xaxis;
else if(x>0 && y<0)
return fstquadrant;
else if(x<0 && y <0)
return Tstquadrant;
else if(x<0 && y>0)
return Sstquadrant;
else
return Fstquadrant;
}
void printPosition (float x, float y, char category)
{
switch(category)
{
case Fstquadrant: //cout your result for each case and do a break
case Sstquadrant:
case Tstquadrant:
case fstquadrant:
case xaxis:
case yaxis:
case origin:
}
}