Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

411: You are given a file named phonedir that consists of many lines containing

ID: 654002 • Letter: 4

Question

411: You are given a file named phonedir that consists of many lines containing three strings :
           lastname firstname emailaddress.

Write a utility
program that reads commands (from stdin). Each command has one of two possible forms:
           lookup string

           add lastname firstname emailaddress

In the case of the first command (lookup), the
program looks for a line in the phonedir file where either the firstname or lastname matches the string given . If it finds such a line it prints out all three parts of the line, separated by spaces:
           lastname firstname emailaddress

If it does not find a match in the file it prints out the
string it was looking for, followed by a colon followed by a space followed by the message "not found":
          
string : not found

In the case of the second command (add), the
program appends the three strings given to the file phonedir.


Hints and suggestions:

(1) Define and use two functions named lookup and add. When your program reads the string lookup, your lookup function is called; when the program reads the string add, your add function is called. When either of these two functions are called, they then read whatever else is necessary for their command (one string for lookup and three strings -- lastname, firstname, and emailaddress-- for add). And then these functions do... whatever it takes to carry out the command.

(2) When doing a lookup or an add, open up the file
phonedir ... carry out the operation .. and then close up the file.

EXAMPLE:


suppose the phonedir file looked like this:
           arnow david arnow@panix.com
           bush george president@whitehouse.gov
           gates bill bill@microsoft.com

here then is a sample session with the
program (program output is in bold):
           lookup david
           arnow david arnow@panix.com
           lookup joe
           joe: not found
           add theplumber joe joetheplumber@nowhere.com
           lookup arnow
           arnow david arnow@panix.com
           lookup joe
           theplumber joe joetheplumber@nowhere.com

and the phonedir file would now be:
           arnow david arnow@panix.com
           bush george president@whitehouse.gov
           gates bill bill@microsoft.com
           theplumber joe joetheplumber@nowhere.com

Explanation / Answer

#include <stdio.h>
#include <stdlib.h> /* For exit() function*/
int main()
{
   char c[1000];
   FILE *fptr;
   if ((fptr=fopen("program.txt","r"))==NULL){
       printf("Error! opening file");
       exit(1);         /* Program exits if file pointer returns NULL. */
   }
   fscanf(fptr,"%[^ ]",c);
   printf("Data from file: %s",c);
   fclose(fptr);
   return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote