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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
#1

Запись информации в документ и счение егою - C++

26.05.2010, 00:55. Просмотров 377. Ответов 1
Метки нет (Все метки)

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
#include <iostream>
#include <conio>
#include <iomanip>
#include <fstream>
using namespace std;
const int n=3;
struct TDarbin {char imja[30]; int vozrast; int deti;};
fstream f;
 
void iev(TDarbin Darbin)
{
      if(sizeof(f)==0) f.open("dati.txt", ios::out);
      else f.open("dati.txt", ios::app);
             cout<<"Imja: ";cin>>(Darbin.imja);
             cout<<"Vozrast.: ";cin>>Darbin.vozrast;
             cout<<"Koli4estvo detei: ";cin>>Darbin.deti;
      f.write((char*)&Darbin, sizeof(TDarbin));
      f.close();
};
 
void izv(int nr, TDarbin Darbin)
{
int n=0;
double vid;
              f.open("dati.txt", ios::in);
              f.seekg(0);
      while(n<nr)
 {
      if(f.read((char*)&Darbin, sizeof(TDarbin)));
     {
            n++;
            cout<<"\n\n"<<n<<".Indeks Zapisi";
            cout<<"\nImja: "<<Darbin.imja;
            cout<<"\nVozrast.: "<<Darbin.vozrast;
            cout<<"\nKoli4estvo detei: "<<Darbin.deti;
 
     }
 }
f.close();
};
 
int sizeoffile()
{
  int nr=0;
  f.open("dati.txt", ios::ate);
  nr=f.tellp()/sizeof(TDarbin);
f.close();
return nr;
}
 
void main()
{
int i,k,nr; struct TDarbin Darbin;
      do
        {
          clrscr();
          nr=sizeoffile();
          cout << "\n Koli4estvo su6estvuju6ih zapisei: " << nr;
          cout<<"\n 0 - zakon4itj\n 1 - vvesti zapisj\n 2 - prosmotretj vse zapisi\n Vvesti nomer: ";
          cin>>i;
          if(i==1) iev(Darbin);
          if(i==2)
             {
               izv(nr, Darbin);
               getch();
             }
        }
while(i!=0);
}
Вообщем пытался реализовать программу с записей и чтением информации с\в текстовой документ, но почему то не выходит. В папке с проектом создаю документ. Запускаю компилятор. Вижу надпись о н-том числе существующих записей(чего не должно быть), после чего программа зависает. Ок, пробую добавить запись, тоже не выходит, единственное, что работает, это выход, укажите мне, что не так, а то уже битый час сижу, выдаёт не понятную ошибку в 12 строчке, но дело я пологаю не только в этом, а ещё нужно добавить функцию с поиском информации по индексу записи... Нужна срочная помощ, расчитываю на вашу отзывчивость!

Добавлено через 2 часа 4 минуты
До сих пор не могу разобряться, сейчас повешусь....

Добавлено через 4 часа 32 минуты
обламываете вы мои надежды...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2010, 00:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись информации в документ и счение егою (C++):

Запись данных в Текстовый документ - C++
Мне бы хотелось чтобы полученные данные в моём случаи выводиться ключ но я хочу сделать чтобы создавался текстовый документ и ключ писался...

Считывание, Сортировка и Запись массива в текстовый документ - C++
Доброго времени суток! Очень прошу, напишите пожалуйста код программы, которая считывает уже готовый массив с текстового файла input.txt,...

Запись информации в файл - C++
Мне нужно добавить в сущевствующий файл со списком студентов, тех у которых совпадают имена. Совпадающих я нашел и на экран вывел, а вот в...

Запись информации в файл - C++
Я спёр с хабра код драйвера, и теперь мне нужно его модифицировать. Сам то я в общем разобрался как он работает, но всё равно не пойму, как...

Запись информации в конец файла - C++
Доброго времени суток!Появилась небольшая проблема, помогите, пожалуйста.Необходимо записать информацию в конец файла, у меня получается...

Запись из драйвера информации в файл - C++
Как из драйвера записать информацию в файл?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.05.2010, 06:16 #2
C++
1
if(sizeof(f)==0) f.open("dati.txt", ios::out);
sizeof - это одноместная операция, которая вычисляет размер объекта в байтах
например sizeof 1 вычисляет, сколько байт нужно для хранения еденицы
sizeof f вычисляет сколько байт нужно для хранения объекта, в который подключается файл (то есть управляющая структура, которая может хранить разные данные для файла)
а чтобы узнать размер файла, нужно делать что-то вроде ftell() только по cpp-шному

что-нибудь вроде f.tell() или вроде того, но перед этим открыть файл
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2010, 06:16
Привет! Вот еще темы с ответами:

Запись в базовый класс информации из наследников - C++
Написать перегруженный оператор преобразования типов который будет вытягивать из класса наследников нужную информацию и эту информацию...

Запись информации в определенное место файла - C++
Добрый вечер форумчане! Необходим ваш совет. Нужно реализовать возможность записи информации в любое место файла. То есть пользователь...

Запись, хранение и предоставление информации из файла - C++
Изучаю С++, сначала я прочел книгу «С++ за 21 день», она мне дала хоть какое то представление о С++, сейчас все изученное повторяю по книге...

Запись и считывание информации в WAV-файл - C++
Всем добрый день. Занимаюсь такой проблемой: необходимо записать в звуковой файл и считать из него определенную последовательность. При...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru