Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question
100%

Instructions

The program in the Programming Example: Fibonacci Number does not check:

  1. Whether the first number entered by the user is less than or equal to the second number and whether both the numbers are nonnegative.

  2. Whether the user entered a valid value for the position of the desired number in the Fibonacci sequence.

Rewrite that program so that it checks for these things.

NOTES:

  • If an invalid number is entered for case 1 above, prompt the user to enter both numbers again.

  • If an invalid number is entered for case 2, prompt the user to enter a value until a valid value is entered.

the code: 

#include <iostream>

using namespace std;

int main()

{

//Declare variables

int previous1;
int previous2;
int current;
int counter;
int nthFibonacci;

cout << "Enter the first two Fibonacci numbers: "; //Step 1

cin >> previous1 >> previous2; //Step 2

cout << endl;

//verify the first two values
if(previous1<0 && previous2>0)
cout<<"Enter positive value for the first number\n";
else if (previous1>0 && previous2<0)
cout<<"Enter positive value for the second number\n";
else if (previous1<0 && previous2<0)
cout<<"Enter positive values\n";
else if (previous1>=previous2)
cout<<"The first number should be greater than the second number.\n";
else
{
cout << "The first two Fibonacci numbers are " << previous1 << " and " << previous2 << endl; //Step 3

cout << "Enter the position of the desired Fibonacci number: " ; //Step 4

cin >> nthFibonacci; //Step 5

cout << endl;

//verify the position
if(nthFibonacci<1)
cout<<"Enter a valid position.";
else
{
if (nthFibonacci == 1) //Step 6.a

current = previous1;

else if (nthFibonacci == 2) //Step 6.b

current = previous2;

else //Step 6.c

{

counter = 3;
//Steps 6.c.2 – 6.c.5

while (counter <= nthFibonacci)
{
current = previous2 + previous1;
previous1 = previous2;
previous2 = current;
counter++;

}//end while

}//end else

/* Output the Fibonacci number at nth position */
cout<<current;
}//end else
}

return 0;

}//end main
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education