Paste Oisha

Submitted on 10 August 2017 at 03:38 UTC
2110 views

New Paste 1 (cpp)

// ConsoleApplication8.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

void calcConcrete(float a, float x, float y, float z, int b) {
	float realVolume;
	float water;
	realVolume = ((x * 0.5) + (y * 0.6) + (z * 0.6));
	water = (x + y + z) * (static_cast<float>(b) / 100);
	
	cout << "For " << a << "m3 of concrete with a proportion of " << x << ":" << y << ":" << z << " and " << b << "% of water you will need: " << endl;
	cout << "Cement:\t" << ((a * x) / realVolume) * 35.7 << "\t bags" << endl;
	cout << "Sand:\t" << (a * y) / realVolume << "\t m3" << endl;
	cout << "Gravel:\t" << (a * z) / realVolume << "\t m3" << endl;
	cout << "Water:\t" << (((a * water) / realVolume) * 1000) / 15 << "\t barrels" << endl;
}
void switchConcrete(int a, int b) {
	float x, y, z;
	switch (a) {
	case 1:
		x = 1; y = 1.5; z = 1.5;
		break;
	case 2:
		x = 1; y = 1.5; z = 2;
		break;
	case 3:
		x = 1; y = 1.5; z = 2.5;
		break;
	case 4:
		x = 1; y = 1.5; z = 3;
		break;
	case 5:
		x = 1; y = 2; z = 2;
		break;
	case 6:
		x = 1; y = 2; z = 2.5;
		break;
	case 7:
		x = 1; y = 2; z = 3;
		break;
	case 8:
		x = 1; y = 2; z = 3.5;
		break;
	case 9:
		x = 1; y = 2; z = 4;
		break;
	case 10:
		x = 1; y = 2.5; z = 2.5;
		break;
	case 11:
		x = 1; y = 2.5; z = 3;
		break;
	case 12:
		x = 1; y = 2.5; z = 3.5;
		break;
	case 13:
		x = 1; y = 2.5; z = 4;
		break;
	}
	float c;
	cout << "How much concrete are we calculating with a proportion of " << x << ":" << y << ":" << z << " and a percentage of " << b << "% of water?" << endl;
	cin >> c;
	calcConcrete(c, x, y, z, b);
}

void calcMortar(float a, float x, float y, int b) {
	float realVolume;
	float water;
	realVolume = ((x * 0.5) + (y * 0.6));
	water = (x + y) * (static_cast<float>(b) / 100);

	cout << "For " << a << "m3 of mortar with a proportion of " << x << ":" << y << " and " << b << "% of water you will need: " << endl;
	cout << "Cement:\t" << ((a * x) / realVolume) * 35.7 << "\t bags" << endl;
	cout << "Sand:\t" << (a * y) / realVolume << "\t m3" << endl;
	cout << "Water:\t" << (((a * water) / realVolume) * 1000) / 15 << "\t barrels" << endl;
}

void switchMortar(int a, int b) {
	float x, y;
	switch (a) {
	case 1:
		x = 1; y = 1;
		break;
	case 2:
		x = 1; y = 2;
		break;
	case 3:
		x = 1; y = 3;
		break;
	case 4:
		x = 1; y = 4;
		break;
	case 5:
		x = 1; y = 5;
		break;
	case 6:
		x = 1; y = 6;
		break;
	case 7:
		x = 1; y = 7;
		break;
	case 8:
		x = 1; y = 8;
		break;
	}
	float c;
	cout << "How much mortar are we calculating with a proportion of " << x << ":" << y << " and a percentage of " << b << "% of water?" << endl;
	cin >> c;
	calcMortar(c, x, y, b);
}

void showError() {
	cout << "\a";
	cout << "Error: Invalid type!" << endl;
}
void showExit() {
	cout << "\a";
	cout << "Error: Something went terrible wrong, exiting..." << endl;
	// exit stuff here
}

void askWater(int x, bool y) {
	int b;
	cout << "Which percentage of water are we using? (10, 15 or 20 recommended)" << endl;
	cin >> b;
	if (y) {
		switchConcrete(x, b);
	}
	else if (!y) {
		switchMortar(x, b);
	}
	else {
		showExit();
	}
}

void showConcrete() {
	int x;
	bool concrete = true;
	cout << "Choose your concrete type:" << endl << endl;
	cout << "# \t VOLUMETRIC RATIO \t \t RESISTANCE AT 28 days (kg/cm2)" << endl;
	cout << "1 \t 1:1.5:1.5 \t \t \t 303" << endl;
	cout << "2 \t 1:1.5:2 \t \t \t 270" << endl;
	cout << "3 \t 1:1.5:2.5 \t \t \t 245" << endl;
	cout << "4 \t 1:1.5:3 \t \t \t 230" << endl;
	cout << "5 \t 1:2:2 \t \t \t \t 217" << endl;
	cout << "6 \t 1:2:2.5 \t \t \t 195" << endl;
	cout << "7 \t 1:2:3 \t \t \t \t 165" << endl;
	cout << "8 \t 1:2:3.5 \t \t \t 164" << endl;
	cout << "9 \t 1:2:4 \t \t \t \t 140" << endl;
	cout << "10 \t 1:2.5:2.5 \t \t \t 156" << endl;
	cout << "11 \t 1:2.5:3 \t \t \t 147" << endl;
	cout << "12 \t 1:2.5:3.5 \t \t \t 132" << endl;
	cout << "13 \t 1:2.5:4 \t \t \t 118" << endl;
	cin >> x;
	if (x <= 13) {
		askWater(x, concrete);
	} else {
		showError();
		showConcrete();
	}
}

void showMortar() {
	int x;
	bool concrete = false;
	cout << "Choose your mortar type:" << endl << endl;
	cout << "# \t VOLUMETRIC RATIO \t \t USES" << endl;
	cout << "1 \t 1:1 \t \t \t \t Finishing" << endl;
	cout << "2 \t 1:2 \t \t \t \t Finishing" << endl;
	cout << "3 \t 1:3 \t \t \t \t Plaster" << endl;
	cout << "4 \t 1:4 \t \t \t \t Plaster" << endl;
	cout << "5 \t 1:5 \t \t \t \t Plaster" << endl;
	cout << "6 \t 1:6 \t \t \t \t Glue" << endl;
	cout << "7 \t 1:7 \t \t \t \t Glue" << endl;
	cout << "8 \t 1:8 \t \t \t \t Glue" << endl;
	cin >> x;
	if (x <= 8) {
		askWater(x, concrete);
	}
	else {
		showError();
		showMortar();
	}
}



void typeSelection() {
	int x;
	cout << "What do you want to calculate?" << endl;
	cout << "1. Concrete" << endl;
	cout << "2. Mortar" << endl;
	cin >> x;
	if (x == 1) {
		showConcrete();
	}
	else if (x == 2) {
		showMortar();
	}
	else {
		showError();
		typeSelection();
	}
}


int main()
{
	typeSelection();
	cin.ignore();
	cin.clear();
	cin.get();
    return 0;
}

Raw · Download

Pastee