Functions You have probably noticed that if you try to read into an int variable using scanf but type some text instead, then the program will do unpredictable things and generally not work correctly. In this exercise you will write a function to safely read an int by first reading as a string. Write a function named safeReadInt that takes no parameters and returns an int. The function should read input into a large string using scanf, convert the string into an int, and return the int. Use the atoi function to convert from a string to an int. Here is a reference on atoi if you want to learn more. (There is a safer way to do the conversion, strtoul, but we'll skip that for now). Write some code in main that calls and tests your function. A disadvantage of using atoi is that it returns 0 if the string can't be converted to an integer, but there is no way to tell if the user intended to type 0 or you are getting 0 because of an error. Modify the function so that it loops through the input string and forces the user to type new input if any of the characters typed in are not digits. This will require some type of loop. If all of the characters are digits then atoi can be invoked and returned. Recall that '0' through '9' have numerical ASCII values that are contiguous, so you can check for a char < '0' and a char > '9' to see if it is not a digit.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write code for the following

Functions
You have probably noticed that if you try to read into an int variable using scanf but type some text instead, then the program will do unpredictable things and generally not work correctly. In this exercise you will write a function to
safely read an int by first reading it as a string.
Write a function named safeReadInt that takes no parameters and returns an int. The function should read input into a large string using scanf, convert the string into an int, and return the int. Use the atoi function to
convert from a string to an int. Here is a reference on atoi if you want to learn more. (There is a safer way to do the conversion, strtoul, but we'll skip that for now). Write some code in main that calls and tests your function.
A disadvantage of using atoi is that it returns 0 if the string can't be converted to an integer, but there is no way to tell if the user intended to type 0 or you are getting 0 because of an error. Modify the function so that it loops
through the input string and forces the user to type new input if any of the characters typed in are not digits. This will require some type of loop. If all of the characters are digits then atoi can be invoked and returned. Recall
that '0' through '9' have numerical ASCII values that are contiguous, so you can check for a char < '0' and a char > '9' to see if it is not a digit.
Transcribed Image Text:Functions You have probably noticed that if you try to read into an int variable using scanf but type some text instead, then the program will do unpredictable things and generally not work correctly. In this exercise you will write a function to safely read an int by first reading it as a string. Write a function named safeReadInt that takes no parameters and returns an int. The function should read input into a large string using scanf, convert the string into an int, and return the int. Use the atoi function to convert from a string to an int. Here is a reference on atoi if you want to learn more. (There is a safer way to do the conversion, strtoul, but we'll skip that for now). Write some code in main that calls and tests your function. A disadvantage of using atoi is that it returns 0 if the string can't be converted to an integer, but there is no way to tell if the user intended to type 0 or you are getting 0 because of an error. Modify the function so that it loops through the input string and forces the user to type new input if any of the characters typed in are not digits. This will require some type of loop. If all of the characters are digits then atoi can be invoked and returned. Recall that '0' through '9' have numerical ASCII values that are contiguous, so you can check for a char < '0' and a char > '9' to see if it is not a digit.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Function Arguments
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education