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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите... 
:(
    Опции темы
Leno4kaZaraza
Дата 21.5.2011, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите, пожалуйста, разобраться. Пишу программу для прохождения тестирования. На первый взгляд все работает отлично. Но как только один и тот же тест надо пройти второй раз - выдает либо предыдущий результат либо "Файл не найден"... Не подскажите, что здесь не так? (здесь приведен пример одного теста)




Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "fstream.h"

#include "Unit6.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm6 *Form6;
ifstream f("UY.txt");
int Otv [10];
int vopros=0;
//---------------------------------------------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm6::FormClose(TObject *Sender, TCloseAction &Action)
{
Form1->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm6::FormActivate(TObject *Sender)
{
Memo1->Visible=false;
char stroka [200];
f.getline (stroka, 200);

RadioGroup1->Caption= stroka;
f.getline (stroka, 200);
RadioGroup1->Items->Add(stroka);
f.getline (stroka, 200);
RadioGroup1->Items->Add(stroka);
f.getline (stroka, 200);
RadioGroup1->Items->Add(stroka);

if (!f)
{Memo1->Visible=true;
Memo1->Lines->Add("Файл не найден");
}

}
//---------------------------------------------------------------------------
void __fastcall TForm6::Vopros ()
{
char stroka [200];
if (f.getline (stroka, 200))
{
RadioGroup1->Caption= stroka;
f.getline (stroka, 200);
RadioGroup1->Items->Add(stroka);
f.getline (stroka, 200);
RadioGroup1->Items->Add(stroka);
f.getline (stroka, 200);
RadioGroup1->Items->Add(stroka);

}
else
{
f.close();
}
}
void __fastcall TForm6::ResetForm()
{
RadioGroup1->Items->Clear();
RadioGroup1->Caption="";
}


void __fastcall TForm6::Button1Click(TObject *Sender)
{
Button2->Visible=false;
Button1->Enabled=false;
ResetForm();
Vopros();
vopros++;
if (vopros ==9)
{
Button1->Caption="Результат";
Button2->Visible = true;
}
if ( vopros==10)
 {
 Itog();
 }
        
}
//---------------------------------------------------------------------------

void __fastcall TForm6::RadioGroup1Click(TObject *Sender)
{
if(RadioGroup1->ItemIndex==0)
{
Otv[vopros]=RadioGroup1->ItemIndex;
}
if (RadioGroup1->ItemIndex==1)
{
Otv[vopros]=RadioGroup1->ItemIndex;
}
if (RadioGroup1->ItemIndex==2)
{
Otv[vopros]=RadioGroup1->ItemIndex;
}

if ((RadioGroup1->ItemIndex==1)||(RadioGroup1->ItemIndex==2)||(RadioGroup1->ItemIndex==0))
{
Button1->Enabled=true;
Button1->SetFocus();
}        
}
//---------------------------------------------------------------------------

void __fastcall TForm6::Button2Click(TObject *Sender)
{
Form1->Show();
Form6->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm6::Itog ()
{
 int sum=0;
 for (int i=0; i<9; i++)
 {
 if (Otv[i]==0)
 sum=sum+3;
  if (Otv[i]==1)
 sum=sum+2;
  if (Otv[i]==2)
 sum=sum+1;
   }
  Memo1->Clear();
  Memo1->Visible=true;
  Memo1->Lines->Add("Общая сумма баллов: "+IntToStr(sum));
  if ((sum>=0)&&(sum<=5))
  {
 Memo1->Lines->Add("Вы мрачный человек, и от этого Вам не весело, и друзьям "
                   "тоже. Не удивляйтесь, если Вашего общества иногда избегают.");
  }
  if ((sum>=6)&&(sum<=10))
  {
 Memo1->Lines->Add("Даже в хорошем настроении Вы слишком практичны, трезвы в "
                   "суждениях, а это никого не развеселит, скорее утомит окружающих.");
  }
  if ((sum>=11)&&(sum<=20))
  {
 Memo1->Lines->Add("Обладаете здоровым, реальным чувством юмора, в шутках не "
                   "перебарщиваете. Ваше остроумие не задевает и не утомляет окружающих.");
  }
  if ((sum>=21)&&(sum<=30))
  {
 Memo1->Lines->Add("Юмор в Вас просто бурлит. Даже перехлестывает через "
                   "края. Так что будьте посдержаннее, иначе Ваше поведение можно истолковать "
                   "не так, как Вам бы хотелось.");
  }
 RadioGroup1->Visible=false;
 Button1->Visible=true;
 Button2->Visible=true;
 }


PM MAIL   Вверх
borisbn
Дата 22.5.2011, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



после того, как файл прочитался до конца, больше ты из него ничего не прочитаешь. Необходимо "отматывать" файл на начало.
Вставь в ф-цию Itog эту строку
Код

f.seekg (0, ios::beg);



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Leno4kaZaraza
Дата 22.5.2011, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все равно все осталось по прежнему. Хочу пройти тест еще раз - показывает "Файл не найден" или результат предыдущий. Пробовала вставить эту строку и в функцию Itog и в другие функции. Результат один и тот же....
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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