Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] информационно-поисковой системы (ИПС)


Автор: tema462 8.12.2007, 00:11
ИПС для медицинского работника. Таблица болезней: название, симптомы (выбираются из справочника), лечебные процедуры (выбираются из справочника). Таблица медикаментов: название, категория (выбирается из справочника; например: для лечения простуды, для лечения болезней ЖКТ, сердечно-сосудистое средство, БАД и т.д.), взаимозаменяемые средства (выбираются из таблицы медикаментов), показания к применению, противопоказания, побочные действия, форма выпуска (выбирается из справочника). Для лечения каждой болезни может использоваться несколько медикаментов. Таблица курсов лечения: болезнь (выбирается из таблицы болезней), медикамент (выбирается из таблицы медикаментов), режим приема лекарственного средства, продолжительность приема. Функции системы: а) при выборе записи в таблице болезней вывод соответствующих сведений о курсе лечения; б) произвольный поиск по таблице болезней; для поля названия по шаблону; для полей симптомов и процедур на наличие соответствующих элементов, выбираемых из списков; в) произвольный фильтр на таблицу медикаментов; г) вывод списка категорий медикаментов, с указанием для каждой из них общего количества медикаментов, а также списка названий болезней, для лечения которых применяются соответствующие средства.


ВОТ ТАКАЯ ВОТ ЗАДАЧКА...

Автор: bobik02 8.12.2007, 11:20
Ну и что задачка как задачка...  smile  мне тож точно такую задали ИПС только про студентов специальностей и групп.  Что конкретно Вас интересует ?

Автор: tema462 10.12.2007, 01:34
 smile  smile 

Автор: tema462 15.12.2007, 00:07
Код


//----------------------------Главное меню--------------------------------------
void Baza::MMain(){
 int poz=1;
 char vbr,exit;
 system("cls");
 do{
     system("cls");
         CharToOem("\t|__________ГЛАВНОЕ МЕНЮ_________________|\n", mass);
            printf("\t________________________________________\n");
 printf(mass);
            printf("\t|                                       |\n");
    if(poz==1){
         CharToOem("\t| ->1 |> Таблица болезней               |\n", mass);}
    else{CharToOem("\t|   1 |> Таблица болезней               |\n", mass);}
 printf(mass);
 if(poz==2){
         CharToOem("\t| ->2 |> Таблица медикаментов           |\n", mass);}
    else{CharToOem("\t|   2 |> Таблица медикаментов           |\n", mass);}
 printf(mass);
 if(poz==3){ 
         CharToOem("\t| ->3 |> Таблица курсов лечения         |\n", mass);}
    else{CharToOem("\t|   3 |> Таблица курсов лечения         |\n", mass);}
 printf(mass);
 if(poz==4){
         CharToOem("\t| ->4 |> Справочники                    |\n", mass);}
    else{CharToOem("\t|   4 |> Справочники                    |\n", mass);}
 printf(mass);
            printf("\t|_______________________________________|\n");
         CharToOem("\t| 0 [ESC]|--------------> Выход         |\n", mass);
 printf(mass);
            printf("\t|_______________________________________|\n");


 vbr=getch ();
 
      if(vbr=='1'){SGrid('c');}
      if(vbr==50) {
        SGrid('e');    }
      if (vbr==51)
          {SGrid('p');}
      if (vbr==52)
          {Sprav();}
           
      if(vbr==80){if(poz+1<=4){poz++;}else{poz=1;}}
      if(vbr==72){if(poz-1>0){poz--;}else{poz=4;}}
      if(vbr==13){if(poz==1){SGrid('c');}
      if(poz==2){SGrid('e');}
      if(poz==3){SGrid('p');}
      if(poz==4){Sprav();}}
      if ((vbr=='0')||(vbr==27)) 
      {exit='q';}
  }while((vbr=='0'));
 system("cls");
 }
 

Кусочек прги....

Всё замечательно компилтся,без ошибок(конечно же я говорю про весь код тоже)
при запуске exe-ника.....всё работает...но при нажатии в орпеделённых моментах кнопок Esc, стрелка вверх,вниз,влево,вправо....работет,но после того как выскакиает окно в котором три кнопки...ПРЕРВАТЬ.....ПОВТОРИТЬ....ПРОДОЛЖИТЬ...после выбора кнопки ПРОДОЛЖИТЬ можно дальше работать с прогой...немогу понять из-за чего это.....ведь компилятор ошибок не выдавал....!????

Вот собственно скрин этого окна....после нажатия кнопки стрелка вниз...
http://ipicture.ru/Gallery/Viewfull/185241.html

Вот скрин...но опять же я выше говорил,что не могу понять что ему не нравится?? smile 
http://ipicture.ru/Gallery/Viewfull/185196.html


Помогите плз разобраться с этим вопросом......!!!

Автор: kBepTu 15.12.2007, 03:03
Цитата

Код

char vbr,exit;


Я бы не стал так делать, тк exit - это имя функции аварийного завершения программы
ЗЫ: а вообще отладчик жалуеться, что ты использовал переменную без инициализации  smile 

Автор: tema462 15.12.2007, 15:14
Так что-то я немного запутался=((.... smile 
Т.е. exit....это библиотечная ф-ия?...или что:....
Код
exit='n'

так...я несосем понял??

А как бы ты стал делать???

Автор: kBepTu 18.12.2007, 01:49
Просто не используй ее. Замени ее на что то другое. - так будет правильно.
Но это только полбеды: понимаешь ты используешь переменную без инициализации. От этого чего только не может случиться. Ты берешь не известное значение и что то с ним  делаешь. Попытайся отладить программу по шагам - трассировка. Оправь в watch все переменные, посматри на изменяющиеся значения - увидешь что не так.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)