Ввести логин и в соответствие с его правами вывести на экран доступную ему информацию - C (СИ)
Формулировка задачи:
в программе исходные данные это 2 таблички. одна табличка с информацией с грифами(o-открытая,s-секретная и ss-совершенно секретная, 2 табличка логинов с правами. значить нада ввсести логин и в соответствие с его правами вывести на экран дочтупную ему информацию(ss-вся, s-s и o, o-только o)значит на логинн с ss сделал и дальше на s в операторе ветвления ему чего то не нравитьсяю помогите
#include <stdio.h> #include <conio.h > void main() { char *list[5][2]; char *log[5][2]; int i,j,z; char name[20],mass[5]; log[0][0] = "vasia"; log[1][0] = "gena"; log[2][0] = "kolia"; log[3][0] = "wadim"; log[4][0] = "maxim"; log[0][1] = "o"; log[1][1] = "o"; list[2][1] = "s"; list[3][1] = "ss"; log[4][1] = "o"; list[0][0] = "pravila"; list[1][0] = "zarplata"; list[2][0] = "premia"; list[3][0] = "dannie sotrudnikov"; list[4][0] = "paroli"; list[0][1] = "o"; list[1][1] = "o"; list[2][1] = "o"; list[3][1] = "s"; list[4][1] = "ss"; //*********************************************************************** for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) printf("%s ", list[i][j]); printf("\n"); } //******************************************************************** printf("press login:"); scanf("%s",name); printf("\n"); //***************************************************************** for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) { if (name==log[i][j]) z=i; }} //***************************************************************** if (log[z][1]="ss") for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) printf("%s ", list[i][j]); printf("\n"); } //************************************************************** if (log[z][1]="s") for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) if (list[i][j]="s")||(list[i][j]=o) printf("%s ", list[i][j]); printf("\n"); } getch(); }
Решение задачи: «Ввести логин и в соответствие с его правами вывести на экран доступную ему информацию»
textual
Листинг программы
#include <stdio.h> #include <conio.h > void main() { char *list[5][2]; char *log[5][2]; int i,j,z; char name[20],mass[5]; log[0][0] = "vasia"; log[1][0] = "gena"; log[2][0] = "kolia"; log[3][0] = "wadim"; log[4][0] = "maxim"; log[0][1] = "o"; log[1][1] = "o"; list[2][1] = "z"; list[3][1] = "ss"; log[4][1] = "o"; list[0][0] = "pravila"; list[1][0] = "zarplata"; list[2][0] = "premia"; list[3][0] = "dannie sotrudnikov"; list[4][0] = "paroli"; list[0][1] = "o"; list[1][1] = "o"; list[2][1] = "o"; list[3][1] = "s"; list[4][1] = "ss"; //*********************************************************************** for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) printf("%s ", list[i][j]); printf("\n"); } //******************************************************************** printf("press login:"); scanf("%s",name); printf("\n"); //***************************************************************** for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) { log[z][1]="qwerty"; if (name==log[i][j]) z=i; }} //***************************************************************** log[z][1]="asd"; if (log[z][1]="ss") for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) printf("%s ", list[i][j]); printf("\n"); } //************************************************************** log[z][1]="asd"; if (log[z][1]="z") for(i = 0; i < 5; ++i) { for(j = 0; j < 2; ++j) if (list[i][j]=="z" || list[i][j]=="o") printf("%s ", list[i]); printf("\n"); } getch(); }
Объяснение кода листинга программы
- В коде объявлены две матрицы строк:
log
иlist
. - В
log
матрице содержатся логины пользователей, а вlist
- информация, которую пользователь может получить в зависимости от своих прав. - Логин пользователя вводится с клавиатуры и сохраняется в переменной
name
. - Далее идет поиск в матрице
log
совпадений с логином пользователя. Если совпадение найдено, то в переменнойz
сохраняется номер строки с логином пользователя. - Затем происходит вывод информации из матрицы
list
соответствующей пользователю. - Если пользователь имеет права
z
, то выводится информация из матрицыlist
для всех пользователей. - В конце программы ожидается нажатие клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д