Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2015, 15:57   #11
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Не, со второй разобрался) а вот типизированный файл не выводится
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 16:01   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А какие ошибки пишет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2015, 17:52   #13
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Никакие не пишет , просто не заполняется файл и не читается
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 18:38   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты уверен что запись идет в нужный файл? Не вижу чтоб у тебя полный путь указывался. Укажи полный путь для проверки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2015, 20:28   #15
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Файл создается рядом с ехе-файлом, но в коде вывода даже не очищается textbox.
from dark to light)

Последний раз редактировалось Алексей_2012; 12.05.2015 в 20:32.
Алексей_2012 вне форума Ответить с цитированием
Старый 18.05.2015, 23:59   #16
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят вот еще вопрос, есть код добавления записи в конец файла запись состоит из структуры данных.

Вот вопрос первый (глупый)
чем отличается
reports->chislo
от
reports.chislo?

со вторым вариантом все работает идеально. С первым-нет. Я так понял стрелочка используется тогда, когда список объявлен как указатель.

Вот вопрос 2. Ввод/вывод работает отлично, но при нажатии на кнопку 2

pushbutton_2

выводится все записи и последняя запись при выводе дублируется, то есть должно быть так:

Запись 1
11
22
33

Запись 2
22
33
44
...
А выводится вот так:

Запись 1
11
22
33

Запись 2
22
33
44

Запись 3
22
33
44

Что нужно исправить в цикле while?

Вообще есть ли аналог делфийского

for i:=0 to filesize(f)-1 do?

Код:
struct zanatie
{
    short month,chislo,chas;

};

using namespace std;

void MainWindow::on_pushButton_clicked()
{
   zanatie reports;


   ofstream fout;
  fout.open("reports.dat",ios::app|ios::binary);


    reports.chas=ui->lineEdit->text().toInt();
    reports.chislo=ui->lineEdit_2->text().toInt();
    reports.month=ui->lineEdit_3->text().toInt();


    fout.write((char*)&reports,sizeof(reports));


    fout.close(); // закрываем файл
 ui->textEdit->clear();
    ui->textEdit->append(QString("%1\n%2\n%3\n").arg(reports.chas).arg(reports.chislo).arg(reports.month));
    ui->lineEdit->clear();
    ui->lineEdit_2->clear();
    ui->lineEdit_3->clear();

    ui->lineEdit->setFocus();
}




void MainWindow::on_pushButton_2_clicked()
{
    zanatie reports1;
   ifstream fin;
    fin.open("reports.dat",ios::in|ios::binary);
    int i=1;

    ui->textEdit->clear();

    while(!fin.eof())
    {

         fin.read((char*)&reports1,sizeof(reports1));



        ui->textEdit->append(QString("Запись №%4\nЧас: %1\nЧисло: %2\nМесяц: %3\n").arg(reports1.chas).
                             arg(reports1.chislo).arg(reports1.month).arg(i));
            i++;

    }

  fin.close(); // закрываем файл
}
Еще вопрос, есть ли аналог

seek(f, filesize(F) div 2)?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.05.2015, 07:34   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Я так понял стрелочка используется тогда, когда список объявлен как указатель.
Именно так. Это типа разименовывание.
Цитата:
Вообще есть ли аналог делфийского
for i:=0 to filesize(f)-1 do?
ftell() дает текущую позицию в файле. Комбинация с fseek() даст размер файла:
Код:
fseek (f, 0, 2);               // получаем количество
FileLen = ftell(f);            // байт в файле
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2015, 09:22   #18
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Спасибо, но что у меня не так с циклом вывода?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление елементов в конец масива?с++ DIQUON Помощь студентам 1 19.12.2012 23:09
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Добавление в конец списка saix Общие вопросы C/C++ 1 17.03.2012 21:27
Добавление в конец списка DBGrid foravastxxx БД в Delphi 13 27.02.2012 14:32
Добавление информации в конец jpeg файла HarleyDavidson Общие вопросы C/C++ 0 06.02.2010 15:32