Домашнее задание для ПО 2.11 системное программирование на 07.02.19
тест

Склемин Алексей Анатольевич

Составить программу, которая будет печатать ромб одним из значков (* или + или #) Выбор значков организовать оператором switch.

Скачать:

ВложениеРазмер
Microsoft Office document icon 26.doc31 КБ

Предварительный просмотр:

Двадцать шестое задание

Составить программу, которая будет печатать ромб одним из значков (* или + или #) Выбор значков организовать оператором switch.


///Программа выводит на экран ромб

///с заданной шириной и высотой

#include

#include

using namespace std;

///передаем функции символ которым будет отображаться ромб, высоту и ширину

void fn_normal_out(char symbol,int height,int width)

{

    int position=0;

        for(int y=1;y<=height;++y)///высота

        {

            for(int x=1;x<=width;++x)///ширина

            {

                ///строим ромб

                if(x==(width/2+1+position)||x==(width/2+1-position))

                {

                    cout<

                }

                else

                {

                    cout<<" ";

                }

            }

            cout<

            if(y

            else position--;

        }

}

int main()

{

         SetConsoleOutputCP(1251);///русский язык

        cout<<"Введите 1 для печати ромба '*' "<

        cout<<"Введите 2 для печати ромба '+' "<

        cout<<"Введите 3 для печати ромба '#' "<

        cout<<"Пожалуйста, введите число 1 - 3: ";

        int second_choice;

        cin>>second_choice;

        if(second_choice<=0||second_choice>3)///Error

        {

            cout<<"\nОшибка. Не верный ввод, программа закрывается...\n";

            return 0;

        }

        cout<<"\nВводить нужно только положительные нечетные числа,\n"

        <<"иначе ромб не построиться"<

        h:cout<<"\nВведите высоту ромба: ";

        int height;

        cin>>height;

        if(height<0||(!(height%2)))///Error

        {

            cout<<"\nОшибка.\n";

            goto h;

        }

        w:cout<<"\nВведите ширину ромба: ";

        int width;

        cin>>width;

        if(width<0||(!(width%2)))///Error

        {

            cout<<"\nОшибка.\n";

            goto w;

        }

        switch(second_choice)

        {

            case 1:

            {

                char symbol='*';

                 fn_normal_out(symbol,height,width);

                break;

            }

            case 2:

            {

                char symbol='+';

                fn_normal_out(symbol,height,width);

                break;

            }

            case 3:

            {

                char symbol='#';

                fn_normal_out(symbol,height,width);

                break;

            }

            default:

            {

                cout<

                return 0;

            }

        }

    return 0;

}


По теме: методические разработки, презентации и конспекты

Домашнее задание для ПО 1.11 системное программирование на 05.02.19

Ассемблеры Программирование на языке Ассемблера Язык Ассемблера — система записи программы с детализацией до отдельной машинной команды, позволяющая использовать мнемоническое обозначение к...

Домашнее задание для ПО 1.11 системное программирование на 06.02.19

Предложения языка Ассемблера Предложения языка Ассемблера описывают команды или псевдокоманды (директивы). Предложения-команды задают машинные команды вычислительной системы; обработка Ассемблеро...

Домашнее задание для ПО 1.11 системное программирование на 08.02.19

Регистры Программа в машинном коде состоит из различных сегментов для определения данных, для машинных команд и для сегмента, названного стеком, для хранения адресов. Для выполнения арифметически...

Домашнее задание для ПО 2.11 системное программирование на 05.02.19

Написать программу преобразования десятичного числа в шестнадцатеричное....

Домашнее задание для ПО 2.11 системное программирование на 08.02.19

Программа должна, в качестве входных данных, принимать пятизначные числа и определять, является ли введенное пятизначное число палиндромом....

Домашнее задание для ПО 2.11 системное программирование на 09.02.19

Составить программу, которая на входе должна получать последовательность цифр, после чего  программа показывает цифру, порядковый номер которой ввел пользователь....

Домашнее задание для ПО 2.11 системное программирование на 12.02.19

Написать программу преобразования десятичного числа в шестнадцатеричное....