Как найти самую большую цену дома и вывести его название?

Объясняю что тут написано, 1)проценты 2) Сумма вложения 3) Не выплаченная сумма 4) Тип строения 5) Вся сумма.

4.5,60000,25000,Квартира,85000

10.2,147804,15267,Бизнес-центр,163052

8.9,94000,25000,Частный дом,119000

10.5,85000,60000,Магазин,145000

5.5,62500,36050,Дом,98550

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include<fstream>
#include <WINDOWS.h>
using namespace std;

struct bydova
{
    struct pokypatel
    {
        float procenti;
        float symmavlogenia;
        float neviplatsymma;

    }object;
    char typestroenia[100];
    int cena;
};

int main()
{
    setlocale(LC_ALL, "Ru");
    int max = 0; //тип дома с макс стоимостью 
    ifstream phile("inform.txt");
    if (!phile.is_open()) 
    {
        cerr << "Ошибка открытия файла!";
        return 0;
    }
    char buffer[256];
    bydova data; // все данные
    while (phile.getline(buffer, 256))
    {
        char* token = strtok(buffer, ",");
        data.object.procenti = atof(token);
        token = strtok(NULL, ",");
        data.object.symmavlogenia = atof(token);
        token = strtok(NULL, ",");
        data.object.neviplatsymma = atof(token);
        token = strtok(NULL, ",");
        strcpy(data.typestroenia, token);
        token = strtok(NULL, ",");
        data.cena = atoi(token);
    }

}

Ответы (1 шт):

Автор решения: Павел Ериков

Вот пример кода с комментариями:

//Название дома с максимальной ценой
char typestroenia[100];
//Максимальная цена
int maxCena = -1;

while (phile.getline(buffer, 256))
{
    ...

    //Если цена рассматриваемого дома > максимальной цены
    //то сохраняем название и меняем maxCena на цену рассматриваемого дома
    if (data.cena > maxCena) {
        strcpy(typestroenia, data.typestroenia);
        maxCena = data.cena;
    }
}

//Выводим название
cout << "Название дома с максимальной ценой: " << typestroenia << endl;

Там где ... я ничего не менял, но единственное что хотелось бы отметить, так это то, что если вам нужна только цена дома, то не обязательно считывать все остальные данные о доме.

→ Ссылка