Уроки C++ с нуля / Урок #12 - Структуры

preview_player
Показать описание
В этом уроке изучим структуры в языке C++. Структуры struct очень похожи на классы, которые мы будем изучать немного позже.

✔ -------------

- Уроки от #GoshaDudar 👨🏼‍💻
- Все уроки по хештегу #GoshaCpp
Рекомендации по теме
Комментарии
Автор

Гоша Спасибо тебе реально!!! Ты классный учитель

ARMAN.G.
Автор

Спасибо огромное, очень доступным языком все рассказано:)

cannibal
Автор

მადლობა. ძალიან მაგარი ახსნილია.
Spasiba balshoi ochen xaroshi urok 100% ni.

levikani
Автор

В шоке с этих программистов :). "Делаем точно также только по другому". А так хорошие видео получаются.

sergeychirkunov
Автор

очень понятно, в голове укладывается информация и общая картина

qmoui
Автор

Во многих случаях после объявления структур объявляются указатели на них, и обращение к элементам структуры происходит не через точку, а через стрелку. Сами же структуры и массивы структур в этих случаях обычно порождаются операторами new и убиваются операторами delete.

mikemichaelism
Автор

Отличный урок, супер, доступно, понятно, доходчиво! СПАСИБО!

sancholife
Автор

Понял что Структура настолько крутая штуковина что можно даже
Auto velosipedazazazaz;
и присобачить к велосипеду хоть 20 колёс и космическую скорость.

Dreamcatcher_Lvl_
Автор

спасибо за уроки! как по с++ так и юнити!

KENISEG
Автор

Не знаю кто что там говорил про Гошу Дударя, но он объясняет лучше других!

rostus_official
Автор

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

ВераГайдукова-ъф
Автор

Ничеси, машина создана в 1999, а скорость ее максимальная 315 км/ч :)

Live-zmgw
Автор

struct Tree {
float height;
float width;
char *name;
int year;
};



int main() {
setlocale(LC_CTYPE, "rus");
int a;

Tree Birch;
Birch.height = 6.3;
Birch.width = 29.51;
Birch.name="Берёза";
Birch.year = 13;

Tree Ash;
Ash.height = 15.1;
Ash.width = 75;
Ash.name = "Ясень";
Ash.year = 34;

Tree Larch;
Larch.height = 4;
Larch.width = 13.6;
Larch.name = "Лиственница";
Larch.year = 15;

Tree Oak;
Oak.height = 8.62;
Oak.width = 84.15;
Oak.name = "Дуб";
Oak.year = 33;



cout << "Нажмите для вывода информации:" << endl << "1 - Birch" << endl
<< "2 - Ash" << endl
<< "3 - Larch" << endl
<< "4 - Oak" << endl;
cin >> a;


switch (a) {
case 1:
cout << "Birch info: " << endl << "Высота: " << Birch.height << endl << "Ширина: " << Birch.width << endl << "Название: " << Birch.name << endl << "Возраст: " << Birch.year << endl;
break;
case 2:
cout << "Ash info: " << endl << "Высота: " << Ash.height << endl << "Ширина: " << Ash.width << endl << "Название: " << Ash.name << endl << "Возраст: " << Ash.year << endl;
break;
case 3:
cout << "Larch info: " << endl << "Высота: " << Larch.height << endl << "Ширина: " << Larch.width << endl << "Название: " << Larch.name << endl << "Возраст: " << Larch.year << endl;
break;
case 4:
cout << "Oak info: " << endl << "Высота: " << Oak.height << endl << "Ширина: " << Oak.width << endl << "Название: " << Oak.name << endl << "Возраст: " << Oak.year << endl;
break;
default:
cout << "Ошибка!" << endl << "Введите число от 1 до 4.";
main();
break;
}




system("pause");
return 0;
}

BlaowVEVO
Автор

Гоша, видел? Ты в tproger(сообщество вк с ~ 300к подписчиков), в точнее твои уроки по #

LukentuiChannel
Автор

Всем стало понятно, что у тебя машина марки Шкода) Или ауди =))

Programmer
Автор

Для тех, кто не понял, чем отличается структура от класса. В классах можно создать не только атрибуты, но и методы. В структуре вы, как бы создаёте свой тип данных со своими атрибутами. Простите, если объяснил непонятным языком)

progchannel-it.
Автор

Спасибо огромное, домашнее задание очень полезно!

diadiamaxim
Автор

Одна из немногих домашек, которые я сделал )))

#include <iostream>

using namespace std;

struct three{

int visota, shirina;
float listja, vozrast;
};

int main(int argc, char** argv) {

three Dub;
Dub.visota = 20;
Dub.shirina = 5;
Dub.listja = 2032.12;
Dub.vozrast = 70.4;

cout<< "razmary duba=
cout<< "na dube "<<Dub.listja <<" listjev"<<", Ego vozrast - "<<Dub.vozrast <<"let"<<endl;

return 0;
}

ChurlieTube
Автор

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

struct wood
{
float height;
float width;
int year;
string name;

};



int main()
{
int a;
setlocale(LC_ALL, "rus");
wood dub = {7, 50, 150, "Дуб"};
wood lipa = {4, 20, 60, "Липа"};
wood ber = {5, 10, 100, "Береза"};
wood el = {10, 60, 300, "Ель"};

cout << "\t\tВиды деревьев : \n1. Дуб\n2. Липа\n3. Береза\n4. Ель\nВыберете дерево : ";

cin >> a;

switch(a){
case 1:
{
cout << "Высота : " << dub.height << "\nШирина : " << dub.width << "\nВозраст : " << dub.year << "\nИмя : " << dub.name << endl;
break;
}
case 2:
{
cout << "Высота : " << lipa.height << "\nШирина : " << lipa.width << "\nВозраст : " << lipa.year << "\nИмя : " << lipa.name << endl;
break;
}
case 3:
{
cout << "Высота : " << ber.height << "\nШирина : " << ber.width << "\nВозраст : " << ber.year << "\nИмя : " << ber.name << endl;
break;
}
case 4:
{
cout << "Высота : " << el.height << "\nШирина : " << el.width << "\nВозраст : " << el.year << "\nИмя : " << el.name << endl;
break;
}

default:
cout << "Ошибка ввода" << endl;

}


return 0;
}

wackywildoak
Автор

Скажите пожалуйста, в чём у меня ошибка? Задача из универа, визуал студиа корректно решает задачку, но препод говорит, что-то не правильно. Определите пользовательскую структуру данных, которая будет хранит цену, т.е. в структуре будет два поля: rubles и kopecks. Затем напишите функцию на языке программирования С++, которая будет возвращать сумму двух аргументов, имеющих тип определенной выше структуры.

#include <iostream>

#include <cstdlib>

using namespace std;

struct cena

{

int ruble;

int kopeck;

};

void funk1 (int x, int y, int z, int p)

{

setlocale(LC_CTYPE, "Russian");

int n=x+y;

int e=z+p;

if(e>=100)

{

n++;

e=e-100;

}

cout <<"Общая цена: рублей - " << n<<", копеек - " <<e<< endl;

}

int main()

{ setlocale(LC_CTYPE, "Russian");

cena limon ={20, 50};

cena banan={30, 60};

funk1(limon.ruble, banan.ruble, limon.kopeck, banan.kopeck);

cout <<system("pause"); }

andrewgrayson