В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
NoZeX1
NoZeX1
12.04.2022 06:02 •  Информатика

Определить тип данных структура, имеющий поля фамилия, страна и результаты шести выступлений. определить массив из 10 структур. в программе ввести в массив данные и вывести на экран список спортсменов по странам. определить спортсмена занявшие последние место.си++#include#include#include #include #include #include #include #include using namespace std; struct sports{ char famil[15]; char strana[15]; int vistup1; int vistup2; int vistup3; int vistup4; int vistup5; int vistup6; }mas[10];

Показать ответ
Ответ:
Ddaannjjdb
Ddaannjjdb
02.10.2020 09:27

#include<iostream>

#include<windows.h>  

using namespace std;

 

struct Sponsor

{

char name[32];

char surname[32];

double sum;

};

 

Sponsor* AddStruct(Sponsor* Obj, const int amount);

void setData(Sponsor* Obj, const int amount);

void showData(const Sponsor* Obj, const int amount);

 

int main()

{

setlocale(LC_ALL, "rus");

 

Sponsor* OurSponsors = 0;

int sponsorAmount = 0;

int YesOrNot = 0; //  продолжить или остановить ввод данных

 

do

{

OurSponsors = AddStruct(OurSponsors, sponsorAmount);

setData(OurSponsors, sponsorAmount);

 

sponsorAmount++;

 

cout << "Продолжить ввод данных (1 - да, 0 - нет): ";

cin >> YesOrNot;

cin.get();

} while (YesOrNot != 0);

 

showData(OurSponsors, sponsorAmount);

 

delete[] OurSponsors;

return 0;

}

 

Sponsor* AddStruct(Sponsor* Obj, const int amount)

{

if (amount == 0)

{  

Obj = new Sponsor[amount + 1]; // выделение памяти для первой структуры

}

else

{

Sponsor* tempObj = new Sponsor[amount + 1];

 

for (int i = 0; i < amount; i++)

{

tempObj[i] = Obj[i]; // копируем во временный объект

}

delete [] Obj;

 

Obj = tempObj;  

}  

return Obj;

}

//

void setData(Sponsor* Obj, const int amount)

{

cout << "Фамилия: ";

cin.getline(Obj[amount].surname, 32);

cout << "Имя: ";

cin.getline(Obj[amount].name, 32);

cout << "Сумма пожертвования: ";

cin >> Obj[amount].sum;

cin.get();  

cout << endl;  

}

//

void showData(const Sponsor* Obj, const int amount)

{

system("cls");

cout << "№  " << "Фамилия\t" << "Имя\t" << "Сумма\t" << endl;

cout << "" << endl;

for (int i = 0; i < amount; i++)

{  

cout << i + 1 << "  " << Obj[i].surname << '\t' << Obj[i].name << '\t' << Obj[i].sum << endl;

}

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота