?
Solved

Function, Macro & Array Assignment Question.

Posted on 1997-04-04
1
Medium Priority
?
269 Views
Last Modified: 2010-04-10
This is an assignment question that I need assistance with.

'Write a simple address-book program that uses a function to read in the name, address and phone-numbers of BOOK_SIZE people (where BOOK_SIZE is a macro) and stores these values in an array of structures. Write another function that neatly displays this data in a table on the screen. Pass the array as an arguement to these functions.'
0
Comment
Question by:cyrax
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 

Accepted Solution

by:
Phoenix020397 earned 100 total points
ID: 1162562
Well, I don't know what is your question exactly so I'll write a source code that should do the trick :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

#define BOOK_SIZE 5 /* Define the BOOK_SIZE macro */

struct T_BOOK  /* Define the Book structure type*/
{
  char name[50], number[15], address[100];
};

void getbook(struct T_BOOK book[]);
void showbook(struct T_BOOK book[]);


void main(void)
{
  struct T_BOOK book[BOOK_SIZE]; /* Define a book varible */
  getbook(book);
  showbook(book);
  return(0);
}

void getbook(struct T_BOOK book[])
{
  int i;

  for (i = 0 ; i < BOOK_SIZE ; i++)
  {
    clrscr();
    printf("Enter name #%d:\n",i+1);
    gets(book[i].name;      
    printf("Enter number #%d:\n",i+1);
    gets(book[i].number;
    printf("Enter address #%d:\n",i+1);
    gets(book[i].address;
  }
}

void showbook(struct T_BOOK book[])
{
  int i;

  clrscr();

  for (i = 0 ; i < BOOK_SIZE ; i++)
  {
    printf("Name #%d: %s\n", i, book[i].name);
    printf("Number #%d: %s\n", i, book[i].number);
    printf("Address #%d: %s\n", i, book[i].address);
    if ( (i+1)*3 == 24 ) { getch(); clrscr(); }
  }
}


Thats it. Thats the program. It reads BOOK_SIZE names to a BOOK_SIZE array of type T_BOOK structure, which contains name, number and address. Then it shows everything and pauses every 24 lines so you won't miss any.
Hope this helps.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.
Suggested Courses
Course of the Month13 days, 19 hours left to enroll

801 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question