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

Чтение структуры из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из шестнадцатеричной в десятичную http://www.cyberforum.ru/cpp-beginners/thread677090.html
Здравствуйте! У меня есть фаил, с которого я считываю числа по 2 байта. В этих 2ух байтах содержится число в шестнадцатеричной системе, но мне нужно вывести его в десятичной. Подскажите пожалуйста как это сделать на C++
C++ Обратная польская запись (ОПЗ) на С++ Пожалуйста помогите!!!! не знаю что мне сделать с этими задачами=((((( A. Обратная польская запись (ОПЗ). Постфиксной формой записи (ОПЗ) выражения a◦b называется запись, в которой знак операции размещен за операндами ab◦. Например Обычная запись Обратная польская запись a-b a b - a*b+c a b * c + a*(b+c) a b c + * (a+c)/(c*a-d) a c + c a * d - / http://www.cyberforum.ru/cpp-beginners/thread677080.html
файл инициализации C++
подскажите как можно в программе записать функцию GetPrivateProfileInt нашел синтаксис UINT WINAPI GetPrivateProfileInt( _In_ LPCTSTR lpAppName, _In_ LPCTSTR lpKeyName, _In_ INT nDefault, _In_ LPCTSTR lpFileName ); но как его в програме записать чтоби откривало файл с:\test.ini и работало
C++ Поменять местами столбцы в динамическом массиве
Нужно переставить местами столбцы в динамическом массиве по ключу! У меня почему-то переставляет на правильно, не могу найти ошибку, прошу помощи! #include <stdafx.h> #include <iostream> #include <windows.h> using namespace std; const int n=256; int *key=new int;
C++ Написать перебор символов в строке и сортировку массива структур http://www.cyberforum.ru/cpp-beginners/thread677071.html
Задание: заполнить массив структур (по сути - таблицу) из файла или с клавиатуры и отсортировать (в порядке возрастания или убывания) их по 3 букве имени. Написал сортировку по 1 букве. Не доходит мне, как отсортировать по 3. Текст программы: #include <iostream> #include <iomanip> #include <conio.h> #include <stdio.h> #define N 2 using namespace std;
C++ Определить игру с максимальной разницей забитых и пропущенных мячей Условие задачи: дано N пар однозначных чисел. Первое число каждой пары означает количество мячей, забитых футбольной командой в игре, второе – количество пропущенных мячей в этой же игре. Определить игру с максимальной разницей забитых и пропущенных мячей. Буду премного благодарен. подробнее

Показать сообщение отдельно
иван_пропал
36 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 110
22.10.2012, 08:15     Чтение структуры из файла
Добрый вечер. Помогите пожалуйста застрял на одном месте:
1. Используя ввод-вывод в стиле С++ создать файл и записать в него структурированные данные
2. Вывести созданный файл на экран
3. Удалить все элементы с ценой выше заданной.(вот тут то и застрял)
4. Добавить элемент с номером К.
5. Вывести измененный файл на экран.

Структура "DVD-диск":
- название фильма;
- режиссер;
- продолжительность;
- цена.

Данные об одном диске записывается в строчку через пробел. Запись и вывод на экран проблем нету. Застрял на 3 пункте. Как найти цену заданной пользователем я незнаю. Гуглил по поводу как извлечь записанную структуру из файла но не нашел.
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// kurs_9.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <atlstr.h>
 
using namespace System;
using namespace std;
 
//**********
 
int t; // кол dvd дисков
 
struct dvd //структура dvd диска 
{
char namefilm[20];            //название фильма
char namereg[20];            // имя режисера
int prodol;                        // продолжительность в минутах
int cena;                         // цена
};
 
void addvd(dvd *p1) // добавление дисков
{   
    cout<<"Вводите только латиницей(английскими)\n";
    cout<<"Количество dvd дисков = "; 
    cin>>t;
    for(int i=0; i<t; i++)
 {  cout<<"\nназвание фильма: "; cin>>p1[i].namefilm;
    cout<<"\nимя режиссера: "; cin>>p1[i].namereg;
    cout<<"\nпродолжительность в минутах: "; cin>>p1[i].prodol;
    cout<<"\nцена: "; cin>>p1[i].cena;
 }
 //запись в файл
 fstream f("f.dat", ios::out);
    for(int i=0; i<t; i++)
 {  f<<p1[i].namefilm<<" ";
    f<<p1[i].namereg<<" ";
    f<<p1[i].prodol<<" ";
    f<<p1[i].cena<<" \n";
 
 }
 f.close();//закрытие потока
}
 
 
void print()//вывести на экран
{
    FILE *file = fopen("f.dat","rt");
char str[100];
while (!feof(file))
    {
        if (!fgets(str,100,file)) break;
        puts(str);
    }
fclose(file);
}
//*********
void poisk_cena()
{
// какой-то код на котором я застрял
}
//*******  ГЛАВНАЯ ***************
int main()
{
    setlocale(LC_ALL,"Russian"); // подключение русского языка
        int k; // меню
    dvd *p1 = new dvd[];
 
    do{
          cout<<"1. Ввести данные\n";
          cout<<"2. Вывести данные\n";
          cout<<"3. Удалить с ценой выше чем...\n";
          cout<<"4. Добавить\n";
          cout<<"5. Выход\n";
          cin>>k;
    switch(k){
          case 1: addvd(p1); break;
          case 2: print(); break;
          case 3: poisk_cena(); break;
          case 4: cout<<""; break;
    }} while(k!=5);
 
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru