проходять в циклі по всьому списку
node * current=first; i=1; s; .enter_name () ;. enter_group (); ( cls ); ( # | Група | ФаміліяІмяОтчество | О.1 | О.2 | О.3 | Соц |nraquo;);(laquo;----|--------|-------------------------------------|-----|-----|-----|-----|nraquo;);(current !=NULL) {stud=current- gt; data; (strcmp (s.name, stud.name) == 0 amp; amp; strcmp (s.group, stud.group) == 0) {(% 3d |% 6s |% 35s |% 3d |% 3d |% 3d |% 3s | n raquo ;, i, stud.group, stud.name, stud.mark [0], stud.mark [1] ,. mark [2], stud.social?laquo;Даraquo;: Ні );
} ++;=current- gt; next;
}(laquo;----|--------|-------------------------------------|-----|-----|-----|-----|nraquo;);
}
}; complete_target () {
//якщо розмір дорівнює 0, то виводимо попередження
if (size == 0) {( cls ); ( Спісокпуст! n );
} else {
//інакше малюємо красиву таблицю, проходять в циклі по всьому списку
node * current=first; i=1; s; .enter_group (); ( cls ); ( # | Група | Прізвище Ім'я По батькові |% - 7s | Соц |%- 9s | n raquo ;, Ср.балл raquo ;, laquo;Стипендияraquo;);(laquo;---|--------|-------------------------------------|---------|-----|-----------|nraquo;);(current !=NULL) {stud=current- gt; data; (strcmp (stud.group, s.group) == 0) {income; avg=stud.mark [0] + stud.mark [1] + stud.mark [2]; /=3; (avg gt; 4) {= MIN_INCOME; (avg gt;=8 amp; amp; stud.social) {+=MIN_INCOME/2;
} else if (avg gt;=8) {+=MIN_INCOME/4;
}
} else {= 0;
} (% 2d |% 6s |% 35s |% - 7d |% 3s |% - 9d | n raquo ;, i, stud.group, stud.name, avg, .social ? Так : Ні raquo ;, income);
} ++;=current- gt; next;
}(laquo;---|--------|-------------------------------------|---------|-----|-----------|nraquo;);
}
};
};
# pragma once
//структура з даними про користувача
struct user_data ??p>
{
//логінlogin [15];
//пароль [15];
//права доступу [6];
//забанено або нетactive;
//функція для початкової ініціалізації
void init (char * prights) {
strcpy (rights, prights);=true;
}
//вводлогінаenter_login () {( cls );
printf ( Введіть логін. Пам'ятайте, що максимальна довжина логіна 15 символів! n ); ( gt ;: ); (stdin);
//через fgets щоб не набрати більше 15 символів
fgets (login, 15, stdin); [strlen (login) - 1]= 0 raquo ;;
}
//вводпароляenter_password () {symbol; index=0; ( cls ); ( Введіть пароль. Пам'ятайте, що максимальна довжина пароля 15 символів! n ); ( gt ;: );
{
//читаємо посимвольно (stdin);
symbol=_getch (); (symbol)
{8:
//якщо клавіша видалення, видаляємо останній символ з консолі
if (index gt; 0) {( b b );
index -;
}; 13:
//якщо enter, то ставимо нуль-символ
password [index]= 0 raquo ;;;
default:
//якщо щось інше, то зберігаємо введений символ і виводимо на екран зірочку
password [index]=symbol; [index + 1]= 0 raquo ;;
_ putch ( * ); ++ ;;
}
} while (symbol!=13 amp; amp; index lt; 15);
//наприкінці введення шифруємо пароль ();
}
//шифрування пароляencrypt () {* result=new char [strlen (password)];
int hash=0;
//множимо довжину пароля на 11=11 * strlen (password);
//додаємо до отриманого раніше результату код кожного символу, помножений на 11
for (int i=0; i lt; strlen (password) - 1; i ++) {
hash *=11 * password [i];
}
//з інта переробляємо в char, в 16-річної системі числення, таким чином отримуємо зашифрований пароль
_ itoa (hash, result, 16);
//копіюємо зашифрований пароль
strcpy (password, resu...