Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6

Задача на структуры C++ Составить инвентарную ведомость

17.02.2012, 23:27. Показов 5418. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задачка:
Решить задачу, используя стрктуру содержащую члены-данные и члены-функции
На основе данных входного файла составить инвентарную ведомость игрушек, включив следующие данные: название игрушки, её стоимость (в руб.). возрастные границы детей, для которых предназначена игрушка. Вывести в новый файл информацию о тех игрушках, которые преназначены для детей от N до M лет.
Шаблон задачи я сделала, а вот вывести в новый файл именно те игрушки что предназначены в определённый возрастной промежуток что-то не выходит. Нуждаюсь в вашей помощи.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
struct Inventar
{
    char Name[30];
    double Cost;
    int Age, age_limit;
    void show();
    void print();
};
 
void Inventar::show()
{
    cout<<setw(8)<<Name<<setw(10)<<Cost<<setw(8)<<Age<<setw(8)<<age_limit<<endl;
 
}
void Inventar::print()
{
    cout<<setw(8)<<Name<<setw(10)<<Cost<<setw(8)<<Age<<setw(8)<<age_limit<<endl;
 
}
 
int main()
{
    Inventar Toy[10];
    int num;
    int i,j,n=0;
    if(!in) cout<<"Opening eror of file input.txt\n";
    else
    {
        while (in.peek()!=EOF)
        {
    in>>Toy[n].Name;
    in>>Toy[n].Cost;
    in>>Toy[n].Age;
    in>>Toy[n].age_limit;
    Toy[n].show();
    n++;
};
cout<<"Age";
cout<<"age_limit";
cin>>num;
if (!out) cout <<"Erorr of openin file";
else 
{
    j=0;
    for(i-0;i<n && !j;i++)
        if(Toy[i].age_limit==num)
                {
                Toy[i].print();
                
                }
}
in.close();out.close();
return 0;
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2012, 23:27
Ответы с готовыми решениями:

Составить инвентарную ведомость игрушек
Здраствуйте, прошу помощи в виде решения нелегкого для меня задания :( Нужно решить задачу используя структуру, содержащую члены-данные и...

Составить инвентарную ведомость склада
Сделайте пожалуйста ребят, очень вас прошу, завтра уже сдать нужно :( 2 задачки, если вам не трудно, помогите мне ((( 1) Решить ,...

Составить ведомость
Доброго дня, форумчане! По примеру, подскажите как реализовать автоматический подсчёт зарплаты за заказы, каждого исполнителя (они могут...

8
35 / 35 / 8
Регистрация: 11.02.2012
Сообщений: 105
17.02.2012, 23:36
в функции
C++
1
void Inventar::print()
исправь cout на out
1
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6
17.02.2012, 23:46  [ТС]
Еще в 53 строчке у меня ошибка, там
C++
1
for(i=0;i<n && !j;i++)
должно быть.

Но в итоге меня все равно запись того, что нужно по условию не выходит.
0
35 / 35 / 8
Регистрация: 11.02.2012
Сообщений: 105
17.02.2012, 23:57
дай входной файл

input.txt
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
18.02.2012, 00:00
как образом не выводит? может быть не разу не вызывается функция print из строки 55? если так, то условие из строки 54 не выполняется. это может быть либо из-за того, что реально нет игрушек с нужным возрастным критерием, либо из файла что-то плохо зачиталось. попробуйте сначала безусловно на экран или файл вывести все то, что у вас зачиталось из файла. если напечатанные данные будут кривыми, то проблема понятна, если нет - то нужно искать дальше.
0
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6
18.02.2012, 00:08  [ТС]
Cubik;50.99;1;6;
Constructor;88.95;6;10;
Car;31.00;3;7;
Doll;30.50;3;7;
Barbi;14.95;5;15;
Например такой.
Наверное я неправильно его задаю, поэтому у меня пишет "рендомную" строку в консоли и не производит записи в output вообще.
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
18.02.2012, 00:10
разделители неправильные. либо в стриме задать кастомный разделитель (';' - не знаю как), либо все точки с запятой на пробелы заменить. у вас с такими разделителями чтение из файла работает не корректно.
1
35 / 35 / 8
Регистрация: 11.02.2012
Сообщений: 105
18.02.2012, 00:11
Во первых, поставь пробелы вместо ';'
1
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6
18.02.2012, 00:13  [ТС]
Всё, вроде теперь получилось Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2012, 00:13
Помогаю со студенческими работами здесь

Ведомость (трудная задача)
Доброго времени суток. Помогите пожалуйста с такой задачей. &quot;Создать таблицу в MS Excel &quot;Платежная ведомость&quot; для...

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

Составить итоговую ведомость
Нашла такой код, но не знаю как его изменить под мою ведомость. Подходит ли он мне или же нужно совсем другое? Помогите, пожалуйста. ...

Составить ведомость на стипендию
Ввести файл, содержащий поля: №, ФИО, Оценка по 1-му предмету, … , Оценка по 4-му предмету. Составить ведомость на стипендию в виде: №...

Составить студенческую ведомость
До 3го пункта вроде нормально, после 3 встал и не могу:wall: Составить программу, используя меню и процедуры; 1.Создать файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru