Reply to this topicStart new topic
> Блок схема
topfrog
публикация 13.11.2014г. в 02:44ч.
Коментар: #1


Новак
*

Група: Потребители
Съобщения: 1
Дата на регистрация: 13.11.2014г.
Потребител # 24 092





Много ще се радвам ако някой удари 1 рамо да направим блок схема на този код >>
КОД
#include <cstdlib>
#include <stdio.h>
#include <iostream>
using namespace std;


int readTanksCountFromInput() {
    int result;
    cout << "Моля въведете броя на варелите (5-10): ";
    cin >> result;
    if(result < 5 || result > 10) {
        cout << "ГРЕШКА: Броят на врелите трябва да е между 5 и 10";
        exit(1);
    }
    return result;
}

void readTanksDataFromInput(int count, int *heightArray, int *diameterArray) {
    int idx = 0, h, d;
    while(idx < count) {
        cout << "Височина на варел [" << idx+1 << "]:";
        cin >> h;
        if(h == 0) {
            cout << "ГРЕШКА: Височината не може да бъде 0. Моля опитайте Отново\n";
            exit(1);
        }
        cout << "Диаметър на варел [" << idx+1 << "]:";
        cin >> d;
        if(d == 0) {
            cout << "ГРЕШКА: Диаметърът не може да бъде 0. Моля опитайте отново\n";
            d = -1;
            exit(1);
        }
        heightArray[idx] = h;
        diameterArray[idx] = d;
        idx++;
    }
}
void printTankData(int count, int H[], int D[], double V[], double S[], double totalVolume, double maxSurface) {
    for(int i=0; i < count; i++) {
        cout << "Варел[" << i+1 << "] Височина: " << H[i] << " Диаметър: " << D[i] << " Обем: "  << V[i] << " Лице: " << S[i] << "\n";
    }
    cout << "Общ Обем: " << totalVolume << "\n";
    cout << "Максимална повърхност: " << maxSurface << "\n";
}

void calculateData(int count, int H[], int D[], double *volumes, double *surfaces, double *totalVolume, double *maxSurface) {
    for(int i =0; i < count; i++) {
        double height = H[i];
        double diameter = D[i];
        double radius = diameter / 2;
        double volume = 3.14 * radius * radius * height;
        double surface = 2 * 3.14 * height * radius;
        *totalVolume += volume;
        if(surface > *maxSurface) {
            *maxSurface = surface;
        }
        volumes[i] = volume;
        surfaces[i] = surface;
    }
}
int main(int argc, char** argv) {
    double totalVolume = 0, maxSurface = 0;
    int H[10], D[10];
    double volumes[10], surfaces[10];

    // Четем от клавиатурата колко влемента (варела) имаме
    int n = readTanksCountFromInput();
  
    // Четем от клавиатурата информацията за всеки варел (височина диаметър)
    readTanksDataFromInput(n, H, D);
  
    // Изчисляваме обемите и лицата за варелите
    calculateData(n, H,D, volumes, surfaces, &totalVolume, &maxSurface);
  
    //показваме информацията на екрана
    printTankData(n, H, D, volumes, surfaces, totalVolume, maxSurface);
  
    return 0;
}

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

 

RSS Олекотена Версия Сега е: 07:31 - 25.08.2026г.

Калдейта Ком ЕООД - © 2003-. Всички права запазени.