Вывести информацию о поездах, отправляющихся в Москву от 10 до 16 часов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

помогите решить задачку, или если сможете подкиньте код похожей програмки... Организовать меню: Создание файла, Просмотр файла, Поиск, Выход. В файле содержатся сведения о поездах: № поезда, станция назначения, время отправления, время в пути. Вывести информацию о поездах, отправляющихся в Москву от 10 до 16 часов.
подскажите пожалуйсто, вот код собрал для создания и просмотра, низнаю как написать функцию поиска и вывода
#include <stdio.h>      //Подключаем библиотеки
#include <conio.h>
#include <string.h>
struct station          // описываем структуру station
{ char stnazn[10];      // станция назначения
 int number;            // номер поезда
 int t_otpr;            // время отправления
 int t_vputi;           // время в пути
 } sp;
void input(FILE *);     //функция создания нового файла
void print(FILE *);     //функция просмотра списка
void find(FILE *);      //функция поиска
main()
 { char c;
 FILE *tf;              //указатель на файл
 while (1)
 { puts("\n     MENU"); //создаем меню для удобства работы
 puts(" ++++++++++++");   
 puts(" 1-sozdanie faila");
 puts(" 2-prosmotr faila");
 puts(" 3-poisk i vivod");
 puts(" 0-vyhod \n");
 c=getch();
 switch(c)              //оператор выбора
  {  case '1':input(tf); break;
  case '2':print(tf);break;
  case '3':find(tf);break;
  case '0':return 0;
  default : puts("nevernuy regim!!!");  //если вводим другие числа , то выводиться предупреждение
  } } 
}
void input(FILE *tf)                // функция создания нового файла
{   char ch;
   tf=fopen("file.dat","wb");       // открытие бинарного файла для записи
   printf("\n vvedite informaciu o poezde \n");
   do
   {  printf(" nomer poezda: "); scanf("%d",&sp.number); 
   printf("\n Stancia naznachenia: "); scanf("%s",sp.stnazn);
   printf(" Vremia otpravlenia: "); scanf("%d",&sp.t_otpr);
   printf(" Vremia v puti: "); scanf("%d",&sp.t_vputi);
   fwrite(&sp,sizeof(struct station),1,tf);
   printf("\n Zakonchity ? y/n");
   ch=getch();   }
   while (ch != 'y');
   fclose(tf);                  //Закрытие файла
}
void print(FILE *tf)                //функция просмотра списка
{  int i;
   tf=fopen("file.dat","rb");           // открытие бинарного файла для чтения
   i=1;
   fread(&sp,sizeof(struct station),1,tf);  //чтение из файла  структуры station
   while(!feof(tf))
   {  printf("\n (%d) nomer poezda %s\n Stanciia naznacheniya  %d  ",i,sp.number,sp.stnazn);
    printf("\n Vremia otpravlenia:%d\n Vremia v puti:%d\n ",sp.t_otpr,sp.t_vputi);
    fread(&sp,sizeof(struct station),1,tf);
    i++;   }
getch();
}
void find(FILE*tf)              //функция поиска

Решение задачи: «Вывести информацию о поездах, отправляющихся в Москву от 10 до 16 часов»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include<ctype.h>
#include <dos.h>
#define UP 72
#define DOWN 80
#define ENTER 13
const char *List[18]={"Створити новий файл ",
              "Завантажити з файла",
              "      ПОШУК ЗА      ",
              " Прізвищем         ",
              " Вулицею            ",
              " № будинку         ",
              " № квартири        ",
              " № телефону        ",
              "    СОРТУВАННЯ ЗА   ",
              " Прізвищем  ",
              " Вулицею             ",
              " № будинку          ",
              " № квартири        ",
              " № телефону        ",
              "Додати абонента",
              "Редагувати абонента ",
              "Видалити абонента",
              "ВИХІД"};
const char *ListAdd[6]={"Прізвище     :",
            "Вулиця:",
            "Будинок      :",
            "Квартира    :",
            "Телефон      :",
            "ВИХІД:"};
 
void Intro();
int  OpenBase (FILE *out);
void MsgBox(int x, int y, char *Caption);
void Del (FILE *out, int kil);
void InputWindow(FILE *out);
void Frame(int x1, int y1, int x2, int y2);
void Table();
void SearchFam(char *Parametr, FILE *out);
void SearchAdr(char *Parametr, FILE *out);
void SearchBud(char *Parametr, FILE *out);
void SearchKv(char *Parametr, FILE *out);
void SearchTel(char *Parametr, FILE *out);
void SortFam(FILE *out);
void SortAdr(FILE *out);
void SortBud(FILE *out);
void SortKv(FILE *out);
void SortTel(FILE *out);
void Add(FILE *out, int kil);
char * ToUpper(char *str);
void Print(int kil);
//--------------------------------------
struct book{
char fam[20];
char street[20];
char bud[20];
char kv[20];
char tel[20];
}mas[200],obmin;
void main()
{
   char Error[30]="Помилка при відкриті файлу";
   char InputName[15]="Введіть ім'я";
   char InputAdress[15]="Введіть адресу";
   char InputBud[20]="Введіть № будинку";
   char InputKv[20]=" Введіть № квартири";
   char InputTel[20]=" Введіть № телефону";
   char Parametr[15];
   char fName[15];
   int kil=0,nomer=0;
   FILE *out;
   int Pos, i, kk;
   Intro();
 label:
   Table();
   gotoxy(55,1);
   textcolor(LIGHTGREEN);
   textbackground(BLACK);
   cprintf("Ю ЗІ");
   textcolor(~RED);
   cprintf(" М      Е     Н         Ю");
   textcolor(LIGHTGREEN);
   textbackground(BLACK);
   cprintf("№І");
do {
   if (Pos>17)
       Pos=0;
   if (Pos<0)
       Pos=17;
   textcolor(LIGHTBLUE);
   textbackground(BLACK);
   for(i=0;i<18;i++)
   {
      gotoxy(55,i+2);
      if (i==17)
     {
       textcolor(BLACK);
       textbackground(LIGHTMAGENTA);
     }
      if (i<18)
     {
       textcolor(LIGHTGREEN);
       textbackground(BLACK);
       cprintf("Ю ЗІ");
       if ((i<2) || (i>13))
          {
        textcolor(BLACK);
        textbackground(LIGHTCYAN);
          }
       if (Pos==i)
          {
        textcolor(BLACK);
        textbackground(LIGHTRED);
          }
       if ((i==2) || (i==8))
          {
        textcolor(BLACK);
        textbackground(YELLOW);
          }
       cprintf("%s", List[i]);
       textcolor(LIGHTGREEN);
       textbackground(BLACK);
       cprintf("№І");
       }
      else
       {
       textcolor(LIGHTBLUE);
       textbackground(BLACK);
       cprintf("ЮИІ");
       if ((Pos==i)||(i==4)||(i==9))
          {
        textcolor(BLACK);
        textbackground(LIGHTBLUE);
          }
    else
    {
       textcolor(LIGHTBLUE);
       textbackground(BLACK);
    }
    cprintf("%s",List[i]);
    cprintf("Юј");
    }}
   kk=getch();
   window(1,1,80,25);
   switch (kk)
   {
      case UP: Pos=Pos-1; break;
      case DOWN: Pos=Pos+1; break;
      default: ;
   }
   }while (kk!=ENTER);
   if(Pos==0)
   {
         fcloseall();
         MsgBox(5,1,InputName);
         gotoxy(6,2);
         scanf("%s",fName);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         if ((out = fopen(fName, "w+t"))==NULL)
         {
         MsgBox(5,1,Error);
         exit(1);
         }
         InputWindow(out);
         getch();
         kil=OpenBase(out);
   }
   else
   if (Pos==1)
   {
         fcloseall();
         MsgBox(5,1,InputName);
         gotoxy(6,2);
         scanf("%s",fName);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         if ((out = fopen(fName, "a+t"))==NULL)
         {
         MsgBox(5,1,Error);
         exit(1);
         }
         kil=OpenBase(out);
   }
   else
   if (Pos==3)
   {
         MsgBox(5,1,InputName);
         gotoxy(6,2);
         scanf("%s",Parametr);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         SearchFam(Parametr,out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==4)
   {
         MsgBox(5,1,InputAdress);
         gotoxy(6,2);
         scanf("%s",Parametr);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         SearchAdr(Parametr,out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==5)
   {
         MsgBox(5,1,InputBud);
         gotoxy(6,2);
         scanf("%s",Parametr);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         SearchBud(Parametr,out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==6)
   {
         MsgBox(5,1,InputKv);
         gotoxy(6,2);
         scanf("%s",Parametr);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         SearchKv(Parametr,out);
         getch();
         OpenBase(out);
    }
    else
   if (Pos==7)
   {
        MsgBox(5,1,InputTel);
         gotoxy(6,2);
         scanf("%s",Parametr);
         window(2,1,30,8);
         textcolor(WHITE);
         textbackground(BLACK);
         clrscr();
         SearchTel(Parametr,out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==9)
   {
         SortFam(out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==10)
   {
         SortAdr(out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==11)
   {
         SortBud(out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==12)
   {
         SortKv(out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==13)
   {
         SortTel(out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==14)
   {
         InputWindow(out);
         getch();
         OpenBase(out);
   }
   else
   if (Pos==15)
   {
         kil=OpenBase(out);
         fcloseall();
         if ((out = fopen(fName, "w+t"))==NULL)
         {
           MsgBox(5,1,Error);
           exit(1);
         }
         Add(out, kil);
         OpenBase(out);
   }
   else
   if (Pos==16)
   {
         kil=OpenBase(out);
         fcloseall();
         if ((out = fopen(fName, "w+t"))==NULL)
         {
           MsgBox(5,1,Error);
           exit(1);
         }
         Del(out,kil);
         OpenBase(out);
   }
   else
   if (Pos==17)
   {
         fcloseall();
         exit(2);
   }
goto label;
}
//------------------------------------------------------------------------
void Print(int kil)
{
   int i;
   window(3,13,52,24);
   textbackground(BLACK);
   clrscr();
   window(1,1,80,25);
   for(i=0;i<kil;i++)
   {
      gotoxy(3,i+13);
      textcolor(WHITE);
      textbackground(BLACK);
      mas[i].fam[0]=toupper(mas[i].fam[0]);
      mas[i].street[0]=toupper(mas[i].street[0]);
      cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam,mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
   }
}
void Intro()
{
   int i;
   clrscr();
   gotoxy(1,5);
   
 
 
   printf("          ЬЬЬЬ   Ь  Ь   ЬЬ   Ь   Ь  ЬЬЬЬ      ЬЬЬ    ЬЬ    ЬЬ   Ь  Ь\n");
   printf("          Ы   Ы  Ы  Ы  Ы  Ы  ЫЫ  Ы  Ы         Ы  Ы  Ы  Ы  Ы  Ы  Ы ЬЯ \n");
   printf("          ЫЬЬЬЯ  ЫЬЬЫ  Ы  Ы  Ы Ы Ы  ЫЬЬЬ      ЫЬЬЯ  Ы  Ы  Ы  Ы  ЫЬЯ  \n");
   printf("          Ы      Ы  Ы  Ы  Ы  Ы  ЫЫ  Ы         Ы  Ы  Ы  Ы  Ы  Ы  Ы Ы \n");
   printf("          Ы      Ы  Ы  ЯЬЬЯ  Ы   Ы  ЫЬЬЬ      ЫЬЬЯ  ЯЬЬЯ  ЯЬЬЯ  Ы  Ы\n");
   gotoxy(29,13);
   textcolor(~RED);
   cprintf("юююTELEPHONE BOOKююю\n");
   gotoxy(20,14);
   cprintf("±±±±±±±±±±±±±±LVIV 2008±±±±±±±±±±±±±±±\n");
   gotoxy(1,16);
   textcolor(DARKGRAY);
   for(i=1; i<=80; i++)
   cprintf("Я");
   gotoxy(1,17);
   textcolor(DARKGRAY);
   for(i=1; i<=80; i++)
   cprintf("Ы");
   gotoxy(1,19);
   textcolor(DARKGRAY);
   for(i=1; i<=80; i++)
   cprintf("Ы");
   getchar();
   clrscr();
}
//------------------------------------------------------------------------
void MsgBox(int x, int y, char *Caption)
{
  int i;
  window(x,y,x+25, y+2);
  textcolor(GREEN);
  textbackground(BLACK);
  clrscr();
  for(i=2; i<=25; i++)
  {
     gotoxy(i,1);
     cprintf("Н");
     gotoxy(i,3);
     cprintf("Н");
  }
  textcolor(GREEN);
  textbackground(BLACK);
  gotoxy(1,1);
  cprintf("Й");
  gotoxy(1,2);
  cprintf("є");
  gotoxy(1,3);
  cprintf("И");
  gotoxy(25,1);
  cprintf(""");
  gotoxy(25,2);
  cprintf("є");
  gotoxy(25,3);
  cprintf("ј");
  gotoxy(14-(int)(strlen(Caption)/2),1);
  textcolor(GREEN);
  textbackground(YELLOW);
  cprintf("%s",Caption);
  window(1,1,80,25);
}
//------------------------------------------------------------------------
int OpenBase(FILE *out)
{
   int i=0;
   window(3,13,52,24);
   textbackground(BLACK);
   clrscr();
   window(1,1,80,25);
   rewind(out);
   while (fscanf(out,"%s %s %s %s %s",mas[i].fam,mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel)==5)
   {
      gotoxy(3,i+13);
      textcolor(WHITE);
      textbackground(BLACK);
      mas[i].fam[0]=toupper(mas[i].fam[0]);
      mas[i].street[0]=toupper(mas[i].street[0]);
      cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam,mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
      i++;
   }
   window(1,1,80,25);
   return i;
}
//------------------------------------------------------------------------
void InputWindow(FILE *out)
{
  int n;
  Frame(2,2,40,10);
  gotoxy(3,3);
  cprintf("Скільки даних ввести:");
  textcolor(BLACK);
  textbackground(LIGHTCYAN);
  cprintf("         ");
  textcolor(BLACK);
  textbackground(LIGHTGRAY);
  gotoxy(3,4);
  cprintf("Прізвище     :");
  textcolor(BLACK);
  textbackground(LIGHTCYAN);
  cprintf("                     ");
  textcolor(BLACK);
  textbackground(LIGHTGRAY);
  gotoxy(3,5);
  cprintf("Вулиця:");
  textcolor(BLACK);
  textbackground(LIGHTCYAN);
  cprintf("                     ");
  textcolor(BLACK);
  textbackground(LIGHTGRAY);
  gotoxy(3,6);
  cprintf("Будинок      :");
  textcolor(BLACK);
  textbackground(LIGHTCYAN);
  cprintf("                     ");
  textcolor(BLACK);
  textbackground(LIGHTGRAY);
  gotoxy(3,7);
  cprintf("Квартира    :");
  textcolor(BLACK);
  textbackground(LIGHTCYAN);
  cprintf("                     ");
  textcolor(BLACK);
  textbackground(LIGHTGRAY);
  gotoxy(3,8);
  cprintf("Телефон      :");
  textcolor(BLACK);
  textbackground(LIGHTCYAN);
  cprintf("                     ");
  textcolor(BLACK);
  textbackground(LIGHTGRAY);
  gotoxy(26,3);
  scanf("%d", &n);
  fflush(stdin);
  if (n==0)
     exit(1);
  for(int i=0;i<n;i++)
  {
     window(17,4,37,8);
     textbackground(CYAN);
     gotoxy(1,1);
     scanf("%s",mas[i].fam);
     gotoxy(1,2);
     scanf("%s",mas[i].street);
     gotoxy(1,3);
     scanf("%s",mas[i].bud);
     gotoxy(1,4);
     scanf("%s",mas[i].kv);
     gotoxy(1,5);
     scanf("%s",mas[i].tel);
     fprintf(out,"\n%s %s %s %s %s",mas[i].fam,mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
     window(17,4,37,8);
     clrscr();
  }
  window(2,2,40,9);
  textcolor(BLACK);
  textbackground(BLACK);
  clrscr();
  window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SearchFam(char *Parametr, FILE *out)
{
   char NotFound[20]="Записів не знайдено";
   char fam1[20]="", *p, *q;
   int i=0, j=0, m=0;
   rewind(out);
   window(3,13,52,24);
   textcolor(GREEN);
   textbackground(BLACK);
   clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel)==5)
   {
      strcpy(fam1,mas[i].fam);
      ToUpper(Parametr);
      ToUpper(fam1);
      p=fam1;
      q=Parametr;
      j=0;
      while(*p)
      {
     if (*p==*q)
       j++;
      p++;
      q++;
      }
      if (j==strlen(Parametr))
      {
     gotoxy(1,1+m);
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam,mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
     m++;
      }
      i++;
   }
   if (m==0)
      {
      window(5,2,30,4);
      MsgBox(5,2,NotFound);
      sleep(1);
      window(5,2,30,4);
      textbackground(BLACK);
      clrscr();
      }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SearchAdr(char *Parametr, FILE *out)
{
   char NotFound[20]=" Записів не знайдено ";
   char street[20]="", *p, *q;
   int i=0, j=0, m=0;
   rewind(out);
   window(3,13,52,24);
   textcolor(GREEN);
   textbackground(BLACK);
   clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel)==5)
   {
      strcpy(street,mas[i].street);
      ToUpper(Parametr);
      ToUpper(street);
      p=street;
      q=Parametr;
      j=0;
      while(*p)
      {
     if (*p==*q)
       j++;
      p++;
      q++;
      }
      if (j==strlen(Parametr))
      {
     gotoxy(1,m+1);
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
      cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam,mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
      m++;
      }
   i++;
   }
   if (m==0)
      {
      MsgBox(5,2,NotFound);
      sleep(1);
      window(5,2,30,4);
      textbackground(BLACK);
      clrscr();
      }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SearchBud(char *Parametr, FILE *out)
{
   char NotFound[20]=" Записів не знайдено ";
   int i=0,m=0;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel)==5)
   {
      if (strcmp(mas[i].bud,Parametr)==0)
      {
     gotoxy(1,m+1);
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
     m++;
      }
      i++;
   }
   if (m==0){
      MsgBox(5,2,NotFound);
      sleep(1);
      window(5,2,30,4);
      textbackground(BLACK);
      clrscr();
      }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SearchKv(char *Parametr, FILE *out)
{
   char NotFound[20]=" Записів не знайдено ";
   int i=0,m=0;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel)==5)
   {
      if (strcmp(mas[i].kv,Parametr)==0)
      {
     gotoxy(1,m+1);
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
     m++;
      }
   i++;
   }
   if (m==0){
      MsgBox(5,2,NotFound);
      sleep(1);
      window(5,2,30,4);
      textbackground(BLACK);
      clrscr();
      }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SearchTel(char *Parametr, FILE *out)
{
   char NotFound[20]=" Записів не знайдено ";
   int i=0,m=0;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel)==5)
   {
      if (strcmp(mas[i].tel,Parametr)==0)
      {
     gotoxy(1,m+1);
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
     m++;
      }
   i++;
   }
   if (m==0){
      MsgBox(5,2,NotFound);
      sleep(1);
      window(5,2,30,4);
      textbackground(BLACK);
      clrscr();
      }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SortFam(FILE *out)
{
   int i=0,j=0,kil=0;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[kil].fam, mas[kil].street,mas[kil].bud,mas[kil].kv,mas[kil].tel)==5)
      kil++;
   for(i=0;i<kil-1;i++)
   for(j=i+1;j<kil;j++)
   {
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
     mas[j].fam[0]=toupper(mas[j].fam[0]);
     mas[j].street[0]=toupper(mas[j].street[0]);
     if (strcmp(mas[i].fam,mas[j].fam)>0)
     {
    obmin=mas[i];
    mas[i]=mas[j];
    mas[j]=obmin;
     }
   }
   for (j=0; j<kil;j++)
   {
      gotoxy(1,j+1);
     cprintf("%13s%15s%6s%5s%11s\n",mas[j].fam, mas[j].street,mas[j].bud,mas[j].kv,mas[j].tel);
   }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SortAdr(FILE *out)
{
   int i=0,j=0,kil=0;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[kil].fam, mas[kil].street,mas[kil].bud,mas[kil].kv,mas[kil].tel)==5)
      kil++;
   for(i=0;i<kil-1;i++)
   for(j=i+1;j<kil;j++)
   {
     mas[i].fam[0]=toupper(mas[i].fam[0]);
     mas[i].street[0]=toupper(mas[i].street[0]);
     mas[j].fam[0]=toupper(mas[j].fam[0]);
     mas[j].street[0]=toupper(mas[j].street[0]);
     if (strcmp(mas[i].street,mas[j].street)>0)
     {
    obmin=mas[i];
    mas[i]=mas[j];
    mas[j]=obmin;
     }
   }
   for (j=0; j<kil;j++)
   {
      gotoxy(1,j+1);
     cprintf("%13s%15s%6s%5s%11s\n",mas[j].fam, mas[j].street,mas[j].bud,mas[j].kv,mas[j].tel);
   }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SortBud(FILE *out)
{
   int i=0,j=0,kil=0;
   long numb1;
   long numb2;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[kil].fam, mas[kil].street,mas[kil].bud,mas[kil].kv,mas[kil].tel)==5)
      kil++;
   for(i=0;i<kil-1;i++)
   for(j=i+1;j<kil;j++)
   {
     numb1=atol(mas[i].bud);
     numb2=atol(mas[j].bud);
     if (numb1>numb2)
     {
    obmin=mas[i];
    mas[i]=mas[j];
    mas[j]=obmin;
     }
   }
   for (j=0; j<kil;j++)
   {
     gotoxy(1,j+1);
     mas[j].fam[0]=toupper(mas[j].fam[0]);
     mas[j].street[0]=toupper(mas[j].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[j].fam, mas[j].street,mas[j].bud,mas[j].kv,mas[j].tel);
   }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SortKv(FILE *out)
{
   int i=0,j=0,kil=0;
   long numb1;
   long numb2;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[kil].fam, mas[kil].street,mas[kil].bud,mas[kil].kv,mas[kil].tel)==5)
      kil++;
   for(i=0;i<kil-1;i++)
   for(j=i+1;j<kil;j++)
   {
     numb1=atol(mas[i].kv);
     numb2=atol(mas[j].kv);
     if (numb1>numb2)
     {
    obmin=mas[i];
    mas[i]=mas[j];
    mas[j]=obmin;
     }
   }
   for (j=0; j<kil;j++)
   {
     gotoxy(1,j+1);
     mas[j].fam[0]=toupper(mas[j].fam[0]);
     mas[j].street[0]=toupper(mas[j].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[j].fam, mas[j].street,mas[j].bud,mas[j].kv,mas[j].tel);
   }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
void SortTel(FILE *out)
{
   int i=0,j=0,kil=0;
   long numb1;
   long numb2;
   rewind(out);
   window(3,13,52,24);
      textcolor(GREEN);
      textbackground(BLACK);
      clrscr();
   while (fscanf(out,"%s %s %s %s %s\n",mas[kil].fam, mas[kil].street,mas[kil].bud,mas[kil].kv,mas[kil].tel)==5)
      kil++;
   for(i=0;i<kil-1;i++)
   for(j=i+1;j<kil;j++)
   {
     numb1=atol(mas[i].tel);
     numb2=atol(mas[j].tel);
     if (numb1>numb2)
     {
    obmin=mas[i];
    mas[i]=mas[j];
    mas[j]=obmin;
     }
   }
   for (j=0; j<kil;j++)
   {
     gotoxy(1,j+1);
     mas[j].fam[0]=toupper(mas[j].fam[0]);
     mas[j].street[0]=toupper(mas[j].street[0]);
     cprintf("%13s%15s%6s%5s%11s\n",mas[j].fam, mas[j].street,mas[j].bud,mas[j].kv,mas[j].tel);
   }
   window(1,1,80,25);
}
//-------------------------------------------------------------------------
char *ToUpper(char *str)
{
  int i=0;
  while (str[i])
  {
       str[i]=toupper(str[i]);
       i++;
  }
  return str;
}
//-------------------------------------------------------------------------
void Add(FILE *out, int kil)
{
  int Padd=0, i=0, numb;
  char k;
  window(1,1,80,25);
  gotoxy(3,2);
  cprintf("Який запис редагувати(%d)",kil);
  gotoxy(28,2);
  cprintf("_\b");
  scanf("%d",&numb);
  label:
  do
  {
     if(Padd>5)
    Padd=0;
     if(Padd<0)
    Padd=5;
     textcolor(LIGHTBLUE);
     textbackground(BLACK);
     for(i=0; i<=5; i++)
     {
      gotoxy(3,i+3);
      if (i<=5)
     {
       textcolor(LIGHTGREEN);
       textbackground(BLACK);
       cprintf("Ю ЗІ");
       if (Padd==i)
          {
        textcolor(BLACK);
        textbackground(LIGHTRED);
          }
       cprintf("%s", ListAdd[i]);
       }
      else
       {
       textcolor(LIGHTBLUE);
       textbackground(BLACK);
       cprintf("ЮИІ");
    cprintf("%s",ListAdd[i]);
    cprintf("Юј");
    }}
     k=getch();
     switch(k)
     {
     case UP: Padd=Padd-1; break;
     case DOWN: Padd=Padd+1; break;
     default: ;
     }
     } while(k!=ENTER);
     switch(Padd)
     {
     case 0:
        window(17,3,37,8);
        textbackground(CYAN);
        gotoxy(5,1);
        textcolor(BLACK);
        textbackground(LIGHTGRAY);
        cprintf("            ");
        gotoxy(5,1);
        scanf("%s",mas[numb-1].fam);
        window(21,3,37,8);
        textbackground(BLACK);
        clrscr();
        getch();
        Print(kil);
        break;
     case 1:
        window(17,3,37,8);
        textbackground(CYAN);
        gotoxy(5,2);
        textcolor(BLACK);
        textbackground(LIGHTGRAY);
        cprintf("            ");
        gotoxy(5,2);
        scanf("%s",mas[numb-1].street);
        window(21,3,37,8);
        textbackground(BLACK);
        clrscr();
        getch();
        Print(kil);
        break;
     case 2:
        window(17,3,37,8);
        textbackground(CYAN);
        gotoxy(5,3);
        textcolor(BLACK);
        textbackground(LIGHTGRAY);
        cprintf("            ");
        gotoxy(5,3);
        scanf("%s",mas[numb-1].bud);
        window(21,3,37,8);
        textbackground(BLACK);
        clrscr();
        getch();
        Print(kil);
        break;
     case 3:
        window(17,3,37,8);
        textbackground(CYAN);
        gotoxy(5,4);
        textcolor(BLACK);
        textbackground(LIGHTGRAY);
        cprintf("            ");
        gotoxy(5,4);
        scanf("%s",mas[numb-1].kv);
        window(21,3,37,8);
        textbackground(BLACK);
        clrscr();
        getch();
        Print(kil);
        break;
     case 4:
        window(17,3,37,8);
        textbackground(CYAN);
        gotoxy(5,5);
        textcolor(BLACK);
        textbackground(LIGHTGRAY);
        cprintf("            ");
        gotoxy(5,5);
        scanf("%s",mas[numb-1].tel);
        window(21,3,37,8);
        textbackground(BLACK);
        clrscr();
        getch();
        Print(kil);
        break;
     case 5:
        window(2,2,40,8);
        textbackground(BLACK);
        clrscr();
        for (int e=0; e<kil; e++)
           fprintf(out, "%s %s %s %s %s\n",mas[e].fam, mas[e].street,mas[e].bud,mas[e].kv,mas[e].tel);
        return ;
        break;
     default: ;
     }
     goto label;
}
//-------------------------------------------------------------------------
void Del(FILE *out, int kil)
{
  int n;
  window(5,2,37,4);
  textcolor(GREEN);
  textbackground(BLACK);
  for(int i=2; i<=32; i++)
  {
     gotoxy(i,1);
     cprintf("Н");
     gotoxy(i,3);
     cprintf("Н");
  }
  textcolor(GREEN);
  textbackground(BLACK);
  gotoxy(1,1);
  cprintf("Й");
  gotoxy(1,2);
  cprintf("є");
  gotoxy(1,3);
  cprintf("И");
  gotoxy(32,1);
  cprintf(""");
  gotoxy(32,2);
  cprintf("є");
  gotoxy(32,3);
  cprintf("ј");
  gotoxy(2,2);
  textcolor(GREEN);
  textbackground(YELLOW);
  cprintf("Який запис видалити(%d шт):", kil);
  gotoxy(30,2);
  textcolor(GREEN);
  textbackground(YELLOW);
  cscanf("%d",&n);
  rewind(out);
  for ( i=0;i<n-1;i++)
      fprintf(out,"%s %s %s %s %s\n",mas[i].fam, mas[i].street,mas[i].bud,mas[i].kv,mas[i].tel);
  for (int l=n;l<kil;l++)
      fprintf(out,"%s %s %s %s %s\n",mas[l].fam, mas[l].street,mas[l].bud,mas[l].kv,mas[l].tel);
  window(5,2,37,4);
  textcolor(GREEN);
  textbackground(BLACK);
  clrscr();
  window(3,13,52,24);
  textcolor(WHITE);
  textbackground(BLACK);
  clrscr();
  window(1,1,80,25);
}
//-------------------------------------------------------------------------
void Table()
{
  int i;
  textcolor(LIGHTCYAN);
  textbackground(DARKGRAY);
  window(1,1,80,25);
  gotoxy(2,10);
  cprintf("ЙННННННННННННННННЛННННННННННННЛНННННЛННННЛННННННННН"");
  gotoxy(2,11);
  cprintf("є    I*iжia"Ё    є   A¤аeбa   є Ѓг¤ є Kў є Te"eдo* є");
  gotoxy(2,12);
  cprintf("МННННННННННННННННКННННННННННННКНННННКННННКННННННННН№");
  for(i=1; i<=12; i++)
  {
    gotoxy(2,12+i);
    cprintf("є");
    gotoxy(53,12+i);
    cprintf("є");
  }
  textcolor(LIGHTCYAN);
  textbackground(BLACK);
  gotoxy(2,12+i);
  cprintf("ИННННННННННННННННННННННННННННННННННННННННННННННННННј");
}
//-------------------------------------------------------------------------
void Frame(int x1, int y1, int x2, int y2)
{
   int i;
   window(x1,y1,x2,y2);
   textcolor(BLACK);
   textbackground(LIGHTGRAY);
   for(i=1; i<=x2-x1; i++)
   {
      gotoxy(i,1);       cprintf("Н");
      gotoxy(i,y2-y1);   cprintf("Н");
   }
   for(i=1; i<=y2-y1; i++)
   {
      gotoxy(1,i);       cprintf("є");
      gotoxy(x2-x1,i);   cprintf("є");
   }
   gotoxy((int)((x2-x1)/2)-(int)(14/2),1);
   cprintf("Введення даних");
   textcolor(BLACK);
   textbackground(LIGHTGRAY);
   gotoxy(1,1);          cprintf("Й");
   gotoxy(x2-x1,1);      cprintf(""");
   gotoxy(1,y2-y1);      cprintf("И");
   gotoxy(x2-x1,y2-y1);  cprintf("ј");
   window(x1+1,y1+1,x2-2,y2-2);
   clrscr();
   window(1,1,80,25);
}
//-------------------------------------------------------------------------

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы