Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.09.2018, 13:49   #1
Dasstan24
Новичок
 
Регистрация: 16.09.2018
Сообщений: 1
Репутация: 10
Сообщение Администрирование пользователей на С++. Прошу помочь советом.

Здравствуйте, Задачка на языке программирования С++. Вот уже несколько недель не могу никак решить одну задачу. Поясню: Необходимо создать n-ное количество пользователей, в числе которых есть админ, и несколько простых пользователей. Также есть гипотетические файлы: File1, File2, File 3. Необходимо в консоли сделать запрос на логин-пароль, а затем, при успешной авторизации, необходимо перечислить пользователю какие у него права на каждый файл. И если этот польз. выбрать какой либо файл, должно выйти сообщение что ему можно только чиатть/просматривать/изменять данный файл.
Авторизацию я сделал, файлы создал, но условия их просмотра/изменения для всех пользователей одинаковая. Как можно написать код, чтобы у каждого юзера был разный доступ????? Дайте пожалуйста совет.
Вот исходный код:
Код:

#include <conio.h>
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
bool check(string, string);
int main(){
	bool flag = false;
	string log = "";
	string login;
	string pass;
	string pravila[3] = { "Полный доступ", "Чтение", "Запись" };
	string file[3] = { "File1", "File2", "File3" };
	int count;
	setlocale(LC_ALL, "russian");
	cout << "Введите логин:";
	cin >> login;
	cout << "Ввидите пароль:";
	cin >> pass;
	flag = check(login, pass);
	if (flag == true){
		cout << "Welcome, " << login << endl;
	}
	else{
		cout << "Ошибка! Неправильный логин или пароль!" << endl;
		main();
	}
	for (int i = 0; i != 3; i++){
		cout << "Перечень ваших прав: " << login << endl;
		cout << file[0] + "-" << pravila[i + 1] << endl;
		cout << file[1] + "-" << pravila[i + 2] << endl;
		cout << file[2] + "-" << pravila[i + 1] << endl;
		break;
	}

	cout << "Выберите файл, который хотите просмотреть: " << endl 
		<< "File1" << endl
		<< "File2" << endl
		<<"File3"<<endl;
	cin >> count;

	switch (count){
	case 1:{
		cout << "Данные о сотрудниках. Вы имеете право читать данный файл. "<<endl;
		break;
	}
	case 2:{
			   cout << "Диск Д. Вы имеете право записывать свои данные в этот файл." << endl;
			   break;
			   
	} 
	case 3:{
			   cout << "Данные о пользователях. Вы имеете право только просматривать данные файлы." << endl;
	}
	default: cout << "Такой файл не найден";
}
	
	cout << "Для завершения операции нажмите любую кнопку";

		_getch();
		return 0;
}
bool check(string login, string pass){
	if (login == "Admin" && pass == "123"){
		return true;
	}
	if (login == "User1" && pass == "654"){
		return true;
	}
	if (login == "User2" && pass == "785"){
		return true;
	}

	else return false;
}

Dasstan24 вне форума   Ответить с цитированием
Старый 16.09.2018, 15:18   #2
ViktorR
Профессионал
 
Регистрация: 23.10.2010
Сообщений: 1,151
Репутация: 603
По умолчанию

Как это сделать на С++ я не знаю, но могу посоветовать обратить внимание на утилиту Net, которая может много чего. Google вам в помощь.
Думаю, что в С++ есть процедура для запуска сторонних исполняемых файлов, а как к утилите Net добавить параметры ...
__________________
Как-то так, ...
ViktorR вне форума   Ответить с цитированием
Старый 16.09.2018, 15:53   #3
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,799
Репутация: 3300

icq: 512-765
skype: alexp.frl
По умолчанию

Причем тут утилиты? Судя по коду это просто учебная симуляция, без реальных пользователей/файлов в ОС.

И да, я так и не понял что автор спросить хотел и в чем проблема.
По аналогии с check несложно ж что-то сделать с правами и именами файлов.
Alex11223 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь! Sabiks Помощь студентам 1 07.11.2017 13:32
Очень прошу, помогите советом SOFIA) Свободное общение 17 06.11.2013 22:59
Алгоритмы. Не прошу решить. Прошу помочь! pascaluser Паскаль 2 12.10.2012 08:45
Прошу помощи советом Melords Помощь студентам 5 15.07.2009 08:41
Прошу помоч советом CPU Общие вопросы C/C++ 4 27.12.2008 23:23


06:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru