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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2015, 22:10   #11
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

По существу больше никто не может подсказать?
Dima-91 вне форума Ответить с цитированием
Старый 01.07.2015, 22:17   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
По существу больше никто не может подсказать?
А мой вариант решения не подошёл, разве?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.07.2015, 22:29   #13
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А мой вариант решения не подошёл, разве?
Код:
	struct TZap{
	   wchar FIO[30]; // если не нужна обратная совместимость
		int year, group, fiz, math, inf, him;
		float s_b;
	 } Zap;
wchar - не подходит, пробовал wchar_t, ошибка остаеться, не может конвертировать wchar_t в char.
А как сделать добавление нуль-символа в конце FIO только догадки, опыта нет...
Dima-91 вне форума Ответить с цитированием
Старый 01.07.2015, 22:32   #14
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
wchar - не подходит
Что это значит?
Цитата:
пробовал wchar_t, ошибка остаеться
ты в каком городе живёшь?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.07.2015, 22:41   #15
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Что это значит?

ты в каком городе живёшь?
Вы предлагали код
Код:
	struct TZap{
	   wchar FIO[30]; // если не нужна обратная совместимость
		int year, group, fiz, math, inf, him;
		float s_b;
	 } Zap;
wchar - отсутствует. Использовать такого плана могу char, wchar_t, может есть еще что но пока что эти варианты рассмотрел...
Dima-91 вне форума Ответить с цитированием
Старый 01.07.2015, 22:44   #16
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

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

Я тебе дам хороший бесплатный совет (думаю, что сидящие тут господа со мной согласятся) - выкинь этот мусор на помойку и напиши хороший годный код с нуля.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.07.2015, 22:54   #17
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

ну нету у меня на домашних компах С++Билдера, а ставить его ради одной чужой проблемы влом. поищи там в справке строковые типы данных. А то, ведь, регистр символов учитывается, а навскидку я не помню.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.07.2015, 23:01   #18
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Прошу меня простить, но Вы не правы. Мне интересно почему не срабатывает эта функция "strcpy".
Код:
//----------------------
#include <vcl.h>
#include <io.h>
#include <stdio.h>
#include <string.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//-----------------------------
    struct TZap{
	   char FIO[30];
        int year, group, fiz, math, inf, him;
        float s_b;
	 } Zap;
int size = sizeof(TZap);
FILE *Fz;
AnsiString File_Zap;
void Out(TZap, TMemo*);


//-------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        OpenDialog1->Title="Создать новый файл";
        if (OpenDialog1->Execute()){
                File_Zap = OpenDialog1->FileName;
                if ((Fz=fopen(File_Zap.c_str(),"wb"))==NULL)  {
                        ShowMessage("Ошибка создания ФАЙЛА!");
                        return;
                }
        }
        Memo1->Lines->Add("Создали новый файл: "+AnsiString(File_Zap));
        fclose(Fz);

}
//------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo1->Clear();
OpenDialog1->Title="Открыть файл";
   if (OpenDialog1->Execute()) {
                File_Zap = OpenDialog1->FileName;
                if ((Fz=fopen(File_Zap.c_str(),"rb"))==NULL)  {
                        ShowMessage("Ошибка открытия ФАЙЛА!");
                        return;
                }

   Memo1->Lines->Add("--------- Все сведения ---------"); }
   while(1){
   	if(!fread(&Zap,size,1,Fz)) break;
        	Out(Zap, Memo1);
   }
   fclose(Fz);
 }

void Out(TZap z, TMemo *Memo1)
{
     Memo1->Lines->Add("ФИО "+AnsiString(z.FIO));
     Memo1->Lines->Add("Год рождения "+AnsiString(z.year));
     Memo1->Lines->Add("Группа "+AnsiString(z.group));
     Memo1->Lines->Add("Оценки за семестр:");
     Memo1->Lines->Add("Физика "+AnsiString(z.fiz));
     Memo1->Lines->Add("Математика "+AnsiString(z.math));
	 Memo1->Lines->Add("Информатика "+AnsiString(z.inf));
	 Memo1->Lines->Add("Химия "+AnsiString(z.him));
     Memo1->Lines->Add("Средний балл "+AnsiString(FloatToStrF(z.s_b, ffFixed,6,3)));
     Memo1->Lines->Add("-----------------------");


}
//-----------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
   SaveDialog1->Title="Сохранить файл результатов";
        if (SaveDialog1->Execute()) {
                 AnsiString FileNameRez = SaveDialog1->FileName;
                 Memo1->Lines->SaveToFile(FileNameRez);
		}
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button5Click(TObject *Sender)
{
	int i, len;
	String ss;
	Fz = fopen(File_Zap.c_str(),"ab");
 //		strcpy(Zap.FIO,  Edit2->Text.c_str());
 ss =  Edit2->Text;
	len = ss.Length();
	for(i = 1; i <=len; i++ )
		Zap.FIO[i-1] = ss[i];
	Zap.FIO[len]  = '\0';
//		strcpy(Zap.FIO,  Edit2->Text.c_str());
		Zap.year = StrToInt(Edit1 -> Text);
		Zap.group = StrToInt(Edit3 -> Text);
		Zap.fiz = StrToInt(Edit4 -> Text);
		Zap.math = StrToInt(Edit5 -> Text);
		Zap.inf = StrToInt(Edit6 -> Text);
		Zap.him = StrToInt(Edit7 -> Text);

		Zap.s_b =  /*	(Zap.fiz+Zap.math+Zap.inf+Zap.him)/4.;   */
			StrToFloat(Edit8->Text);
		Out(Zap, Memo1);
        fwrite(&Zap, size, 1, Fz);
		Edit1->Text=""; Edit2->Text=""; Edit3->Text=""; Edit4->Text="";
		Edit5->Text=""; Edit6->Text=""; Edit7->Text=""; Edit8->Text="";
		fclose(Fz);

}
//----------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
 int kod = 0;
 Fz = fopen(File_Zap.c_str(),"rb");
 Memo1->Lines->Add("---- Физика 8 или 7, Мат 9 или 10 ------ ");
   while(1){
		if(!fread(&Zap,size,1,Fz)) break;
			if (( Zap.fiz==7 || Zap.fiz==8) && Zap.math > 8)
			{
					Out(Zap, Memo1);
					kod = 1;
			}
	}
	if(kod == 0)
		Memo1->Lines->Add("   Информация не найдена ! ");

}
//----------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
String fiz, math, inf, him;
  float avg, count;
  fiz=Edit4->Text;
  math=Edit5->Text;
  inf=Edit6->Text;
  him=Edit7->Text;

  count=0;
  avg=0;

  if (fiz != "")  {
        count++;
        avg+=StrToFloat(fiz);
  }
                             if (math != "")  {
        count++;
        avg+=StrToFloat(math);
  }

  if (inf != "")  {
        count++;
        avg+=StrToFloat(inf);
  }

  if (him != "")  {
        count++;
        avg+=StrToFloat(him);
  }

  if (count != 0) {
  avg=avg/count;
  }
  Edit8->Text=avg;
}
//---------------------
Это весь код, без Form Create, где использую в
Код:
Edit1-8->Text = ""
.
Dima-91 вне форума Ответить с цитированием
Старый 01.07.2015, 23:01   #19
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

версия билдера, кстати, какая?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 01.07.2015, 23:03   #20
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
версия билдера, кстати, какая?
C++ Builder XE8
Dima-91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idhttp Not Connected как решить проблему? jone Мультимедиа в Delphi 7 02.06.2013 16:17
Как решить проблему со связями? GinIvan Помощь студентам 3 13.03.2012 20:46
ВПР не подходит. Как решить проблему? Vladislav_Dmitriev Microsoft Office Excel 5 23.01.2012 17:37
Как решить проблему двух серверов? Томбмастер Компьютерное железо 0 30.09.2009 21:49
Как решить проблему с массивом? Dem80 Общие вопросы C/C++ 0 15.03.2009 17:05