Автор Тема: Помогите разобраться в структурах (С++)  (Прочитано 5073 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн everest

  • Пользователь
  • **
  • Сообщений: 82
    • Просмотр профиля
Не совсем понял пример разобранный в методичке


Цель работы:
Знакомство и получение навыков обработки структурных данных и массивов на языке С++.

2. Условия задания:
Структура: FLAT, поля: адрес, количество комнат, общая площадь, стоимость квадратного метра. Поиск квартиры в пределах заданной суммы.

3. Решение задания:

1)Алгоритм решения задания в виде блок- схемы:

2)Текст программы на языке С++:
#include                   \\что здесь должно быть?
#include
#include
#include
struct flat
{
char adres[30];
int kolvo;
long int stoimost;
double ploshad;
};
int main()
{
const n=3;
int i,j;
flat s[n],t;               \\Почему здесь у структуры только две переменных их же должно быть 4?
cout.setf(ios::left);   \\Понял, что это какойто оператор вывода, только что это такое после точки?
clrscr();
for(i=0;i<=n-1;i++)
{
cout<<" Vvedite adress\n";
cin>>s.adres;
cout<<" Vvedite kolichestvo komnat\n";
cin>>s.kolvo;
cout<<" Vvedite ploshad\n";
cin>>s.ploshad;
cout<<" Vvedite stoimost\n";
cin>>s.stoimost;
cout<<"\n";
}
cout<<"\n Adress Kolichestvo_komnat Ploshad Stoimost\n\n";
for(i=0;i<=n-1;i++)
{
cout.width(20);cout< cout.width(20);cout< cout.width(15);cout< cout.width(15);cout< }   \\что за .width?
int stoimost;
cout<<"\n\n Vvedute stoimost kvartirbl za kv metr\n";
cout<<"\n";
cin>>stoimost;
for(i=0;i<=n-1;i++)
if(s.stoimost<=stoimost)
{
cout.width(20);cout< cout.width(20);cout< cout.width(20);cout< cout.width(20);cout< }
getch();                                \\что такое getch?
clrscr();
}

Оффлайн testtest

  • Старожил
  • ****
  • Сообщений: 376
    • Просмотр профиля
Re: Помогите разобраться в структурах (С++)
« Ответ #1 : 20 Апреля 2011, 08:51:42 »
Цитировать
#include                   \\что здесь должно быть?
#include <iostream> обычно хватает
и после инклудов тебе придется еще using namespace std; написать, потому что cin и cout - члены класса std.

Цитировать
flat s[n],t;               \\Почему здесь у структуры только две переменных их же должно быть 4?
все 4 нужные переменные содержит flat, воспринимай s[n] как массив из n экземпляров структуры flat. t - еще один экземпляр.

Цитировать
cout.setf(ios::left);   \\Понял, что это какойто оператор вывода, только что это такое после точки?
В C++ Reference можно подсмотреть. Скорее всего, это установка формата вывода с выравниванием влево.


Цитировать
cout.width(20);cout< cout.width(20);cout< cout.width(15);cout< cout.width(15);cout< }   \\что за .width?
навреное, заполнитель пробелами

Цитировать
getch();                                \\что такое getch?
ожидание нажатия клавиши