«Программалау» ПӘнінің ОҚУ-Әдістемелік кешені


)С++ тіліндегі бағдарлама мәтіні



бет14/16
Дата27.05.2018
өлшемі2,32 Mb.
#40952
1   ...   8   9   10   11   12   13   14   15   16
2)С++ тіліндегі бағдарлама мәтіні:

#include <iostream.h>

#include

#include

#include

#include

#include
struct nodebook

{ char author[21];

char name[41];

char publisher[21];

double year;

nodebook *next;};

struct nodeyear

{ double year;

int nob;

nodeyear *next;};
class books

{ private:

nodebook *bb,*enb;

nodeyear *by,*eny;

int n,m;

public:

books(){n=m=0; bb=enb=NULL; by=eny=NULL;}

~books();

void input();

void outpu();

void yearlist();};
books::~books()

{

nodebook *t_b;

nodeyear *t_y;

if(bb!=NULL)

{while(bb!=NULL)

{t_b=bb;

bb=bb->next;

delete t_b;}

enb=NULL;

n=0;}

if(by!=NULL)

{while(by!=NULL)

{t_y=by;

by=by->next;

delete t_y;}

eny=NULL;

m=0;}

}
void books::input()

{

ifstream fin;

int i;

nodebook *pb,t;

fin.open("books.txt");

do

{

fin>>t.author>>t.name>>t.publisher>>t.year;

n++;

} while(fin.good());

n--;

fin.close();

fin.open("books.txt");

pb=new nodebook;

fin>>pb->author>>pb->name>>pb->publisher>>pb->year;

pb->next=NULL;

bb=pb;

enb=pb;

for(i=1;i

{pb=new nodebook;

fin>>pb->author>>pb->name>>pb->publisher>>pb->year;

enb->next=pb;

pb->next=NULL;

enb=pb;}

fin.close();

}
void books::outpu()

{

ofstream fout;

nodebook *i;

fout.open("authors.txt");

for(i=bb;i!=NULL;i=i->next)

fout<author<<" "<name<<" "<publisher<<" "<year<

cout<<"File 'authors.txt' created\n";

fout.close();

}
void books::yearlist()

{

int fl;

nodebook *i;

nodeyear *py,*k;

py=new nodeyear;

py->year=bb->year;

py->nob=0;

py->next=NULL;

by=py;

eny=py;

for(i=bb;i!=NULL;i=i->next)

{fl=0;

for(k=by;k!=NULL;k=k->next)

if(i->year==k->year) {k->nob++; fl=1;}

if(fl==0)

{

py=new nodeyear; py->year=i->year;

py->nob=1; eny->next=py; py->next=NULL; eny=py;}

}

for(k=by;k!=NULL;k=k->next)

cout<year<<" "<nob<

getch();

}
void main()

{

clrscr();

books a;

a.input();

a.outpu();

a.yearlist();

getch();

}


3)Бағдарламаны тестілеу нәтижесі:
Мәтіндік файл:


Бағдарлама жұмысы:





Алынған мәтіндік файл:



Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет