***...Пластика кода...***

Тема в разделе "WASM.BEGINNERS", создана пользователем Luna, 17 окт 2010.

  1. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    Большой привет всем форумчанам ;)!
    с наступлением холодной, снежной и дождливой осенней поры))))))))))))))))))
    ...В такой обстановке у меня возник серьёзный вопрос:
    Дана программа на с++ (называется- "библиографическая карточка"). А как перевести её на язык java, что надо переделать ?
    Конечно, это трудно- но всё же =)

    Код (Text):
    1. #include<iostream.h>
    2. #include<conio.h>
    3. #include<stdio.h>
    4. #include<fstream.h>
    5. #include<string.h>
    6. #define n 3
    7.  
    8.   class  bibl
    9. {
    10.   char name[80];
    11.   char aftor[80];
    12.   char izd[80];
    13.   int godizd;
    14.   int kolstr;
    15.   int nomer;
    16.   bibl *next;
    17.  
    18.   public:
    19.   static bibl *p;
    20.   void create();
    21.   void search_po_kluychu();
    22.   void add();
    23.   void cut();
    24.   void output();
    25.   void search_po_nazvaniuy();
    26.   void search_po_avtoru();
    27.   void search_po_izd_u();
    28.   void search_po_kol_u_stranic();
    29.   void search_po_godu_izd_ay();
    30.  
    31.  };
    32.  
    33.    bibl*bibl::p;
    34.  
    35.   void bibl::create()
    36.  { bibl *q;
    37.    p=new bibl;
    38.    clrscr();
    39.    cout<<"vvedite nomer knigi,god izdaniay,kolichestvo stranic,nazvanie,avtora,izdatelstvo: "<<"\n";
    40.    cin>>p->nomer;
    41.    cin>>p->godizd;
    42.    cin>>p->kolstr;
    43.    gets(p->name);
    44.    gets(p->aftor);
    45.    gets(p->izd);
    46.    q=p;
    47.  
    48.    for(int i=0;i<n-1;i++)
    49.    {q->next=new bibl;
    50.     q=q->next;
    51.     cin>>q->nomer;
    52.     cin>>q->godizd;
    53.     cin>>q->kolstr;
    54.     gets(q->name);
    55.     gets(q->aftor);
    56.     gets(q->izd);
    57.    }
    58.    q->next=NULL;
    59.    getch();
    60.  }
    61.  
    62.  
    63.  
    64.  
    65.  
    66.  
    67. void bibl::add()
    68. { bibl *q;
    69.     q=p;
    70.     while(q->next!=NULL)
    71.     q=q->next;
    72.     q->next=new bibl;
    73.     q=q->next;
    74.     cout<<"\n";
    75.    cout<<"vvedite nomer knigi,god izdaniay ,kolichestvo stranic,nazvanie,avtora,izdatelstvo: "<<"\n";
    76.    cin>>q->nomer;
    77.    cin>>q->godizd;
    78.    cin>>q->kolstr;
    79.    gets(q->name);
    80.    gets(q->aftor);
    81.    gets(q->izd);
    82.  
    83.     q->next=NULL;
    84.  
    85. }
    86.  
    87.  
    88.   void bibl::output()
    89. {  bibl *q;
    90.   q=p;
    91.   clrscr();
    92.   cout<<"BIBLIOGRAFICHESKII SPRAVOCHNIC: \n";
    93.   cout<<"_______________________________________________________"<<"\n";
    94.   while (q!=NULL)
    95.     {cout<<q->nomer<<"\t";
    96.      cout<<q->godizd<<"\t";
    97.      cout<<q->kolstr<<"\t";
    98.      cout<<q->name<<"\t";
    99.      cout<<q->aftor<<"\t";
    100.      cout<<q->izd<<"\n";
    101.      q=q->next;
    102.      }
    103.   cout<<"_______________________________________________________"<<"\n";
    104.   getch();
    105.  
    106.   }
    107.  
    108.  
    109.  void bibl::search_po_kluychu()
    110. {   bibl *q;
    111.     int key;
    112.     cout<<"\n";
    113.              cout<<"vvedite kluych \n";
    114.            cin>>key;
    115.            q=p;
    116.            while(q!=NULL)
    117.          {
    118.            if(q!=NULL&&q->nomer==key )
    119.          {cout<<"object is found:"<<"\n";
    120.  
    121.           cout<<q->nomer<<"\t";
    122.           cout<<q->godizd<<"\t";
    123.           cout<<q->kolstr<<"\t";
    124.           cout<<q->name<<"\t";
    125.           cout<<q->aftor<<"\t";
    126.           cout<<q->izd<<"\n";
    127.          }
    128.          q=q->next;
    129.          }
    130.            q=p;
    131.            while(q!=NULL&&q->nomer<key)
    132.                    q=q->next;
    133.              if(q!=NULL&&q->nomer==key )
    134.                    {cout<<"\n";
    135.                    }
    136.              else
    137.                  cout<<"the element is not found \n";
    138.                  getch();
    139.   }
    140.  
    141.  
    142.    void bibl::search_po_nazvaniuy()
    143.    {bibl *q;
    144.     char nazv[80];
    145.            cout<<"vvedite nazvanie knigi \n";
    146.            gets(nazv);
    147.              cout<<"\n";
    148.              q=p;
    149.            while(q!=NULL)
    150.          {
    151.            if(q!=NULL&&!strcmp(q->name,nazv) )
    152.                  {cout<<"object is found:"<<"\n";
    153.           cout<<q->nomer<<"\t";
    154.           cout<<q->godizd<<"\t";
    155.           cout<<q->kolstr<<"\t";
    156.           cout<<q->name<<"\t";
    157.           cout<<q->aftor<<"\t";
    158.           cout<<q->izd<<"\n";
    159.               }
    160.          q=q->next;
    161.          }
    162.            q=p;
    163.            while(q!=NULL&&strcmp(q->name,nazv))
    164.                  q=q->next;
    165.              if(q!=NULL&&!strcmp(q->name,nazv) )
    166.                  {cout<<"\n";
    167.                  }
    168.              else
    169.                 cout<<"the element is not found \n";
    170.                 getch();
    171.    }
    172.  
    173.  
    174.  
    175.    void bibl::search_po_avtoru()
    176.    {bibl *q;
    177.     char av[80];
    178.            cout<<"vvedite avtora knigi \n";
    179.            gets(av);
    180.              cout<<"\n";
    181.              q=p;
    182.            while(q!=NULL)
    183.          {
    184.                 if(q!=NULL&&!strcmp(q->aftor,av) )
    185.          {cout<<"object is found:"<<"\n";
    186.  
    187.           cout<<q->nomer<<"\t";
    188.           cout<<q->godizd<<"\t";
    189.           cout<<q->kolstr<<"\t";
    190.           cout<<q->name<<"\t";
    191.           cout<<q->aftor<<"\t";
    192.           cout<<q->izd<<"\n";
    193.            }
    194.          q=q->next;
    195.          }
    196.            q=p;
    197.            while(q!=NULL&&strcmp(q->aftor,av))
    198.                 q=q->next;
    199.              if(q!=NULL&&!strcmp(q->aftor,av) )
    200.                 {cout<<"\n";
    201.                 }
    202.              else
    203.                 cout<<"the element is not found \n";
    204.                 getch();
    205.    }
    206.  
    207.    void bibl::search_po_izd_u()
    208. {   bibl *q;
    209.     char iz[80];
    210.            cout<<"vvedite izdatelstvo \n";
    211.            gets(iz);
    212.              cout<<"\n";
    213.  
    214.            q=p;
    215.            while(q!=NULL)
    216.          {
    217.              if(q!=NULL&&!strcmp(q->izd,iz) )
    218.         {cout<<"object is found:"<<"\n";
    219.  
    220.           cout<<q->nomer<<"\t";
    221.           cout<<q->godizd<<"\t";
    222.           cout<<q->kolstr<<"\t";
    223.           cout<<q->name<<"\t";
    224.           cout<<q->aftor<<"\t";
    225.           cout<<q->izd<<"\n";
    226.         }
    227.            q=q->next;
    228.          }
    229.             q=p;
    230.             while(q!=NULL&&strcmp(q->izd,iz))
    231.                  q=q->next;
    232.               if(q!=NULL&&!strcmp(q->izd,iz) )
    233.                  {cout<<"\n";
    234.                  }
    235.               else
    236.                  cout<<"the element is not found \n";
    237.                  getch();
    238.  }
    239.  
    240.  
    241.  
    242.      void bibl::search_po_kol_u_stranic()
    243. {   bibl *q;
    244.     int min,max,cc;
    245.          cout<<"vvedite minimal'noe kolichestvo stranic \n";
    246.            cin>>min;
    247.            cout<<"vvedite maksimal'noe kolichestvo stranic \n";
    248.            cin>>max;
    249.          if (max<min)
    250.            cout<<"error "<<"\n";
    251.          else
    252.            cout<<"\n";
    253.            cout<<"naidennie knigi:"<<"\n";
    254.            for(cc=min;cc<max+1;cc++)
    255.          {
    256.             q=p;
    257.             while(q!=NULL)
    258.            {
    259.             if(q!=NULL&&q->kolstr==cc )
    260.            {
    261.             cout<<q->nomer<<"\t";
    262.             cout<<q->godizd<<"\t";
    263.             cout<<q->kolstr<<"\t";
    264.             cout<<q->name<<"\t";
    265.             cout<<q->aftor<<"\t";
    266.             cout<<q->izd<<"\n";
    267.                 getch();
    268.            }
    269.          q=q->next;
    270.           }
    271.         }
    272.  
    273. }
    274.  
    275.  
    276.        void bibl::search_po_godu_izd_ay()
    277. {   bibl *q;
    278.     int min,max,gg;
    279.          cout<<"vvedite minimal god izd \n";
    280.            cin>>min;
    281.            cout<<"vvedite maksimal god izd \n";
    282.            cin>>max;
    283.          if (max<min)
    284.            cout<<"error "<<"\n";
    285.          else
    286.            cout<<"\n";
    287.            cout<<"naidennie knigi:"<<"\n";
    288.            for(gg=min;gg<max+1;gg++)
    289.          {
    290.              q=p;
    291.              while(q!=NULL)
    292.            {
    293.               if(q!=NULL&&q->godizd==gg )
    294.            {
    295.             cout<<q->nomer<<"\t";
    296.             cout<<q->godizd<<"\t";
    297.             cout<<q->kolstr<<"\t";
    298.             cout<<q->name<<"\t";
    299.             cout<<q->aftor<<"\t";
    300.             cout<<q->izd<<"\n";
    301.                 getch();
    302.            }
    303.          q=q->next;
    304.            }
    305.          }  
    306. }
    307.  
    308.     void bibl::cut()
    309.  
    310.  
    311. {     bibl *q;
    312.     bibl *z,*e,*a;
    313.     int key;
    314.  
    315.     cout << "\n vvedite key ";
    316.     cin >> key;
    317.     q=p;
    318.  
    319.     while(q!=NULL&&q->nomer!=key)
    320.        q=q->next;
    321.     if(q->nomer==key)
    322.          {
    323.         if(q==p)
    324.           {p=p->next;
    325.            delete q;
    326.                return;}
    327.         else
    328.           {a=p;
    329.            while(a->next!=q)
    330.               a=a->next;
    331.            if (a->next==q)
    332.             {
    333.              a->next=q->next;
    334.              delete q;
    335.              return;}
    336.                   }
    337.           }
    338. }
    339.  
    340.   void menu()
    341.  
    342. {
    343.     cout<<"menu"<<"\n";
    344.     cout<<"1-sozdanie spravochnika"<<"\n";
    345.     cout<<"2-poisk knigi po kluychu"<<"\n";
    346.     cout<<"3-dobavlenie knigi"<<"\n";
    347.     cout<<"4-udalenie knigi"<<"\n";
    348.     cout<<"5-poisk knigi po nazvaniuy"<<"\n";
    349.     cout<<"6-poisk po kol-u stranic"<<"\n";
    350.     cout<<"7-poisk po avtoru"<<"\n";
    351.     cout<<"8-poisk po_izd-u"<<"\n";
    352.     cout<<"9-poisk po godu izd"<<"\n";
    353.     cout<<"0-vichod"<<"\n";
    354. }
    355.  
    356.  
    357.   void main()
    358.  { clrscr();
    359.     bibl ob;
    360.     char f;
    361.     menu();
    362.     cout<<"\n";
    363.     while(f!='0'){
    364.      f=getch();
    365.      switch (f) {
    366.       case '1': ob.create(); clrscr(); ob.output(); menu(); break;
    367.       case '2': ob.search_po_kluychu();clrscr(); ob.output(); menu(); break;
    368.       case '3': ob.add();cout<<"posle dobavleniay: \n"; ob.output(); menu(); break;
    369.       case '4': ob.cut();cout<<"posle udaleniay: \n"; ob.output(); menu(); break;
    370.     case '5': ob.search_po_nazvaniuy();clrscr(); ob.output(); menu(); break;
    371.     case '6': ob.search_po_kol_u_stranic();clrscr(); ob.output(); menu(); break;
    372.     case '7': ob.search_po_avtoru();clrscr(); ob.output(); menu();break;
    373.     case '8': ob.search_po_izd_u();clrscr(); ob.output(); menu();break;
    374.     case '9': ob.search_po_godu_izd_ay();clrscr(); ob.output(); menu(); break;
    375.       };
    376.      };
    377.   }
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Luna
    тут ничего сложного нет.
    извини, но кода тут дочерта и ни какого искуства .
    если интересно самой, то могу накидать ссылочек на ликбез
     
  3. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    wsd
    конечно, интересно)))
     
  4. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Здесь рутина перевода из одного языка в другой - вот это и есть основная сложность
     
  5. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    где тут трудно-то? это только скучно.
    J2SE standard library reference - I/O, Strings. Без особого вникания - 20 минут переписывания методов в свой исходник.
    Java language reference - basic syntax, objects. Минут 40 чтения, если знаешь плюсы хотя бы поверхностно.
    Полчаса кодинга и готово.
     
  6. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Luna
    смотри ЛС
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    http://www.google.com.ua/search?sourceid=chrome&ie=UTF-8&q=c%2B%2B+java+translator
    мои 5 копеек. (от ить флудится сегодня. не замечали?)
     
  8. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    qqwe
    и как качество трансляции? стандартные либы тоже все транслируются?
     
  9. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    wsd
    ну с жабой я, вы знаете, не очень дружу. но некоторые варианты заставляют к ей более положительно.
    но не скажу. в принципе, почему б не пробежаться автоматом, поправив потом, что не получилось или криво вышло?
     
  10. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    даа, придётся настроиться духом на долгую, скучную и кропотливую работу =)
     
  11. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Сплошные сёрчи. Нелегка жизнь студента. :)
     
  12. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Засунуть в Билдер, нажимать F9 и исправлять синтаксические ошибки. Совершенно обезьянья работа на час максимум.
     
  13. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    Booster
    ахахха, да нет- всё не так уж трудно )))

    CyberManiac
    самый лучший совет , спасииба ;)

    ну в принципе- должно быть всё то же самое: только убрать запятые между классами, библиотеки, да изменить функции вывода и некоторые другие)
     
  14. featurelles

    featurelles New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2009
    Сообщения:
    562
    Luna
    ДА ПОКАЖИ НАМ УЖЕ СВОЁ ФОТО )
     
  15. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    featurelles
    Надо же было так всю идилию нарушить)
     
  16. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    featurelles
    А вдруг правда возьмёт и покажет? А там не Луна, а жирный тролль? Зачем нарушать идилию?
     
  17. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    Black_mirror
    ну прямо-таки детский сад))


    .......Дорогие форумчане, а как вводить информацию в java?и почему об этом нигде ничего не пишут?=)
     
  18. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Луночка код лучше вводить в, рекомендованной мной, IDE
    код компилится javac , а запускается java
    или что ты имела в виду?
     
  19. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    wsd
    хех..не то)) Я имела ввиду, что для вывода информации на экран служит метод System.out.println(".....")
    А как пользователю ввести на экран то, что он пожелает?)
    Сказали, что надо создавать новый класс и использовать методы write, writeln..Так ли это, есть ли где-нибудь образец программы?)
     
  20. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Luna
    System.in
    и преобразовывать