struct Books{
char title[50];
char author[50];
char subject[100];
int book_id;
}book;
#include<iostream>
#include<cstring>
using namespace std;
struct Books{
char title[50];
char author[50];
char subject[100];
int book_id;
};
int main(){
struct Books Book1;
struct Books Book2;
//Book1 specifications
strcpy(Book1.title,"Learn");
strcpy(Book1.author,"Chand");
strcpy(Book1.subject,"C++");
Book1.book_id=553;
//Book2 specifications
strcpy(Book2.title,"Trel");
strcpy(Book2.author,"Trel");
strcpy(Book2.subject,"Trel");
Book2.book_id=4343;
//Print Book1 Info
cout<<"Book1 Title:"<<Book1.title<<endl;
cout<<"Book1 Author:"<<Book1.author<<endl;
cout<<"Book1 subject:"<<Book1.subject<<endl;
cout<<"Book1 Id:"<<Book1.book_id<<endl;
//Print Book2 Info
cout<<"Book1 Title:"<<Book2.title<<endl;
cout<<"Book1 Author:"<<Book2.author<<endl;
cout<<"Book1 subject:"<<Book2.subject<<endl;
cout<<"Book1 Id:"<<Book1.book_id<<endl;
return 0;
}
Structure as Function arguments
#include<iostream>
#include<cstring>
using namespace std;
void printBook(struct Books boook);
struct Books{
char title[50];
char author[50];
char subject[100];
int book_id;
};
int main(){
struct Books Book1;
struct Books Book2;
//Book1 specifications
strcpy(Book1.title,"Learn");
strcpy(Book1.author,"Chand");
strcpy(Book1.subject,"C++");
Book1.book_id=553;
//Book2 specifications
strcpy(Book2.title,"Trel");
strcpy(Book2.author,"Trel");
strcpy(Book2.subject,"Trel");
Book2.book_id=4343;
printBook(Book1);
printBook(Book2);
return 0;
}
//Print Book Info
void printBook(struct Books boook)
{
cout<<"Book Title:"<<boook.title<<endl;
cout<<"Book Author:"<<boook.author<<endl;
cout<<"Book subject:"<<boook.subject<<endl;
cout<<"Book Id:"<<boook.book_id<<endl;
}
Pointers to structures:
struct Books *struct_pointer;
struct_pointer=&Book1;
To access the members of the structure I have to use -> operator as follows
struct_pointer->title;
#include<iostream>
#include<cstring>
using namespace std;
void printBook(struct Books *boook);
struct Books{
char title[50];
char author[50];
char subject[100];
int book_id;
};
int main(){
struct Books Book1;
struct Books Book2;
//Book1 specifications
strcpy(Book1.title,"Learn");
strcpy(Book1.author,"Chand");
strcpy(Book1.subject,"C++");
Book1.book_id=553;
//Book2 specifications
strcpy(Book2.title,"Trel");
strcpy(Book2.author,"Trel");
strcpy(Book2.subject,"Trel");
Book2.book_id=4343;
printBook(&Book1);
printBook(&Book2);
return 0;
}
//Print Book Info
void printBook(struct Books *boook)
{
cout<<"Book Title:"<<boook->title<<endl;
cout<<"Book Author:"<<boook->author<<endl;
cout<<"Book subject:"<<boook->subject<<endl;
cout<<"Book Id:"<<boook->book_id<<endl;
}
With typedef:
There are some arrors in teh code I will fix thsi later..
#include<iostream>
#include<cstring>
using namespace std;
typedef void printBook(Books *boook);
typedef struct
{
char title[50];
char author[50];
char subject[100];
int book_id;
}Books;
int main(){
Books Book1;
Books Book2;
//Book1 specifications
strcpy(Book1.title,"Learn");
strcpy(Book1.author,"Chand");
strcpy(Book1.subject,"C++");
Book1.book_id=553;
//Book2 specifications
strcpy(Book2.title,"Trel");
strcpy(Book2.author,"Trel");
strcpy(Book2.subject,"Trel");
Book2.book_id=4343;
printBook(&Book1);
printBook(&Book2);
return 0;
}
//Print Book Info
typedef void printBook(Books *boook)
{
cout<<"Book Title:"<<boook->title<<endl;
cout<<"Book Author:"<<boook->author<<endl;
cout<<"Book subject:"<<boook->subject<<endl;
cout<<"Book Id:"<<boook->book_id<<endl;
}