Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Здравствуйте, Задачка на языке программирования С++. Вот уже несколько недель не могу никак решить одну задачу. Поясню: Необходимо создать 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, 14:18   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

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

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

И да, я так и не понял что автор спросить хотел и в чем проблема.
По аналогии с check несложно ж что-то сделать с правами и именами файлов.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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