my code stock.com

Snippet options

Download: Download snippet as odpisy.cpp.
Copy snippet: For this you need a free my code stock.com account.
Embed code : You will find the embed code for this snippet at the end of the page, if you want to embed it into a website or a blog!

#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
#include <iomanip>
#include <Windows.h>
#include <string>
using namespace std;

int main() {

	string end;
	char zp;
	int sk;
	double cena, rok, zc, k=1;
	double OdpisRok01, OpravkyRok01, OdpisZb, OpravkyZb;

	HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

	SetConsoleTextAttribute(hConsole, 13);
	cout << "******KALKULATOR ODPISU******" << endl;
	SetConsoleTextAttribute(hConsole, 15);
	cout << "            ==by David Ruby==" << endl;

	SetConsoleTextAttribute(hConsole, 2);
		cout << "\n\n*r = rovnomerny\n z = zrychleny\n";
		SetConsoleTextAttribute(hConsole, 15);
		cout << "Zvolte zpusob odpisovani:";
		cin >> zp;
		SetConsoleTextAttribute(hConsole, 2);
		cout << "\n\n*1 = 3 roky (kancelarske stroje a pocitace, televizni kamery...)\n 2 = 5 let (osobni a nakladni automobily, rozhlasove a televizni prijimace...)\n 3 = 10 let (klimatizacni zarizeni, kotle pro ustredni vytapeni, jeraby, lok...)\n 4 = 20 let (budovy ze dreva a plastu, oploceni budouv a inzenyrskych staveb...)\n 5 = 30 let (vyrobni budovy, komunikace...)\n 6 = 50 let (administraticni budovy, hotely, obchodni domy, skoly, muzea...)\n";
		SetConsoleTextAttribute(hConsole, 15);
		cout << "Zadejte odpisovou skupinu:";
		cin >> sk;
		cout << "\nZadejte rok porizeni odpisovaneho majetku:";
		cin >> rok;
		cout << "\nZadejte cenu odpisovaneho majetku:";
		cin >> cena;
		cout << "\n\n";

		switch (zp) {
		case 'r':
			switch (sk) {
			case 1:
				OdpisRok01 = (cena * 20) / 100;
				OpravkyRok01 = OdpisRok01;
				OdpisZb = (cena * 40) / 100;
				OpravkyZb = OpravkyRok01;
				zc = cena - OpravkyRok01;

				SetConsoleTextAttribute(hConsole, 240);
				std::cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyRok01) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 3) {
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 2:
				OdpisRok01 = (cena * 11) / 100;
				OpravkyRok01 = OdpisRok01;
				OdpisZb = (cena * 22.25) / 100;
				OpravkyZb = OpravkyRok01;
				zc = cena - OpravkyRok01;

				SetConsoleTextAttribute(hConsole, 240);
				std::cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyRok01) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 5) {
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 3:
				OdpisRok01 = (cena * 5.5) / 100;
				OpravkyRok01 = OdpisRok01;
				OdpisZb = (cena *10.5) / 100;
				OpravkyZb = OpravkyRok01;
				zc = cena - OpravkyRok01;

				SetConsoleTextAttribute(hConsole, 240);
				std::cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyRok01) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 10) {
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 4:
				OdpisRok01 = (cena * 2.15) / 100;
				OpravkyRok01 = OdpisRok01;
				OdpisZb = (cena * 5.15) / 100;
				OpravkyZb = OpravkyRok01;
				zc = cena - OpravkyRok01;

				SetConsoleTextAttribute(hConsole, 240);
				std::cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyRok01) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 20) {
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 5:
				OdpisRok01 = (cena * 1.4) / 100;
				OpravkyRok01 = OdpisRok01;
				OdpisZb = (cena * 3.4) / 100;
				OpravkyZb = OpravkyRok01;
				zc = cena - OpravkyRok01;

				SetConsoleTextAttribute(hConsole, 240);
				std::cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyRok01) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 30) {
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 6:
				OdpisRok01 = (cena * 1.02) / 100;
				OpravkyRok01 = OdpisRok01;
				OdpisZb = (cena * 2.02) / 100;
				OpravkyZb = OpravkyRok01;
				zc = cena - OpravkyRok01;

				SetConsoleTextAttribute(hConsole, 240);
				std::cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyRok01) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 50) {
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			default:
				cout << "Neplatna volba skupiny v rovnomernem odepisovani...\n";
				break;
			}
			break;
		case 'z':
			switch (sk) {
			case 1:
				SetConsoleTextAttribute(hConsole, 240);
				cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				OdpisRok01 = cena / 3;
				OpravkyZb = OdpisRok01;
				zc = cena - OpravkyZb;
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 3) {
					OdpisZb = (2 * zc) / (4 - k);
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 2:
				SetConsoleTextAttribute(hConsole, 240);
				cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				OdpisRok01 = cena / 5;
				OpravkyZb = OdpisRok01;
				zc = cena - OpravkyZb;
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 5) {
					OdpisZb = (2 * zc) / (6 - k);
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 3:
				SetConsoleTextAttribute(hConsole, 240);
				cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				OdpisRok01 = cena / 10;
				OpravkyZb = OdpisRok01;
				zc = cena - OpravkyZb;
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 10) {
					OdpisZb = (2 * zc) / (11 - k);
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 4:
				SetConsoleTextAttribute(hConsole, 240);
				cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				OdpisRok01 = cena / 20;
				OpravkyZb = OdpisRok01;
				zc = cena - OpravkyZb;
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 20) {
					OdpisZb = (2 * zc) / (21 - k);
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 5:
				SetConsoleTextAttribute(hConsole, 240);
				cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				OdpisRok01 = cena / 30;
				OpravkyZb = OdpisRok01;
				zc = cena - OpravkyZb;
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 30) {
					OdpisZb = (2 * zc) / (31 - k);
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			case 6:
				SetConsoleTextAttribute(hConsole, 240);
				cout << setw(4) << "Rok" << setw(32) << "Rocni odpis" << setw(32) << "Opravky" << setw(32) << "Zustatkova cena\n\n";
				SetConsoleTextAttribute(hConsole, 15);
				OdpisRok01 = cena / 50;
				OpravkyZb = OdpisRok01;
				zc = cena - OpravkyZb;
				std::cout << std::fixed << setprecision(0) << setw(4) << rok << setw(30) << floor(OdpisRok01) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
				while (k < 50) {
					OdpisZb = (2 * zc) / (51 - k);
					OpravkyZb = OpravkyZb + OdpisZb;
					zc = cena - OpravkyZb;
					std::cout << std::fixed << setprecision(0) << setw(4) << ++rok << setw(30) << floor(OdpisZb) << "KC" << setw(30) << floor(OpravkyZb) << "KC" << setw(28) << floor(zc) << "KC" << endl;
					k++;
				}
				break;
			default:
				cout << "Neplatna volba skupiny ve zrychlenem odepisovani...\n";
				break;
			}
			break;

		default:
			cout << "Neplatna volba zpusobu odpisovani...";
			break;
		}
		cout << "\n\nPro ukonceni programu napiste 'KONEC':";
		cin >> end;
	
	return 0;
}

Create a free my code stock.com account now.

my code stok.com is a free service, which allows you to save and manage code snippes of any kind and programming language. We provide many advantages for your daily work with code-snippets, also for your teamwork. Give it a try!

Find out more and register now

You can customize the height of iFrame-Codes as needed! You can find more infos in our API Reference for iframe Embeds.