Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с записью в файл 
:(
    Опции темы
baltushka
Дата 14.6.2009, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Всем доброго времени! У меня есть программа, которая рисует кривую повехность, необходимо многократно посчитать время работы и результат записать в файл. Время работы считает как надо, но насчет fstream идет непрерывная ругань, мол, необъявленный идентификатор!

В fstream.h описан класс basic_fstream, пробовала заменить, результат тот же! Подскажите, что делать??

Привожу часть программы: 
Цитата

#include <windows.h>
#include <stdio.h>
#include <process.h>
#include <math.h>
#include <fstream.h>

#include <iostream.h>

#include <GL\\gl.h>
#include <GL\\glu.h>
#include <GL\\glaux.h> 

   <.....>


void CALLBACK display(void)
{    
    long t0 = GetTickCount();
    fstream f;
    f.open("file.txt",ios::out);

    for (int a=0; a<10; ++a)
   { 
    long t0 = GetTickCount();
    for(int i =0; i < 100; ++i)
   {
    
    int D = 0, j = 0, k, M = 0, mi, ma = 0, x, y;
//double D = 0.;
double s;
int Res[kol] = {15, 32, 31,31, 16, 31, 16, 15, 32,15, 16, 31, 16, 31, 16};

{
    GLfloat knots[8] = {0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0};

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

    glRotatef(330.0, 1, 0., 0.);

    glScalef (0.5, 0.5, 0.5);

    gluBeginSurface(theNurb);

    gluNurbsSurface(theNurb, 
        8, knots,
        8, knots,
        4 * 3,
        3,
        &ctlpoints[0][0][0], 
        4, 4,
        GL_MAP2_VERTEX_3);

    gluEndSurface(theNurb);
    glPopMatrix();

    glFlush();
    auxSwapBuffers();


};

}
    long t1 = GetTickCount();

    std::cout << a << std::endl;
    std::cout <<(t1-t0) << std::endl;
    f<<mas[a]<<" ";
   f.close();

    }

  }



Помогите!!!!!!
PM MAIL   Вверх
andrew_121
Дата 14.6.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



baltushka
Цитата(baltushka @  14.6.2009,  17:08 Найти цитируемый пост)
#include <fstream.h>

#include <iostream.h>

Это пишется без .h

Добавлено через 22 секунды
Компилятор какой?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
baltushka
Дата 14.6.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Исправила, выдает теперь ошибку
Цитата

fatal error C1083: Не удается открыть файл include: fstream: No such file or directory



Цитата(andrew_121 @  14.6.2009,  17:31 Найти цитируемый пост)
Компилятор какой? 

Visual C++ 2008 Express Edition
PM MAIL   Вверх
andrew_121
Дата 14.6.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(baltushka @  14.6.2009,  17:53 Найти цитируемый пост)
Не удается открыть файл include: fstream: No such file or directory

О как.... smile  Посмотри есть ли этот файл в c:/programm files/microsoft<дальше не помню>/vc/include. Кароче, поищи каталог include в папке куда установила VC. Так как я никогда не пользовался экспресс версиями.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
baltushka
Дата 14.6.2009, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Честно говоря, не нашла нигде другого компилятора, который нормально бы установился и заработал! если поделитесь, буду благодарна очень!!  smile 

А насчет fstream в include - он там есть!!! не понимаю в чем проблема(((( 
PM MAIL   Вверх
Cheloveck
Дата 14.6.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Посмотри в настройках IDE должны быть определены пути инклудов. В полной английской версии это Tools/Options -> Projects and Solutions -> VC++ Directories. В категории Include files нужно добавить путь до каталога с iostream, fstream etc., если, конечно, его там нет.


--------------------
user posted image
PM Jabber   Вверх
baltushka
Дата 14.6.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



В общем, как было дело: когда я стала добавлять работу с файлом, выянила, что нужен fstream.h. написала #include <fstream.h>, стало выдавать ошибку про неопознанный идентификатор и про "не могу найти fstream". я заглянула в папку include и обнаружила, что там нет файла с таким расширением! есть просто неопознанный файл, который при попытке открыть предлагает на выбор программы. Решив, что это источник всех моих бед, добавила этому файлу расширение .h, и он стал заголовком! после этого ошибка о том, что кто-то чего-то не находит, пропала! я порадовалась=) но осталась проблема с неопознанным идентификатором. исправила fsteram.h и iostream.h на fstream и iostream, вроде заработало, но перестал находиться fsteram (а позже и iostream). Я создала неизвестные файлы, который был первоначально (большим количеством копипастов)), и теперь опять ругань на идентификатор!!! вот как-то так!  smile 

запуталась(( что делать???  smile 
PM MAIL   Вверх
Cheloveck
Дата 14.6.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Постарайся приводить код в теге code, а не цитата, а то не читается. 

По сабжу

fstream f; замени на ofstream f;

Добавлено через 2 минуты и 11 секунд
Цитата(baltushka @  14.6.2009,  19:29 Найти цитируемый пост)
который при попытке открыть предлагает на выбор программы

Ну и открывай блокнотом. Все стандартные инклуды по, опять же, стандарту без расшерений, так что исправь назад))



--------------------
user posted image
PM Jabber   Вверх
baltushka
Дата 14.6.2009, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Если удалить из папки эти заголовки, он ругается на необъявленный идентификатор!! 
Если удалить неопознанные файлы, ругается на отсутствие их..


Цитата(Cheloveck @  14.6.2009,  18:32 Найти цитируемый пост)
fstream f; замени на ofstream f;


исправила, не помогло(

Добавлено через 1 минуту и 21 секунду
Цитата(Cheloveck @  14.6.2009,  18:32 Найти цитируемый пост)
Постарайся приводить код в теге code, а не цитата, а то не читается. 


хорошо  smile 
PM MAIL   Вверх
Cheloveck
Дата 14.6.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата(baltushka @  14.6.2009,  19:39 Найти цитируемый пост)
Если удалить из папки эти заголовки, он ругается на необъявленный идентификатор!! 
Если удалить неопознанные файлы, ругается на отсутствие их..


бррр.... какие неопознаные? верни всё как было... В SDK нет ошибок.


Цитата(baltushka @  14.6.2009,  19:39 Найти цитируемый пост)
исправила, не помогло( 


Лог ошибок в студию (только, прошу, верни файлы перед этим на место. Если очень сложно, то удали всё и поставь заново).



--------------------
user posted image
PM Jabber   Вверх
baltushka
Дата 14.6.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Вернула!! я уже убедилась, что после ругани на отсутствие файлов, начинается ругань на неопознанность..  вот она:

Цитата

1>------ Построение начато: проект: gltest1, Конфигурация: Debug Win32 ------
1>Компиляция...
1>main.cpp
1>c:\projects\c++\gltest1\main.cpp(49) : warning C4244: =: преобразование 'double' в 'GLfloat', возможна потеря данных
1>c:\projects\c++\gltest1\main.cpp(50) : warning C4244: =: преобразование 'double' в 'GLfloat', возможна потеря данных
1>c:\projects\c++\gltest1\main.cpp(64) : warning C4305: инициализация: усечение из 'double' к 'GLfloat'
1>c:\projects\c++\gltest1\main.cpp(64) : warning C4305: инициализация: усечение из 'double' к 'GLfloat'
1>c:\projects\c++\gltest1\main.cpp(94) : error C2065: ofstream: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(94) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "f"
1>c:\projects\c++\gltest1\main.cpp(94) : error C2065: f: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(95) : error C2065: f: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(95) : error C2228: выражение слева от ".open" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\projects\c++\gltest1\main.cpp(95) : error C2653: ios: не является именем класса или пространства имен
1>c:\projects\c++\gltest1\main.cpp(95) : error C2065: out: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(146) : error C2065: f: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(146) : error C2065: mas: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(147) : error C2065: f: необъявленный идентификатор
1>c:\projects\c++\gltest1\main.cpp(147) : error C2228: выражение слева от ".close" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>Журнал построения был сохранен в "file://c:\Projects\C++\gltest1\Debug\BuildLog.htm"
1>gltest1 - ошибок 11, предупреждений 4
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


P.s. Это не код, пишу цитатой.. =)
PM MAIL   Вверх
Cheloveck
Дата 14.6.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Код

#include <iostream>
#include <fstream>

int main()
{
    int arr[150];
    for( int i = 0; i < 150; i++, arr[i] = i * 2 );
    std::ofstream f("file.txt");
    for( int i = 0; i < 150; i++ )
        f << arr[i];
    f.close();
    return 0;
}



Может, что углядишь. Это 100% работает

Добавлено через 1 минуту и 6 секунд
кстати, про пространство имён std не забыла?


--------------------
user posted image
PM Jabber   Вверх
andrew_121
Дата 14.6.2009, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(baltushka @  14.6.2009,  18:39 Найти цитируемый пост)
Если удалить неопознанные файлы

smile НЛО...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Cheloveck
Дата 14.6.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата(baltushka @  14.6.2009,  19:46 Найти цитируемый пост)
P.s. Это не код, пишу цитатой.. =) 

Есть код "Без подсвети". Здаётся мне, что строки
Код

using namespace std;

в твоём файле нет...

Добавлено через 1 минуту и 49 секунд
Цитата(baltushka @  14.6.2009,  19:46 Найти цитируемый пост)
1>c:\projects\c++\gltest1\main.cpp(146) : error C2065: mas: необъявленный идентификатор

Я, кстати, тоже не вижу объявления o_O



--------------------
user posted image
PM Jabber   Вверх
baltushka
Дата 14.6.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Цитата(Cheloveck @  14.6.2009,  18:49 Найти цитируемый пост)
Может, что углядишь. Это 100% работает


работает! только выдает, точнее, записывает в файл совсем не то, что нужно!!

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


Код

void CALLBACK display(void)
{
    int arr[5];
    for (int a=0; a<5; ++a,arr[a] = a * 2) // зачем ЭТО умножение???
   {
    std::ofstream f("file.txt");
    long t0 = GetTickCount();
    for(int i =0; i < 100; ++i)
   {
    
    int D = 0, j = 0, k, M = 0, mi, ma = 0, x, y;
double s;
int Res[kol] = {15, 32, 31,31, 16, 31, 16, 15, 32,15, 16, 31, 16, 31, 16};

{
    GLfloat knots[8] = {0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0};

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

    glRotatef(330.0, 1, 0., 0.);

    glScalef (0.5, 0.5, 0.5);

    gluBeginSurface(theNurb);

    gluNurbsSurface(theNurb, 
        8, knots,
        8, knots,
        4 * 3,
        3,
        &ctlpoints[0][0][0], 
        4, 4,
        GL_MAP2_VERTEX_3);

    gluEndSurface(theNurb);
    glPopMatrix();

    glFlush();
    auxSwapBuffers();
};
}
    long t1 = GetTickCount();
    long m = t1-t0;
    f << arr[a];

   std::cout <<m << std::endl;
   f.close();
    }


Добавлено через 1 минуту и 52 секунды
Сейчас все падает =((((
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1042 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.