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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2012, 19:55   #1
MaxYalunin
 
Регистрация: 12.10.2012
Сообщений: 4
По умолчанию Футбольная Таблица

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include "Unit1.h"
#include <math.h>

struct team{
char name[25];
char points[5];
char zabg[5];
char prg[5];
char k1[25];
char k2[25];
char g1[25];
char g2[25];};
team z;
int h=1, p=1, g=1, i=1;
FILE *xxx, *zzz;

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
StringGrid1->Options = StringGrid1->Options << goEditing;
StringGrid1->Cells[0][0]="Название";
StringGrid1->ColWidths [0] =150;
StringGrid1->Cells[1][0]="О";
StringGrid1->ColWidths [1] =30;
StringGrid1->Cells[2][0]="ЗГ";
StringGrid1->ColWidths [2] =30;
StringGrid1->Cells[3][0]="ПГ";
StringGrid1->ColWidths [3] =30;

xxx=fopen("Файл.txt","r");
while(!feof(xxx)){
fread(&z,sizeof(team),1,xxx);
StringGrid2->Cells[0][h]=z.k1;
StringGrid2->Cells[1][h]=z.g1;
StringGrid2->Cells[2][h]=z.g2;
StringGrid2->Cells[3][h]=z.k2;
StringGrid2->RowCount=h;
h++;
}
h=h-1;
StringGrid1->RowCount=17;
StringGrid1->ColCount=4;
StringGrid1->Cells[0][1]="Зенит";
StringGrid1->Cells[0][2]="ЦСКА";
StringGrid1->Cells[0][3]="Спартак";
StringGrid1->Cells[0][4]="Динамо";
StringGrid1->Cells[0][5]="Локомотив";
StringGrid1->Cells[0][6]="Рубин";
StringGrid1->Cells[0][7]="Анжи";
StringGrid1->Cells[0][8]="Кубань";
StringGrid1->Cells[0][9]="Амкар";
StringGrid1->Cells[0][10]="Крылья Советов";
StringGrid1->Cells[0][11]="Краснодар";
StringGrid1->Cells[0][12]="Алания";
StringGrid1->Cells[0][13]="Ростов";
StringGrid1->Cells[0][14]="Мордовия";
StringGrid1->Cells[0][15]="Терек";
StringGrid1->Cells[0][16]="Волга";

for (i=1;i<17;i++)
StringGrid1->Cells[1][i]=0;
for (i=1;i<17;i++)
StringGrid1->Cells[2][i]=0;
for (i=1;i<17;i++)
StringGrid1->Cells[3][i]=0;

}
void __fastcall TForm1::Button2Click(TObject *Sender)
{ {
strcpy(z.g1,Edit1->Text.c_str());
strcpy(z.k1,ComboBox1->Text.c_str());
strcpy(z.g2,Edit2->Text.c_str());
strcpy(z.k2,ComboBox2->Text.c_str());

StringGrid2->Cells[0][h]=z.k1;
StringGrid2->Cells[1][h]=z.g1;
StringGrid2->Cells[2][h]=z.g2;
StringGrid2->Cells[3][h]=z.k2;

xxx=fopen("Файл.txt","a");
fwrite(&z,sizeof(team),1,xxx);
fclose(xxx);
h++;
StringGrid2->RowCount=h;

xxx=fopen("Результаты.txt","a");
fwrite(&z,sizeof(team),1,xxx);
fclose(xxx);
}
StringGrid1->Cells[1][ComboBox1->ItemIndex]+=Edit1->Text;
StringGrid1->Cells[2][ComboBox1->ItemIndex]+=Edit2->Text; 
StringGrid1->Cells[2][ComboBox2->ItemIndex]+=Edit1->Text; 
StringGrid1->Cells[1][ComboBox2->ItemIndex]+=Edit2->Text; 

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

void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key < '0' || Key > '9') && Key!=8) Key=0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
if ((Key < '0' || Key > '9') && Key!=8) Key=0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (p=1;p<StringGrid2->RowCount-1;p++)
if (abs(StrToInt(StringGrid2->Cells[1][p])-StrToInt(StringGrid2->Cells[2][p]))>2)
{
StringGrid3->Cells[0][p]=StringGrid2->Cells[0][p];
StringGrid3->Cells[1][p]=StringGrid2->Cells[1][p];
StringGrid3->Cells[2][p]=StringGrid2->Cells[2][p];
StringGrid3->Cells[3][p]=StringGrid2->Cells[3][p];
}

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

void __fastcall TForm1::Button4Click(TObject *Sender)
{
g=1;
xxx=fopen("Файл.txt","r");
 while(!feof(xxx)){
fread(&z,sizeof(team),1,xxx);
StringGrid3->Cells[0][h]=z.k1;
StringGrid3->Cells[1][h]=z.g1;
StringGrid3->Cells[2][h]=z.g2;
StringGrid3->Cells[3][h]=z.k2;
StringGrid3->RowCount=g;
g++;
            }

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




Люди добрые помогите! Вот код моей программы. Там названия команд прописаны слева в комбобоксе, а справа (в стринггриде) вручную. Как сделать так, чтобы при добавлении результатов нужным командам прибавлялось правильное кол-во очков за матч, кол-во забитых и пропущенных голов?

Последний раз редактировалось Stilet; 18.10.2012 в 20:23.
MaxYalunin вне форума Ответить с цитированием
Старый 18.10.2012, 19:57   #2
LynXzp
Пользователь
 
Аватар для LynXzp
 
Регистрация: 04.10.2012
Сообщений: 95
По умолчанию

1) Пробуй задавать такой вопрос, чтобы на него можно было как можно быстрее ответить.

2) Все читать лень. Судя по описанию что у тебя не получается и скриншоту тебе не хватает такой строки:

StringGrid1->Cells[x][y]=IntToStr(StrToInt(StringGrid2->Cells[a][b])+StrToInt(Edit2->Text));

StrToInt - переводит строку в число. Потом можно с числом производить арифметические действия и преобразовывать обратно в сроку

Если что пиши.
Пишу на чистом С, плюсы спилил.
LynXzp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таблица saiwin Microsoft Office Excel 2 15.03.2012 15:13
написать программку "футбольная таблица" (чистый C) Kostya77 Помощь студентам 1 20.10.2011 08:18
C++ таблица v0a Помощь студентам 36 13.05.2011 16:36
Таблица Namolem Общие вопросы .NET 4 15.05.2010 00:41
таблица artemavd Общие вопросы Delphi 3 23.07.2008 13:56