Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
1

Как работает функция?

15.06.2009, 18:49. Показов 1234. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Обьясните как работает эта функция:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
void SearchFam(char *Parametr, FILE *out)
{
   char NotFound[20]="Records do not found";
   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);
}
я знаю, что она делает... но как.. это уже пробелма)) подскажите.

Добавлено через 18 часов 1 минуту 41 секунду
Это функция ищет елементы структуры записаной в файл.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2009, 18:49
Ответы с готовыми решениями:

Как функция работает,в обработчике не работает
В таком виде все прекрасно работает (function ($) { $.fn.percent = function...

Как работает функция?
Добрый день! Уважаемые программисты! Помогите разобраться с функцией, как она работает. Или...

Как работает функция
$res1 = file_get_contents('...'); $res2 = file_get_contents('...'); Вопрос, эти функции...

Как работает функция в с++?
Здравствуйте,я только учусь с++ и тут же у меня вопрос как работает функция? что возвращает...

9
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
15.06.2009, 18:59 2
А чего не понятного?
Функция получает параметром фамилию, далее из файла считываются данные до тех пор, пока не закончатся записи, при этом для каждой записи сравнивается побуквенно переданный параметр и значение из файла, считанное в переменную
mas[i].fam (перед сравнением обе величины переводятся в верхний регистр)
0
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
15.06.2009, 19:04  [ТС] 3
а зачем переменные
C
1
i=0, j=0, m=0;
?
0
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
15.06.2009, 19:13 4
переменная m - это счетчик совпадений... В данном случае если m = 0, то не нашли совпадений, выводим сообщение Records do not found, в противном случае отображаем окно window(1,1,80,25);

переменная i - счетчик строк в файле, нужна для обращения к каждой строке (в цикле строки перебираются)

переменная j - счетчик букв.... Т.е. при проверке побуквенно переданного в функцию параметра и считанного из файла j увеличивается... И если j становится равным длинне переданного параметра (что равносильно тому, что слова совпали), то увеличиваем m, т.е. подтверждаем нахождение совпадения
0
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
15.06.2009, 19:23  [ТС] 5
понятно!
Тот же самый вопрос по функции:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);
}
что в ней за переменные
C
1
int i=0,j=0,kil=0;
?
0
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
15.06.2009, 19:32 6
kil - то же, что и i в предыдущей
i и j - переменные для перебора вложенного цикла, в котором сравниваются названия улиц соседних строк и которые затем сортируются
0
9 / 9 / 2
Регистрация: 01.05.2009
Сообщений: 127
16.06.2009, 23:55 7
Извините,а равзе в этом участке кода:
C++
1
2
3
4
  if (*p==*q)
           j++;
          p++;
          q++;
не нужно разименовывать указатели???
0
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
17.06.2009, 00:16 8
Не нужно,перегрузка оператора ++ определена именно для указателя,а не для того,на что он указывает.(Так вроде ) После этой операции указатель указывает на следующий элемент в памяти.
0
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
17.06.2009, 00:45  [ТС] 9
не наю,что там нужно, но все работатет нормально..писал чисто интуитивно... но работает))
0
9 / 9 / 2
Регистрация: 01.05.2009
Сообщений: 127
17.06.2009, 07:25 10
ясн)))Спасиб)
0
17.06.2009, 07:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2009, 07:25
Помогаю со студенческими работами здесь

Как работает функция?
int chsim() { if (ef) return *usim=EOF; usim++; if(*usim!='*' &amp;&amp; *(usim+1)!='') { ...

Объясните , пожалуйста, как работает функция и как изменяются переменные a, b,c
Объясните , пожалуйста, как работает функция и как изменяются переменные a, b,c #include...

Как работает функция GetAsyncKeyState, как проверить её результат(именно наименьший бит)
#include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; int _tmain(int argc, _TCHAR* argv) { SHORT s = 0;...

Как понять как работает эта функция в Haskell?
Я смотрю обучающее видео по haskell: https://www.youtube.com/watch?v=43zCXDb5dQ4&amp;t=1954s Там на...

Как можна посмотреть как работает функция GetCurrentDir?
Киньте пример

Функция seekg() как работает?
Надо считывать из бинарного файла числа, которые стоят на четных позициях. Надо использовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru