Домашнее задание для ПО 2.11 по системному программированию от 13.11.20
учебно-методический материал

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

Составить программу, которая будет печатать ромб одним из значков (* или + или #) Выбор значков организовать оператором 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 по системному программированию от 04.02.20

Шестнадцатеричное представление Представим, что необходимо просмотреть содержимое некотоpых байт в памяти. Требуется oпределить содержимое четырех последовательных байт (двух слов), которые имеют двои...

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

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