Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Управление системой через C++

Ответить
Настройки темы
C/C++ - Управление системой через C++

Аватара для XEN_STRANGER

Старожил


Сообщения: 158
Благодарности: 4

Профиль | Отправить PM | Цитировать


Всем доброе время суток...

У меня появилась идея сделать прогу, которая например сможет извлеч/вставить диск в приводе, выключить, перезагрузить комп и тому подобное. Но и при возможности переходить в фоновый режим, дабы быть незаметной и всё это на c++. Нет я не ставлю себе цель сделать вирус, порсто небольшой прикол для учительницы по информатике. Но так же и добавить некоторые функции в свой проэкт...

Кто чем может, помогите, заранее спасибо.

Отправлено: 11:46, 24-03-2009

 

Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Busla, про API я знаю (в ссылках на факи там и есть описание API), просто я сейчас хочу из своей проги запустить другую, а ничего не выходит , ну и я зациклился на запуске программ .
ПЫСЫ: Уже вышло , спс Busla.

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 11:33, 25-03-2009 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для XEN_STRANGER

Старожил


Сообщения: 158
Благодарности: 4

Профиль | Отправить PM | Цитировать


Кто-нибудь может выложить пример кода, который выключает комп?

Отправлено: 11:58, 25-03-2009 | #12


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата XEN_STRANGER:
пример кода, который выключает комп »
Код: Выделить весь код
ExitWindowsEx(EWX_SHUTDOWN, 0);

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 13:22, 25-03-2009 | #13


Аватара для XEN_STRANGER

Старожил


Сообщения: 158
Благодарности: 4

Профиль | Отправить PM | Цитировать


Drongo,
Цитата Drongo:
ExitWindowsEx(EWX_SHUTDOWN, 0); »
Так, это функция значит, а никаких инклудов не надо?
Рас уж это не так сложно выложи пожалуйсто ещё перезагрузку и если можно закрытие самой проги

Отправлено: 15:14, 25-03-2009 | #14


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


XEN_STRANGER, Выложишь потом программу, что написал?
Цитата XEN_STRANGER:
Так, это функция значит, а никаких инклудов не надо? »
Нет, никаких, в обработчик ставишь.
Цитата XEN_STRANGER:
выложи пожалуйсто ещё перезагрузку »
Код: Выделить весь код
ExitWindowsEx(EWX_REBOOT, 0);
Цитата XEN_STRANGER:
если можно закрытие самой проги »
Код: Выделить весь код
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Close();
}
...

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 15:43, 25-03-2009 | #15


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Цитата Drongo:
XEN_STRANGER, Выложишь потом программу, что написал? »
Только клади в виде исходников, а то скопиленый вариант ещё компа поломает

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 16:55, 25-03-2009 | #16


Аватара для XEN_STRANGER

Старожил


Сообщения: 158
Благодарности: 4

Профиль | Отправить PM | Цитировать


crashtuak, Вот, доволен?

Код: Выделить весь код
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <cmath>

using namespace std;

typedef struct _CONSOLE_FONT_INFOEX 
{
  ULONG cbSize;
  DWORD nFont;
  COORD dwFontSize;
  UINT  FontFamily;
  UINT  FontWeight;
  WCHAR FaceName[LF_FACESIZE];
} 
CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;

typedef BOOL (WINAPI *SETCONSOLEFONT)(HANDLE, DWORD);     // прототип недокументированый функции для XP

typedef BOOL (WINAPI *SETCURRENTCONSOLEFONTEX)(HANDLE,BOOL, PCONSOLE_FONT_INFOEX);  // для vista
SETCURRENTCONSOLEFONTEX SetCurrentConsoleFontEx  ;
SETCONSOLEFONT SetConsoleFont;



unsigned int GetFib (unsigned int position);
int physic ();
int gorenie ();
int nagrev ();
int math ();
int x2yravn ();
double GetX2yravn (double a, double b, double c, double* x1, double* x2);
int fibmain ();
int backer ();


// -------------------------Главное меню---------------------------------------------------------------------

int main ()
{

  OSVERSIONINFOEX osvi;
  CONSOLE_FONT_INFOEX cfon;
  ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
  osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
  GetVersionEx((OSVERSIONINFO *) &osvi) ;   // получение версии винды
  HMODULE hmod = GetModuleHandleA("KERNEL32.DLL");     // функции 
  if (osvi.dwMajorVersion<6) 
  {     
	 SetConsoleFont =(SETCONSOLEFONT) GetProcAddress(hmod, "SetConsoleFont");   // берем  адрес функции
	 if (!SetConsoleFont) {cout<<"error\n" ; exit(1);}   //   если ошибка
	 SetConsoleFont(GetStdHandle(STD_OUTPUT_HANDLE),10);  // устанавливаем 10 шрифт..
	//эксперементально установил что в обычной XP  это Lucida  Console 14.

  }  
  else
  {
	 SetCurrentConsoleFontEx =(SETCURRENTCONSOLEFONTEX) GetProcAddress(hmod, "SetCurrentConsoleFontEx");   // берем  адрес  функции
	 if (!SetCurrentConsoleFontEx) {cout<<"error\n" ; exit(1);}   //   если ошибка
	 ZeroMemory(&cfon, sizeof(CONSOLE_FONT_INFOEX));
	 cfon.cbSize=sizeof(CONSOLE_FONT_INFOEX);
	 //cfon.nFont=10;
	 cfon.FontFamily=54;   //   Lucida  Console
	 if (!SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), false, &cfon)) cout<<"error";
  }

  SetConsoleOutputCP(1251) ;  // устанавливаем кодировку вывода
  





	unsigned short int choise;

	cout << "-----START_Makros_2.0-------------------------------------------" << endl << endl;
	cout << "Выберите пункт, введя число\n\n";
	cout << "1-Физика      2-Математика";
	cout << endl;
	cout << "\nПункт - ";
	cin >> choise;
	cout  << endl;
	if (choise == 1)
	{
		physic ();
	}
	if (choise == 2)
	{
        math ();  
    }
	if ((choise != 1) && (choise != 2))
	{
	    cout << "<Ошибка! Введите коректное число!>" << endl << endl << endl;
		return main ();
	}

	return 0;
}

// -------------END-------------------------------------------------------------------------------------






//---------------Раздел физика--------------------------------------------------------------------------

int physic ()
{   
	unsigned short int choiseP; 
	cout << "-----NEXT-------------------------------------------------------" << endl;
    cout << "Раздел физики" << endl;
	cout << "Выбор формулы:\n\n";
	cout << "1-Нагревание     2-Горение";
	cout << endl;
	cout << "\nФормула - ";
    cin >> choiseP;
	cout  << endl << endl;
	if (choiseP == 1)
	{
        nagrev ();
	}
	if (choiseP == 2)
	{
		gorenie ();
	}

    if ((choiseP != 1) && (choiseP != 2))
	{
	    cout << endl << "<Ошибка! Введите коректное число!>";
		return physic ();
	}

	return 0;

}

//--------------------------------------------------------------------------------------------------------------






//----------------------Функция нагревания----------------------------------------------------------------------

