Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
25.05.2014
Размер:
4.38 Кб
Скачать
/*‹ Ў®а в®а­ п а Ў®в  13
€б Ґў ‚Ёв «Ё© ‚ЁЄв®а®ўЁз
ѓагЇЇ  ‡‚‘11 ў аЁ ­в ь15*/
#include <conio.h>  //Џ®¤Є«оз Ґ¬ ¬®¤г«м нЄа ­ 
#include <iostream.h> //Њ®¤г«м ўў®¤  ўўлў®¤  Ї®в®Є®ў
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int kb;
int endc;
class znak{ //ЋЇаҐ¤Ґ«пҐ¬ бвагЄвгаг
	public:
	znak *next;
	    char name[20];     //‚ бвагЄвга㠢室пв Ё¬п д ¬Ё«Ёп
	     char zodiac[10];	// §­ Є §®¤Ё Є 
	     long int bday[3];	//¤Ґ­м ஦¤Ґ­Ёп
	    } ;
 znak *start=0;  //‘®§¤ Ґ¬ ¬ ббЁў вЁЇ  znak Ё§ 8 н«Ґ¬Ґ­в®ў
 //---------------------------‚лў®¤ ­  нЄа ­-------------------------------
  void outscr(){
  znak* list=start;
   clrscr();
    for (int t=0;t<8;t++){
	 cout << "\n” ¬. Ё¬п: " << list->name << ", §­ Є §®¤.: " <<
		      list->zodiac <<	", ¤ в  ஦¤.: ";
	    cout << list->bday[0] << "." << list->bday[1]  << "." << list->bday[2];
	 list=list->next;
		}
    getch();
    clrscr();
    cout << "ЊҐ­о:\n" << "1 - Џ®ЁбЄ 祫®ўҐЄ  Ї® ” ¬Ё«ЁЁ.\n";
   cout << "2 - ‚л¤ вм Ї®«­л© бЇЁб®Є.\n" <<  "Esc - ‚л室";
    }
 //-----------------------„®Ў®ў«Ґ­ЁҐ § ЇЁбҐ© ў Ї ¬пвм------------------------
 void dz(znak *book){
    znak *nw=new znak;
    *nw=*book;
    if (!start) start=nw;
	else {
	      nw->next=start;
	      start=nw;
		}
			}
//---------------------------------------------------------------------------
//-----------------------------‘®авЁа®ўЄ  -----------------------------------
void srt(){
 znak temp,*list,*pr,*pr1,*list1;
  int cycl=0,pm=0;//pm - д« Ј ®Ў¬Ґ­ 
   while (cycl!=1){
    pr1=pr=start;
     list=pr->next;
     pm=0;
    for (int i=0;i<7;i++){
     long int b1=pr->bday[0]+(pr->bday[1]*100)+(pr->bday[2]*10000);
      long int b2=list->bday[0]+(list->bday[1]*100)+(list->bday[2]*10000);
       if ((b1>b2) && (i>0)) {
		   list1=list->next;
		   pr->next=list1;
		   list->next=pr;
		   pr1->next=list;
		   if (i==1) start=pr1;
		   i=9;
		   pm=1;
				}
       if ((b1>b2) && (i==0)) {
			      list1=list->next;
			      pr->next=list1;
			      list->next=pr;
			      start=list;
			      i=9;
			      pm=1;
				}
       if ((b1>b2) && (i==6)) {
			       pr1->next=list;
			       list->next=pr;
			       pr->next=0;
			       pm=1;
			       i=9;
				}


	  pr1=pr;
	  pr=pr->next;
	  list=pr->next;		  }
       if (pm==0) cycl=1;

   }
 }
 //-----------------------------Џ®ЁбЄ Ї® д ¬Ё«ЁЁ---------------------------
void pf(){
znak *book;
 clrscr();
  int pr,p,f=0,q=0;
char fam[20];
cout << "‚ўҐ¤ЁвҐ д ¬Ё«Ёо:";
cin >> fam;
pr=strlen(fam);
cout << "\nЏ® ¤ ­­®© д ¬Ё«ЁЁ:";
  book=start;
   for (int r=0;r<8;r++){p=0;
    while (book->name[p]!=32) p++;
     if (pr==p) {
	      for (int y=0;y<p;y++) {
		if (book->name[y]==fam[y]) f=1;
			else {y=p+1;f=0;}
		       }
		}
	    if (f==1){
	      cout << "\n” ¬. €¬п - "<<book->name << " §­ Є §®¤." <<
		book->zodiac;
	       cout << " „ в  ஦¤." << book->bday[0] << "." <<
		 book->bday[1] << "." << book->bday[2];
		      q=1;
		      f=0;
			}
	    book=book->next;
		 }
      if (q==0) cout << " § ЇЁбҐ© ­Ґв.";
		 getch();
		 clrscr();
     cout << "ЊҐ­о:\n" << "1 - Џ®ЁбЄ 祫®ўҐЄ  Ї® ” ¬Ё«ЁЁ.\n";
   cout << "2 - ‚л¤ вм Ї®«­л© бЇЁб®Є.\n" <<  "Esc - ‚л室";
   }
//---------------------------------------------------------------------------
 void main(){
       clrscr();
 znak book;
 //----------------------------‚ў®¤ ¤ ­­ле-----------------------------------
 for (int i=0;i<8;i++){
   cout << "‚ўҐ¤ЁвҐ Ї®¦ ©«гбв  ¤ ­­лҐ ­  " << i+1 << " -®Ј® 祫®ўҐЄ ";
       cout << "\n‚ўҐ¤ЁвҐ д ¬Ё«Ёо Ё¬п - ";
	for (int h=0;h<20;h++){int f=getche();
		if (f!=13) book.name[h]=f;
			else  {  book.name[h]='\x0';
				h=21;		}
		}
	     cout << "\n‚ўҐ¤ЁвҐ §­ Є §®¤Ё Є  - ";
	      cin >> book.zodiac;
	       cout << "‚ўҐ¤ЁвҐ ¤ вг ஦¤Ґ­Ёп:\n„Ґ­м - ";
		cin >> book.bday[0];
		 cout << "ЊҐбпж - ";
		  cin >> book.bday[1];
		   cout << "ѓ®¤ - ";
		    cin >> book.bday[2];
		     book.next=0;
		  dz(&book);
			}

   srt();
  outscr();
  clrscr();
  cout << "ЊҐ­о:\n" << "1 - Џ®ЁбЄ 祫®ўҐЄ  Ї® ” ¬Ё«ЁЁ.\n";
   cout << "2 - ‚л¤ вм Ї®«­л© бЇЁб®Є.\n" <<  "Esc - ‚л室";
    while (endc!=1) {
      if (kbhit()){
 kb=getch();
  if (kb==49) pf();//Џ®ЁбЄ Ї® д ¬Ё«ЁЁ
   if (kb==50) outscr();// ‚лў®¤ бЇЁбЄ 
    if (kb==27) endc=1;
 }}
 }


Соседние файлы в папке LABORATORN