unit6.cpp

来自「数据库管理」· C++ 代码 · 共 157 行

CPP
157
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit6.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm6 *Form6;
int c[20];
float a[20];
int n;
//---------------------------------------------------------------------------
__fastcall TForm6::TForm6(TComponent* Owner)
    : TForm(Owner)
{
}

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


void __fastcall TForm6::FormPaint(TObject *Sender) //画坐标
{
   Canvas->Pen->Color=clBlack;
   Edit1->SetFocus();
   Canvas->MoveTo(50,50);
   Canvas->LineTo(50,400);
   Canvas->MoveTo(20,350);
   Canvas->LineTo(500,350);
   Canvas->TextOutA(52,352,"(0,0)");
   Canvas->MoveTo(490,345);
   Canvas->LineTo(500,350);
   Canvas->MoveTo(490,355);
   Canvas->LineTo(500,350);
   Canvas->TextOutA(502,352,"学期");
   Canvas->MoveTo(45,55);
   Canvas->LineTo(50,50);
   Canvas->MoveTo(55,55);
   Canvas->LineTo(50,50);
   Canvas->TextOutA(57,52,"分数");
   int v=2002;
   for(int i=50;i<=400;i+=100)
     {
        Canvas->TextOutA(i+50,350,"'");
        Canvas->TextOutA(i+100,350,"'");
        Canvas->TextOutA(i+44,355,IntToStr(v)+"上");
        Canvas->TextOutA(i+94,355,IntToStr(v)+"下");
        v++;
     }
   int m=10;
   for (int i=325;i>=100;i-=25)
      {
         Canvas->MoveTo(50,i);
         Canvas->LineTo(54,i);
         Canvas->TextOutA(32,i-6,IntToStr(m));
         m=m+10;
      }
    Canvas->Pen->Color=clBlue;
    Canvas->MoveTo(c[0],a[0]);
     for(int i=0;i<n-1;i++)
     {
      Canvas->LineTo(c[i+1],a[i+1]);
     }

}
//---------------------------------------------------------------------------
void __fastcall TForm6::Button1Click(TObject *Sender)//显示成绩
{

   int temp;
   int t;
   float v;
   n=0;
   AnsiString b[20];
   Repaint();
   if(Edit1->Text=="")
       MessageBox(NULL,"请输入学号","错误",MB_OK);
       else{
   Table1->Close();
   Table1->IndexFieldNames="学号";
   Table1->Open();
   Table1->SetRangeStart();
   Table1->FieldByName("学号")->Value=(Edit1->Text);
   Table1->SetRangeEnd();
   Table1->FieldByName("学号")->Value=(Edit1->Text);
   Table1->ApplyRange();
     int i=0,j;
     Table1->First();
     while(!(Table1->Eof))
     {
       if(Table1->FieldByName("学号")->Value==StrToInt(Edit1->Text))
         {
           a[i]=Table1->FieldByName("成绩")->Value;
           b[i]=Table1->FieldByName("学期")->Value;
           if(b[i]=="2002上")
              c[i]=100;
           if(b[i]=="2002下")
              c[i]=150;
           if(b[i]=="2003上")
              c[i]=200;
           if(b[i]=="2003下")
              c[i]=250;
           if(b[i]=="2004上")
              c[i]=300;
           if(b[i]=="2004下")
              c[i]=350;
           if(b[i]=="2005上")
              c[i]=400;
           if(b[i]=="2005下")
              c[i]=450;
           i++;
           n++;
         }
       Table1->Next();
     }
     for(i=1;i<=n-1;i++)
      {
         t=n-i;
         for(j=0;j<=t-1;j++)
           if(c[j]>c[j+1])
           { temp=c[j];
            c[j]=c[j+1];
            c[j+1]=temp;
            v=a[j];
            a[j]=a[j+1];
            a[j+1]=v;
            }
          }
     for(i=0;i<n;i++)
     {
        a[i]=(350-a[i]*2.5);
     }
     Canvas->Pen->Color=clBlue;
     Canvas->MoveTo(c[0],a[0]);
     for(i=0;i<n-1;i++)
     {
      Canvas->LineTo(c[i+1],a[i+1]);
     }
   }
   Edit1->Text="";
   Edit1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm6::Button2Click(TObject *Sender)//关闭
{
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm6::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
   Repaint();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?