Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
aNastya
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6
17.02.2012, 23:27     Задача на структуры C++ Составить инвентарную ведомость #1
Есть задачка:
Решить задачу, используя стрктуру содержащую члены-данные и члены-функции
На основе данных входного файла составить инвентарную ведомость игрушек, включив следующие данные: название игрушки, её стоимость (в руб.). возрастные границы детей, для которых предназначена игрушка. Вывести в новый файл информацию о тех игрушках, которые преназначены для детей от 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;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2012, 23:27     Задача на структуры C++ Составить инвентарную ведомость
Посмотрите здесь:

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

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

input.txt
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
18.02.2012, 00:00     Задача на структуры C++ Составить инвентарную ведомость #5
как образом не выводит? может быть не разу не вызывается функция print из строки 55? если так, то условие из строки 54 не выполняется. это может быть либо из-за того, что реально нет игрушек с нужным возрастным критерием, либо из файла что-то плохо зачиталось. попробуйте сначала безусловно на экран или файл вывести все то, что у вас зачиталось из файла. если напечатанные данные будут кривыми, то проблема понятна, если нет - то нужно искать дальше.
aNastya
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6
18.02.2012, 00:08  [ТС]     Задача на структуры C++ Составить инвентарную ведомость #6
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 вообще.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
18.02.2012, 00:10     Задача на структуры C++ Составить инвентарную ведомость #7
разделители неправильные. либо в стриме задать кастомный разделитель (';' - не знаю как), либо все точки с запятой на пробелы заменить. у вас с такими разделителями чтение из файла работает не корректно.
renald
35 / 35 / 2
Регистрация: 11.02.2012
Сообщений: 105
18.02.2012, 00:11     Задача на структуры C++ Составить инвентарную ведомость #8
Во первых, поставь пробелы вместо ';'
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2012, 00:13     Задача на структуры C++ Составить инвентарную ведомость
Еще ссылки по теме:

Задача С++ на структуры! C++
C++ задача на структуры
C++ Задача на структуры

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

Или воспользуйтесь поиском по форуму:
aNastya
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 6
18.02.2012, 00:13  [ТС]     Задача на структуры C++ Составить инвентарную ведомость #9
Всё, вроде теперь получилось Спасибо!
Yandex
Объявления
18.02.2012, 00:13     Задача на структуры C++ Составить инвентарную ведомость
Ответ Создать тему
Опции темы

Текущее время: 06:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru