1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ganezh [65]
4 years ago
12

Write a function that accepts an integer parameter and returns its integer square root (if it exists). The function should throw

an exception if it is passed an integer that is not a perfect square. Do not handle the exception in the function, but instead create the exception handler in main. Make the exception a new exception class which your program creates. Demonstrate the function with a driver program that passes the function the numbers 0 through 25, then prints whether or not the number is a perfect square. (A "perfect square" is a whole number whose square root is also a whole number.)
Computers and Technology
2 answers:
professor190 [17]4 years ago
8 0

Answer:

See explaination

Explanation:

// Include the necessary header files.

#include <iostream>

#include <exception>

#include <cmath>

using namespace std;

// Definition of the function.

int square_root(int n)

{

// Check whether n is less than 0.

if(n < 0)

// Throw exception.

throw domain_error("Supplied integer is negative!");

// check whether n is equal to 0;

else if(n == 0)

// Throw 0.

throw 0;

// Declare a variable and assign value.

double squ_root = sqrt(n);

// // Declare a variable and assign value.

int squ_root_int = (int)squ_root;

// compare values

// check whether the values are equal or not.

if(squ_root != squ_root_int)

// Throw exception.

throw invalid_argument("Supplied integer is not a perfect square !");

// return the value.

return squ_root_int;

}

// Declare the main function.

int main()

{

// declare variables.

int n;

int squ_root;

// Prompt the user to enter the number.

cout << "Enter a number: ";

cin >> n;

// start the try block.

try

{

// call to the function.

squ_root = square_root(n);

// Display the statement on console.

cout << "Square root is " << squ_root << endl;

}

// start the catch block.

catch(domain_error e)

{

// Display the statement on console.

cout << "Error: " << e.what() << endl;

return -1;

}

// Start the catch block

catch (int y)

{

// check whether y is equal to zero or not.

if(y == 0)

{

// Display the statement on console.

cout << "Error: Supplied integer is zero !" << endl;

return -2;

}

}

// Start the catch block

catch(invalid_argument e)

{

// Display the sstatement.

cout << "Error: " << e.what() << endl;

return -3;

}

// Return the value.

return 0;

}

kupik [55]4 years ago
4 0

Answer:

Check the explanation

Explanation:

#include <iostream>

#include <cmath>

#include <math.h> //Not sure about including math.h

using namespace std;

int sqrt4(const int m)

{

  int i=0;

const int q=0;

  while( (i*i) <= m )

{

if(i*i==m)

{

q++;

return i;

}

else

{

i++;

}

}

if(q==0)

{

throw "not a perfect square!";

}  

}

int M1 (int x){

  cout << "Number: " << x << endl;

  x = sqrt(x);

  cout << "Number's square root: " << x << endl;

 

  return x;

}

void main (){

  int y = 4; // Program currently uses 4 in calculations

  M1 (y);

}

You might be interested in
Forensic scientists generally photograph and sketch a computer and its components during their analysis? True or false
jenyasd209 [6]
This is considered true sir 
6 0
3 years ago
Read 2 more answers
TIME REMAINING 01:48:57 What is the purpose of the website directory provided by the website host? to look up user account infor
muminat

Answer:

Cookie

Explanation:

its just because and also the answer is right on e 2020.

8 0
3 years ago
Read 2 more answers
Which audio file type was created specifically for use on the Internet?
faltersainse [42]
I believe MP3 like 89% sure
6 0
3 years ago
Read 2 more answers
What are two great ways to find clues to locate commands on the ribbon?
Lapatulllka [165]

Solution:

Look at the tabs and hover over images. are two great ways to find clues to locate commands on the ribbon.

There are six main categories for command which are; one-click, toggle, split buttons, drop-down and tick box.  Categories can be mixed so it is useful to understand the basics to develop the Excel skills.

The ribbon is a user interface element created by Microsoft, which was introduced with Microsoft Office 2007. It is part of the "Microsoft Office Fluent" interface and combines the menu bar and toolbar into a single floating pane. By default, it is located at the top of the screen in Office applications, such as Access, Excel, PowerPoint, Word, and Outlook.

This is the required solution.


6 0
3 years ago
Which site acquired by Warner Bros. in 2011 allows users to rate movies and watch movie trailers?
mel-nik [20]
It was flixter.
hope this helps
7 0
3 years ago
Read 2 more answers
Other questions:
  • Renee uses data from the Bureau of Labor Statistics to create a graph for a feasibility report. Which of the following should sh
    6·2 answers
  • A user is claiming a host can be reached via the IP address but not through the name. What should a technician do first to resol
    13·1 answer
  • What e-reader technology males a screen that is easy to read and extends battery life
    6·1 answer
  • A network technician cannot get a host to connect to the internet. running the ping command shows the apipa ip address. what is
    6·1 answer
  • The posterior auditory stream terminates in the ________ and is involved in ________.
    12·1 answer
  • Which cell formatting is most likely to use $?
    5·1 answer
  • Why is yo utu be down?<br> (You restrict talking about yo utu be, really)
    11·2 answers
  • HELLO <br> any edmentum people out there.
    15·2 answers
  • What form of contacts can be shared in Outlook 2016?
    9·2 answers
  • "You have created a Word document named apple.docx using Microsoft Word. What type of a file is apple.docx ? Select all that app
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!