Ввести логин и в соответствие с его правами вывести на экран доступную ему информацию - C (СИ)

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

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

в программе исходные данные это 2 таблички. одна табличка с информацией с грифами(o-открытая,s-секретная и ss-совершенно секретная, 2 табличка логинов с правами. значить нада ввсести логин и в соответствие с его правами вывести на экран дочтупную ему информацию(ss-вся, s-s и o, o-только o)
#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();
}
значит на логинн с ss сделал и дальше на s в операторе ветвления ему чего то не нравитьсяю помогите

Решение задачи: «Ввести логин и в соответствие с его правами вывести на экран доступную ему информацию»

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();
}

Объяснение кода листинга программы

  1. В коде объявлены две матрицы строк: log и list.
  2. В log матрице содержатся логины пользователей, а в list - информация, которую пользователь может получить в зависимости от своих прав.
  3. Логин пользователя вводится с клавиатуры и сохраняется в переменной name.
  4. Далее идет поиск в матрице log совпадений с логином пользователя. Если совпадение найдено, то в переменной z сохраняется номер строки с логином пользователя.
  5. Затем происходит вывод информации из матрицы list соответствующей пользователю.
  6. Если пользователь имеет права z, то выводится информация из матрицы list для всех пользователей.
  7. В конце программы ожидается нажатие клавиши.

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


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

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

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