Question

Please briefly explain these C++ programmings below

ps. isNumber is a bool function name, it takes a char as input and returns a boolean value.

isNumber returns true if the character is a number from 0 to 9, otherwise it returns false.

| double retrieveNumber(string expression, int& idx) { double ans = 0; while (isNumber(expression[ idx])) { ans *= 10; ans +=

0 0
Add a comment Improve this question Transcribed image text
Answer #1

The function will convert whatever the string we send into double value

Let's take one example

expression = "342.567"

and idx points to 0 th index

The first while loop has condition until it is a number it will loop when it comes to '.' it will exit

first it will take value 3

ans=0*10=0

ans=0+3=3 subtraction to character 0 here is used to convert charcter value of 3 to integer value

idx moves next position points to value 4

ans =3*10=30

ans=30+4=34

idx moves to 3rd value 2

ans=34*10=340; 340+2=342

Next index is '.' it stops loop here and checks condition if it is '.' it is so

from next point onwards we will calculate digits and decimal value digits is used to divide the value upto that many decimals to get in floating type

In the same way how calculated above we calculate 567 and store it in decimal

decimal=567 and digits=1000(as we have 3 digits)

we update decimal to 567/1000 which makes 0.567

at last we add it to the integer value we got previous result=342+0.567=342.567

It returns 342.567

for example if we have 342.w234 it will return 342.0

The function calculates upto we get the numeric character otherwisse it will stop and return upto there

If value=64h.764 returns 64.0

comment if any doubts

Add a comment
Know the answer?
Add Answer to:
Please briefly explain these C++ programmings below ps. isNumber is a bool function name, it takes...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Please help ASAP Question 3 (10 points): Using pointer notation, complete the C++ function below using...

    Please help ASAP Question 3 (10 points): Using pointer notation, complete the C++ function below using pointcr notations The function takes N characters in character array A and return true if the characters are consecutive and fahe otherwise. bool consecutiveChars(char A, int N) char first; // Pointer to the first character in A char last; // Pointer to the last character in A Your code here.. #include <iostream> #include <cctype> using namespace std; bool consecutiveChars(char* A, int N): nt main0...

  • These are my instructions: Your data should have been read in from the data file and stored into ...

    These are my instructions: Your data should have been read in from the data file and stored into an array. Next you need to calculate the following and display in a single Message box: Average score Highest score Lowest score Mode of the scores Your program should be written using methods and should be well documented internally and externally. Your output should be displayed using Message boxes. This is the .text file to use with the instructions: 20 21 22...

  • Do it in C please, without using parseint, atoi. * The isinteger ) function examines the...

    Do it in C please, without using parseint, atoi. * The isinteger ) function examines the string given as its first argument, and returns true if and only if the string represents a well-formed integer. A well-formed integer consists only of an optional leading - followed by one or more decimal digits. Returns true if the given string represents an integer, false otherwise. bool isinteger (char +str) *The parseint ) function parses a well-formed string representation of * an integer...

  • In C++ 9) (5 pts) Complete the following function that takes 3 arguments of a circle...

    In C++ 9) (5 pts) Complete the following function that takes 3 arguments of a circle : - radius (input argument) - area (output argument, to be calculated) - circumference (output argument, to be calculated) All arguments are double type. If a radius is negative, the function returns false, otherwise it returns true. The function does only calculation, and does nothing else. Assume that all #include are already there                                     // Fill in your Function prototype bool circleAreaAndCircumference ( _______,...

  • Please answer this like right now West Battery Corp. has recently been receiving complaints from retailers...

    Please answer this like right now West Battery Corp. has recently been receiving complaints from retailers that its 9-volt batteries are not lasting as long as other name brands. James West, head of the TQM program at West's Austin plant, believes there is no problem because his batteries have had an average life of 40 hours, about 10% longer than competitors' models. To raise the lifetime above this level would require a new level of technology not available to West....

  • I need help finding what is wrong with this code, it is for a CS course...

    I need help finding what is wrong with this code, it is for a CS course I am taking which codes in C (I am using XCode on Mac to code). This is the assignment: "Write a program that performs character processing on 10 characters read in from a file, and writes the results to output files. The program should read from “input.dat”. The program should write the ASCII values of the characters to “output_ascii.dat”. The program should print statistics...

  • Java Double Max Function I need help with this top problem. The bottom is the assignment...

    Java Double Max Function I need help with this top problem. The bottom is the assignment // return Double .NEGATIVE-INFINİTY if the linked list is empty public double max return max (first); h private static double max (Node x) f e I TODO 1.3.27 return 0; 1 package algs13; 2 import stdlib.*; 4 public class MyLinked f static class Node public Node() t 1 public double item; public Node next; 10 int N; Node first; 12 13 14 public MyLinked...

  • c/c++ Passing arrays as arguments to functions. The main() is given, write the function 'average' (Study...

    c/c++ Passing arrays as arguments to functions. The main() is given, write the function 'average' (Study the syntax of passing an array as a function parameter) The program prompts the user to first enter the number of tests given in a course, and then prompts him/her to enter the mark for each test. The marks are stored in an array. This takes place in the main() function. It then passes the array to a function named 'average' that calculates and...

  • 31. True or False: The condition in the following if statement is a syntax error:

     31. True or False: The condition in the following if statement is a syntax error: int number=50;…… if (number)…… 32. True or False: The standard C functlon strlen) will return 4 when invoked upon the varlable name, declared below: char namel = (e', 'p', 't', 's', '\0', '1', '2', '1', '\0']; 33. True or False: A structure is a collection of related variables under one name. 34. True or False: In C, output parameters allow for a function to return more than one value Indirectly. 35. True or...

  • C++: PLEASE HELP~!!! ~~~~~~~~ Implement bool AVLTree::deleteNode(string ss) method. Function deleteNode() tries to delete the node...

    C++: PLEASE HELP~!!! ~~~~~~~~ Implement bool AVLTree::deleteNode(string ss) method. Function deleteNode() tries to delete the node containing value ss. If there is no such node, it returns false. Otherwise, it deletes the node, check the balance of the tree, rebalance the tree if it is necessary. When you delete a node, consider three different scenarios: -The node is a leaf -The node has only ONE child subtree -The node has two child subtrees Important: When you implement this project, do...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT