• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

И ещё помогите с задачей

semmmen98

Ученик
Регистрация
7 Янв 2018
Сообщения
2
Реакции
0
Баллы
0
И ещё помогите с задачей

Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого пассажира представляют собой структуру с двумя полями: одно поле целого типа (количество вещей) и одно поле действительное (масса вещей в килограммах). Определить:

- имеется ли пассажир, багаж которого состоит из одной вещи массой менее m кг
ПР11. Структуры данных
Программный код решения примера

#include <stdio.h>

#include <conio.h>

#include <string.h>

#define N 40

struct book { // определение структуры

char title[N+1]; // название книги

char author[N+1]; // автор

int year; // год издания

int page; // количество страниц

float price; // цена в у.е.

} Library;

int main (void)

{

// Инициализация полей структуры

Library.year = 2007;

Library.page = 496;

Library.price = 12.78F;

strcpy_s(Library.title, N, "Programming in C");

strcpy_s(Library.author, N, "Stephen G. Kochan");

// Вывод на консоль

printf("\n\t Title: %s\n", Library.title);

printf("\t Author: %s\n", Library.author);

printf("\t Year: %d\n", Library.year );

printf("\t Number of pages: %d p.\n", Library.page );

printf("\t Price: %1.2f y.e.\n", Library.price);

printf("\n\n Press any key: ");

_getch();

return 0;

}
Задание 1

1. Совместите объявление и инициализацию структуры. После инициализации структуры выполните изменение ее полей с последующим выводом на консоль.

2. Примените оператор typedef.

3. Поля структуры title и author определите с помощью указателей.

4. Произведите инициализацию структуры после ввода значений полей с клавиатуры.
 
Забавно - задание про пассажиров, а код программы про книги :)
 
Студент-2000, кончайте флудить!
ПР11. Структуры данных
Программный код решения примера
Сказано же — "пример", т.е. рассмотрена аналогичная задача. В качестве образца.
 
Определить: - имеется ли пассажир, багаж которого состоит из одной вещи массой менее m кг
Ввод исходных данных из файла я не показываю - это элементарно просто (массив пассажиров выписан прямо в коде), а всё остальное может выглядеть так:
Код:
#include <iostream>
#include <algorithm>
using namespace std;

struct bagazh {
   string owner;
   int    number;
   float  weight;
   inline friend  ostream& operator <<( ostream& out, const struct bagazh& obj ) {
      return out << "[ " << obj.owner << " | " 
                       << obj.number << " | " << obj.weight << " ]";
   }
};
   
int main( int argc, char** argv ) {
   float m = 12.;
   bagazh train[] = { 
      { "Иванов И.И.",  2, 12. }, 
      { "Петров П.П.",  1, 15. }, 
      { "Сидоров С.С.", 1, 9.  },
      { "Макаров М.М.", 1, 11. },
   };
   int size = sizeof( train ) / sizeof( train[ 0 ] ); 
   for( bagazh *i = train; i < train + size; ) { 
      i = find_if( i, train + size, [ m ]( bagazh& x )-> bool { 
         return 1 == x.number && x.weight < m; } );
      if( i < train + size ) 
         cout << *i++ << endl;
   } 
}
Выполнение:
Код:
$ g++ -Wall -std=c++11 -O3  bagazh.cc  -o bagazh

$ ./bagazh 
[ Сидоров С.С. | 1 | 9 ]
[ Макаров М.М. | 1 | 11 ]
 
Назад
Сверху