int nagrev ()
{
	const int N_zolot=130, N_rtyt=140, N_svinecc=140, N_olovo=230, N_serebro=250, N_med=400, N_ccink=400, N_latyn=400,
		      N_zhelezo=460, N_stal=500, N_chugyn=540, N_graphit=750, N_labsteklo=840, N_kirpich=880, N_alumini=920,
			  N_maslopodsol=1700, N_led=2100, N_kerosin=2100, N_efir=2350, N_derevodyb=2400, N_spirt=2500, N_voda=4200;

	unsigned short int choise1;
	unsigned short int back;
    cout << "-----NEXT-------------------------------------------------------" << endl;
	cout << "Вычисление энергии нагревания вещества" << endl << endl;
	cout << "Выбор вещества:\n\n";
	cout << "1-Золото       2-Ртуть      3-Свинец       4-Олово        5-Серебро"; 
	cout << endl << "6-Медь         7-Цинк       8-Латунь       9-Железо       10-Сталь"; 
	cout << endl << "11-Чюгун       12-Графит    13-Лаб стекло  14-Кирпич      15-Алюминий";
	cout << endl << "16-Масло       17-Лёд       18-Керосин     19-Эфир        20-Дерево (Дуб)"; 
	cout << endl << "21-Спирт       22-Вода";
	cout << endl << "\nВещество - ";
	cin >> choise1;

	switch (choise1)
	{
	case 1: 
		{
	    cout << "Хорошо, введите массу золота";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_zolot;
        cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг золота выделилось " << Q << " Дж энергии" << endl;
		cout << "================================================================";
		}

		break;
	
	case 2:
		{
		cout << "Хорошо, введите массу ртути";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_rtyt;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг ртути выделилось " << Q << " Дж энергии" << endl;
		cout << "================================================================";
		}

		break;

    case 3:
		{
		cout << "Хорошо, введите массу свинца";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_svinecc;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг свинца выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 4:
		{
		cout << "Хорошо, введите массу олова";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_olovo;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг олова выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 5:
		{
		cout << "Хорошо, введите массу серебра";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_serebro;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг серебра выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;
	
	case 6:
		{
		cout << "Хорошо, введите массу меди";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_med;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг меди выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 7:
		{
		cout << "Хорошо, введите массу цинка";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_ccink;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг цинка выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 8:
		{
		cout << "Хорошо, введите массу латуни";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_latyn;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг латуни выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 9:
		{
		cout << "Хорошо, введите массу железа";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_zhelezo;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг железа выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

    case 10:
		{
		cout << "Хорошо, введите массу стали";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_stal;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг стали выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 11:
		{
		cout << "Хорошо, введите массу чугуна";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_chugyn;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг чугуна выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 12:
		{
		cout << "Хорошо, введите массу графита";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_graphit;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг графита выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 13:
		{
		cout << "Хорошо, введите массу лабораторного стекла";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_labsteklo;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг лаб стекла выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 14:
		{
		cout << "Хорошо, введите массу кирпича";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_kirpich;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг кирпича выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 15:
		{
		cout << "Хорошо, введите массу алюминия";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_alumini;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг алюминия выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 16:
		{
		cout << "Хорошо, введите массу масла подсолнечного";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_maslopodsol;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг масла выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 17:
		{
		cout << "Хорошо, введите массу льда";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_led;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг льда выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 18:
		{
		cout << "Хорошо, введите массу керосина";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_kerosin;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг керосина выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 19:
		{
		cout << "Хорошо, введите массу эфира";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_efir;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг эфира выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 20:
		{
		cout << "Хорошо, введите массу древесины (Дуб)";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_derevodyb;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг древесины выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 21:
		{
		cout << "Хорошо, введите массу спирта";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_spirt;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг спирта выделилось" << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 22:
		{
		cout << "Хорошо, введите массу воды";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		long Q = mass * N_voda;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При нагревании " << mass << " кг воды выделилось " << Q << " Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	default:
		{
		cout << endl << "<Ошибка! Введите коректное число!>" << endl << endl;
		return nagrev ();
		}
	}
    
	backer ();
	
}

//----------------END-------------------------------------------------------------------------






//----------------Функция горения-------------------------------------------------------------

int gorenie ()
{
    const double S_poroh=0.38, S_torph=1.4, S_kamugol=2.7, 
		         S_spirt=2.7, S_drovugol=3.4, S_gas=4.4,
			     S_neft=4.4, S_benzin=4.6, S_kerosin=4.6;

	const unsigned int S_drova=1, S_antracit=3, S_vodorod=12;

	unsigned short int choise2;
    unsigned short int back;
    cout << "-----NEXT-------------------------------------------------------" << endl;
	cout << "Вычисление энергии от сгоревшего топлива" << endl << endl;
	cout << "Выбор топлива:\n\n";
	cout << "1-Порох       2-Дрова       3-Торф       4-Каменный уголь       5-Спирт"; 
	cout << endl << "6-Антрацит    7-Др уголь    8-Газ        9-Нефть                10-Бензин";   
	cout << endl << "11-Керосин    12-Водород";
	cout << endl;
	cout << "\nТопливо - ";
    cin >> choise2;
	switch (choise2)
	{
	case 1:
		{
		cout << "Хорошо, введите массу пороха";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_poroh;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг пороха выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 2:
		{
        cout << "Хорошо, введите массу дров";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		unsigned int Q = mass * S_drova;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг дров выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 3:
		{
        cout << "Хорошо, введите массу торфа";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_torph;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг торфа выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 4:
		{
        cout << "Хорошо, введите массу каменного угля";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_kamugol;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг угля выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 5:
		{
        cout << "Хорошо, введите массу спирта";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_spirt;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании  " << mass << " кг спирта " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 6:
		{
        cout << "Хорошо, введите массу антрацита";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		unsigned int Q = mass * S_antracit;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг антрацита выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 7:
		{
        cout << "Хорошо, введите массу древесного угля";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_drovugol;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг др угля выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 8:
		{
        cout << "Хорошо, введите массу газа";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_gas;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг газа выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 9:
		{
        cout << "Хорошо, введите массу нефти";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_neft;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг нефти выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 10:
		{
        cout << "Хорошо, введите массу бензина";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_benzin;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг бензина выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 11:
		{
        cout << "Хорошо, введите массу керосина";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		double Q = mass * S_kerosin;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг керосина выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	case 12:
		{
        cout << "Хорошо, введите массу водорода";
		int mass;
		cout << endl;
		cout << "Масса - ";
		cin >> mass;
		unsigned int Q = mass * S_vodorod;
		cout << endl << "=====РЕЗУЛЬТАТ==================================================";
		cout << endl << "При сгорании " << mass << " кг водорода выделилось " << Q << " * 10000000 Дж энергии"<< endl;
		cout << "================================================================";
		}

		break;

	default:
		{
        cout << endl << "<Ошибка! Введите коректное число!>" << endl << endl;
		return gorenie ();
		}
    }
	
	backer ();

}

//----------END-----------------------------------------------------------------------------------





//---------------Раздел математика----------------------------------------------------------------

int math ()
{   
	unsigned short int choiseM; 
	cout << "-----NEXT-------------------------------------------------------" << endl;
    cout << "Раздел математики" << endl;
	cout << "Выбор пункта:\n\n";
	cout << "1-Квадратные уравнения     2-Ряд Фибоначи";
	cout << endl;
	cout << "\nПункт - ";
    cin >> choiseM;
	cout  << endl << endl;
	if (choiseM == 1)
	{
		x2yravn ();
	}
	if (choiseM == 2)
	{
		fibmain ();
	}

    if ((choiseM != 1) && (choiseM != 2))
	{
	    cout << endl << "<Ошибка! Введите коректное число!>" << endl << endl;
		return math ();
	}

	return 0;

}

//-----------END--------------------------------------------------------------------------------------------







//----------Квадратные уравнения-----------------------------------------------------------------------

int x2yravn ()
{
	double a, b, c, x1, x2;
	double error;
	unsigned short int back;
	cout << "-----NEXT-------------------------------------------------------" << endl;
	cout << "Ввод уравнения: " << endl;
	cout << endl << "(a=) ";
	cin >> a;
	cout << "(b=) ";
	cin >> b;
	cout << "(c=) ";
	cin >> c;


    error = GetX2yravn (a, b, c, &x1, &x2);
	if (!error)
	{
		backer ();
	}

    else
	{
		cout << endl << "Ошибка! а=0, уравнение не квадратное" << endl;
	}
	char response;
	cin >> response;
	return 0;

}


// Функция нахождения корней

double GetX2yravn (double a, double b, double c, double *px1, double *px2)
{
	double value = 0;
	if (a == 0)
		value = 1;
	else
	{
		double D;
	    D = b*b - 4*a*c;
		cout << endl << "Дискриминант равен " << D << endl;
		if (D < 0)
		{
			cout << "=====РЕЗУЛЬТАТ==================================================";
			cout << endl << "Корней не найдено, дискриминант меньше ноля" << endl;
			cout << "================================================================" << endl;
		}
		if (D == 0)
		{
			*px1 = -b / (2*a);
			cout << "=====РЕЗУЛЬТАТ==================================================";
			cout << endl << "Найден один корень, x = " << *px1 << endl;
			cout << "================================================================" << endl;
		}
		if (D > 0)
		{
			*px1 = (-b + sqrt(D)) / (2*a);
			*px2 = (-b - sqrt(D)) / (2*a);
			cout << "=====РЕЗУЛЬТАТ==================================================";
			cout << endl << "Найдено два корня, x1 = " << *px1 << ", x2 = " << *px2 << endl;
			cout << "================================================================" << endl;
		}
		value = 0;
	}
	return value;
}

//-------END---------------------------------------------------------------------------








//---------Ряд Фибоначи---------------------------------------------------------------------------

int fibmain ()
{
	
	unsigned int answer, position;
    cout << "-----NEXT-------------------------------------------------------" << endl;
	cout << "Ряд Фибоначи" << endl;
	cout << "Выбор позиции числа в ряду? ";
	cout << "\nПозиция - ";
	cin >> position;
	cout << endl;

	answer = GetFib(position);
	cout << "=====РЕЗУЛЬТАТ==================================================";
	cout << endl << answer << " является " << position << " числом ряда Фибоначи! " << endl;
    cout << "================================================================";

    backer ();
    return 0;

	
}


// Функция определения числа

unsigned int GetFib (unsigned int n)
{
	unsigned int minusTwo=1, minusOne=1, answer=2;

	if (n < 3)
		return 1;
	for (n-=3; n!=0; n--)
	{
		minusTwo = minusOne;
		minusOne = answer;
		answer = minusOne + minusTwo;
	} 
	return 0;
}



//----END--------------------------------------------------------------------------------------------




//----Функция возврата------------------------------------------------------------------------------

int backer ()
{
	unsigned short int back;
	cout << endl << endl<< "Вернуться в главное меню? (Да - 1, Нет - 2)";
	cin >> back;
	cout << endl << endl;
	switch (back)
	{
	case 1:
		{
		   cout << "-----END---------------------------------------------------------";
		   cout << endl << endl << endl << endl << endl << endl << endl;
		   return main();
		}
		break;

	case 2:
		{
           cout << endl << "Можете закрыть программу.";
	   	   char response;
           cin >> response;
		   return 0;
		}
	    break;
	default:
		{
	       cout << endl << "<Ошибка! Введите коректное число!>" << endl << endl;
		   return backer ();
		}
	}
}

//-------END-----------------------------------------------------------------------------------------

Последний раз редактировалось Drongo, 26-03-2009 в 10:46. Причина: Используйте тег!!!!! [code]....[/code] #

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:11, 25-03-2009 | #17


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Интересно, а сколько при возгорании, выделит энергии мой компьютер?. И к стати,XEN_STRANGER, к чему вам было открытие лотка привода, выключение, перезагрузка пк?
PS: если данный код написали вы - хорошо, не вы - тоже хорошо.
PPS: если вы занялись целью написать математическую, физическую программу, можно объединить усилия. Я люблю и знаю данные предметы.

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Последний раз редактировалось crashtuak, 26-03-2009 в 07:34.


Отправлено: 07:20, 26-03-2009 | #18


Аватара для XEN_STRANGER

Старожил


Сообщения: 158
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата crashtuak:
И к стати,XEN_STRANGER, к чему вам было открытие лотка привода, »
Это как доп функции, и вообще думаю пригодится. Да, напиши ещё извлечение / вставление лотка.

Цитата crashtuak:
если данный код написали вы - хорошо, не вы - тоже хорошо. »
crashtuak, Весь год я написал сам, за исключением там в начяле включение поддержки кирилицы.

Цитата crashtuak:
если вы занялись целью написать математическую, физическую программу, можно объединить усилия. Я люблю и знаю данные предметы. »
Да? Большое спасибо, а как именно ты можешь помочь? Можешь подкинуть несколько мини прог для вычисление каких-нибудь формул (часто используемых в практике), а я их добавлю как новые функции.

Отправлено: 08:19, 26-03-2009 | #19


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Два непонятных момента, выделил красным цветом. Это у вас попытка возврата в функцию main()?
Цитата XEN_STRANGER:
Код: Выделить весь код
...
if ((choise != 1) && (choise != 2))
 {
 cout << "<Ошибка! Введите коректное число!>" << endl << endl << endl;
 return main ();
 }
return 0;
}
...
»
Цитата XEN_STRANGER:
Код: Выделить весь код
...
cout << "-----END---------------------------------------------------------";
 cout << endl << endl << endl << endl << endl << endl << endl;
 return main(); 
...
»

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 11:09, 26-03-2009 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Управление системой через C++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - управление системой edvard999 Microsoft Windows Vista 14 09-11-2009 17:37
управление службами через политики KpaH4iTo Microsoft Windows NT/2000/2003 3 13-08-2009 15:47
RDP/Citrix/Term - Управление серверами через интернет kapitanvagin Сетевые технологии 6 08-12-2008 12:17
Управление службами через ГП Success Microsoft Windows NT/2000/2003 8 03-10-2008 12:27
Управление ПК через ИК?!? Guest Непонятные проблемы с Железом 11 20-08-2005 02:26




 
Переход