使用数组创建表

时间:2013-11-09 16:36:30

标签: c++ arrays

我们的专业人员分配了这个项目,但我不知道该怎么做。通常情况下,我会自己解决这个问题,但是我在同一天收到了大量的英文论文,我也必须在本周末完成。该计划将于2013年12月11日到期,但可以在2013年11月19日之前上交,等级为20%。

编写并测试C ++程序以完成以下项目:

生成一个数字表,用于数学问题。

询问用户三个数字:

  • 第一个数字表示表格中的值(1 至25)。
  • 第二个数字代表表格中的第一个值。 (-1000到 +1000)
  • 第三个数字表示连续值之间的增量 在表中。 (1至20)

迭代选定的值,从迭代中的每个值生成并保存以下派生值:

  • 平方根(仅当值为正或零时,显示“N / A”) 所有其他值)

  • 立方
  • Cube Root(仅当值为正或零时,显示“N / A”) 所有其他价值观)
  • 数字是偶数还是奇数
  • 号码是否为素数(准备用户定义的功能 基于作业5)中的逻辑。

将计算结果保存在一组数组中,每个计算值一个数组。

计算并保存所有值后,以表格形式显示值,每个计算值包含一列,每组值包含一行(对应于从用户读取的第一个值)。

请注意,对于第一列中的每个负值,在平方根和立方根的列中显示“N / A”。

为每个数字的偶数/奇数状态显示“偶数”或“奇数”。数字的素数显示“真”或“假”。

重复此过程,直到用户为表中的值数输入零计数。

奖励:从名为triples.txt的数据文件中读取一系列三位数集,并创建一个与每个三位数组对应的数字表。将生成的数字表保存为以逗号分隔值格式命名为numbers.csv的单个文本文件。

Heres'到目前为止我所拥有的:

// TABLEation.cpp : builds a table based on user input.
//


using namespace std;
double square, squareroot,cube,cuberoot;
int initialValue,display,increment;
string even,prime;
const int SIZE=25;
int Value[SIZE];

bool isEven( int integer )
{

  if ( integer % 2== 0 )
     return true;
  else
     return false;
}

bool isPrime(int testValue) {
    int divisor=0, remainder=0;

if (testValue<2) return false;
        for(divisor=2; divisor<=sqrt(testValue);divisor++){
            if((testValue % divisor)==0) return false;
            }
            return true;
        }


int _tmain()
{
    do{
        begining:
        cout<<"Enter how many values to show (1-25)."<<endl;
        cin>>display;
    if((display>0) && (display<=25)){
        cout<<"Enter an initial Value (-1000 to 1000)."<<endl;
        cin>>initialValue;
    }
    else{
        cout<<"ERRROR! INVALID INPUT!TRY AGAIN"<<endl;
        goto begining;
        }
    if ((initialValue>= -1000) && (initialValue<=1000)){
        cout<<"Enter a number to increment by (1-20)"<<endl;
        cin>>increment;
        }
    else{
        cout<<"ERRROR! INVALID INPUT!TRY AGAIN"<<endl;
        goto begining;
        }

    }
    system("pause");
    return 0;
}

我应该从哪里开始?

1 个答案:

答案 0 :(得分:4)

由于上面没有任何问题,我猜你想让别人给你答案,或者给你一些正确方向的提示。我假装你要追求后者。问题相当简单。

Generate a table of numbers for use in a math problem.

Ask the user for three numbers: 
The first number represents how many values are to be in the table (1 to 25).
he second number represents the first value in the table. (-1000 to +1000)
The third number represents the increment between successive values in the table. (1 to 20) 

由于下面我们看到你要循环询问这些问题,直到第一个答案为0你可以构建一个函数“bool get_input(int&amp; num_values,int&amp; start_num,int&amp; increment)”这个函数如果用户输入的值不在范围内,则返回false,否则返回true。现在在while循环中调用此函数,如果num_values为0,则退出。

Iterate through the selected values, generating and saving the following derived values from each value in the iteration: 

这是一个for循环,其中i = start_num,并且在每次迭代时增加i + = increment

对于for循环的每次迭代,您应该调用以下六个函数:

Square 

int square(int i)返回值的平方。

Square Root (only if the value is positive or zero, display “N/A” for all other values)

bool extract_square_root(int i,float&amp; square_root)如果值为负则返回false,否则将平方根放入引用变量。

Cube

int cube(int i),它返回值的多维数据集。

Cube Root (only if the value is positive or zero, display “N/A” for all other values) 

bool extract_cube_root(int i,float&amp; cube_root) - 如上所述

Whether the number is even or odd

bool even_or_odd(int i)如果值为偶数则返回true,否则返回false。

Whether the number is prime or not (Prepare a user-defined function based on the logic in Assignment 5)

bool prime(int i)如果值为prime,则返回true。 (使用作业5)。

Save the results of the calculations in a set of arrays, one array for each calculated value. 

每个结果将它存储在一个数组中(square_root_array,cube_root_array等)

After all values are calculated and saved, display the values in a tabular form with one column for each calculated value and a row for each set of values (corresponding to the first value read from the user).

调用函数void display_values(float square_root_array [],...),它遍历每个数组并根据下面列出的规则打印值:

Note that for each negative value in the first column, display “N/A” in the columns for square root and cube root.

Display “Even” or “Odd” for each number’s even/odd status.

Display “True” or “False” for the number’s prime-ness.

下一部分已由我们的while循环处理。

Repeat this process until the user enters a count of zero for the number of values in the table.

我会留下奖金让你弄明白。

Bonus: Read a series of three-number sets from a data file named triples.txt and create a table of numbers corresponding to each three-number set. Save the resulting tables of numbers to a single text file named numbers.csv in comma-separated-value format. 
祝你好运,如果计划服用大量的CS,我会习惯所有的工作。这是课程的标准。

P.S。如果您按照这些指示查看如何在不确定的地方完成每个步骤,您可以在几个小时内将此项目从盘子中取出。