Solved

Function, Macro & Array Assignment Question.

Posted on 1997-04-04
1
251 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
1 Comment
 

Accepted Solution

by:
Phoenix020397 earned 50 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

ScreenConnect 6.0 Free Trial

Want empowering updates? You're in the right place! Discover new features in ScreenConnect 6.0, based on partner feedback, to keep you business operating smoothly and optimally (the way it should be). Explore all of the extras and enhancements for yourself!

Question has a verified solution.

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

IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

777 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