
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
Question

Transcribed Image Text:396 Chapter 8▼ The Preprocessor
Exercises
1 A program that contains macros with arguments can be difficult to debug. Most C
compilers provide an option that causes the preprocessor to write its output on the
screen with no further compilation taking place. Put the following code in a file, say
try_me.c.
#include <stdio.h>
#define PRN (X)
int main(void)
{
printf("x\n");
PRN (Hello from main());
return 0;
BETO
}
Next, compile the program and run it. You will see that it does not print what was
expected. To see how the preprocessor treats this code, give the command
cc -E try_me.c
(Use redirection if you want to take a careful look at what gets produced.) If the -E
option is not the right one for your compiler, find out what the correct option is.
Note that the identifier PRN does not get generated by the preprocessor. Explain
why. Fix the code. Hint: Use stringization.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by stepSolved in 4 steps with 2 images

Knowledge Booster
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
- >> IN C PROGRAMMING LANGUAGE ONLY << COPY OF DEFAULT CODE, ADD SOLUTION INTO CODE IN C #include <stdio.h>#include <stdlib.h>#include <string.h> #include "GVDie.h" int RollSpecificNumber(GVDie die, int num, int goal) {/* Type your code here. */} int main() {GVDie die = InitGVDie(); // Create a GVDie variabledie = SetSeed(15, die); // Set the GVDie variable with seed value 15int num;int goal;int rolls; scanf("%d", &num);scanf("%d", &goal);rolls = RollSpecificNumber(die, num, goal); // Should return the number of rolls to reach total.printf("It took %d rolls to get a \"%d\" %d times.\n", rolls, num, goal); return 0;}arrow_forwardThe template shown below must be incorporated into the code showed after the template Template: // -- brief statement as to the file’s purpose //XXX XXX- ADD YOUR SECTION NUMBER //Include statements #include #include using namespace std; //Global declarations: Constants and type definitions only -- no variables //Function prototypes int main() { //In cout statement below SUBSTITUTE your name and lab number cout << "Your name -- Lab Number" << endl << endl; //Variable declarations //Program logic //Closing program statements system("pause"); return 0; } //Function definitions Code: #include<iostream>#include <iomanip> using namespace std; //function prototypesfloat convToFeet(float, float, float); //main functionint main() {// variable declarationchar woodType;float totalCharge = 0.0, eachCost = 0.0, woodWidth, woodHeight, woodLength;;int noOfpc;cout << setprecision(2) << fixed; //infinite loop until it obtains the character 'T'do{cout…arrow_forwardTopical Information Use C++. This lab should provide you with practice in file handling, libraries, and random variate generation. Program Information Write a program that allows the user to create files of random data. They should be offered a menu of possibilities: 1) create random Whole number data file 2) create random Decimal number data file 3) create random Character data file 4) Quit program The first 3 options should ask for appropriate bounds. Your program should make sure they are in order before passing them to your random value generation function. Then, ask how many random values to generate and what file to place them in. Assuming the file opened correctly, proceed to generate all requested random values. The menu should continue to loop until the quit option is chosen. Options should be choosable by either the number or the capitalized word. (For example, to quit, they should be able to enter 4, Q, or q.)arrow_forward
- C++ Problem!! Sort A List Of Integers Given a file of 100,000 unsorted integers, write a program that first prompt user to enter file name and reads those integers into an array and sorts the integers in the array. The program should then prompt the user for an index, and then display the integer at that index. For example, if the array contains ten integers and the contents are 79 4 42 51 12 22 33 17 91 10 after sorting, the integer at index 6 is 42 Download the "List of 100,000 Unsorted Integers" from below link and sort that list, then enter the value at index 10000 (ten thousand) for a screenshot. https://1drv.ms/t/s!AuFS4mkcuYyBjHZ_SIudb93bq2uy?e=CsyvZjarrow_forwardC Programming What does the below do? Where is the output going? Where is the input coming from? #include <stdio.h> #define RECORD_LENGTH 60 void main(void) { FILE *fptr; char stock_price_shares[RECORD_LENGTH + 1]; if ((fptr = fopen("PORTFOLIO.DAT", "r")) == NULL) printf("\nCannot open the file: PORTFOLIO.DAT\n"); else { while ( fgets(stock_price_shares, RECORD_LENGTH + 1, fptr) != NULL ) fprintf(stdout, "\n%s", stock_price_shares); fclose(fptr); //close the file } }arrow_forward(16) 6. You want to write a Java application that creates a while loop that runs until the user enters a 0 as input. Each time the while loop runs, it displays a menu of three choices as will be shown in the sample run below. When the program reads in the user's choice, that choice should be read in as a String called choiceStr. Then, choiceStr should be converted into an int called choice by using the code below: int choice Integer.parseInt(choiceStr); If the user enters a 1 for choice == 1, the program will print "Choice 1" to the screen. If the user enters a 2 for choice == 2, the program will print "Choice 2" to the screen. Here is a sample run: 0 - to quit 1 to print Choice 1 2 to print Choice 2 Enter choice: 1 Choice 1 0 - to quit 1 to print Choice 1 2 to print Choice 2 Enter choice: 1 Choice 1 0 to quit 1 to print Choice 1 2 to print Choice 2 Enter choice: 2 Choice 2 0 - to quit 1 to print Choice 1 2 to print Choice 2 Enter choice: 0arrow_forward
- #include <iostream> using namespace std; int main() { // Write your main here return 0; }arrow_forwardPlease code in C++ and no other language#include <string>#include <iostream>#include <iomanip>#include <fstream>#include <vector>using namespace std; int main() { /* TODO: Declare any necessary variables here. */ /* TODO: Read a file name from the user and read the tsv file here. */ /* TODO: Compute student grades and exam averages, then output results to a text file here. */ return 0;}arrow_forwardMacro parameters can be converted to strings inside the macro, a process called stringizing. Use that to modify the ASSERT macro so that it prints the assertion which failed. #ifndef MYASSERT_H#define MYASSERT_H #include <iostream>#define ASSERT(CONDITION, MSG) \if (!(CONDITION)) std::cerr << "ASSERT failed: "<< MSG << std::endl; \else std::cerr << "ASSERT passed" << std::endl; #endif Tester.cpp #include <iostream> #include <iomanip> #include <string> #include <cmath> using namespace std; #include "myassert.h" int main() { double n = 1 / 4; ASSERT(n == .25, "Invalid division"); cout << "Expected: ASSERT failed: n == .25: Invalid Division" << endl; double x = 12 % 5; ASSERT(x == 2.0, "Invalid remainder"); cout << "Expected: ASSERT passed: x == 2.0" << endl; }arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

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)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education