⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zu.cpp

📁 中小学排课系统.做得比较简单,仅供大家参考.
💻 CPP
📖 第 1 页 / 共 3 页
字号:
     }
     Form4->Label30->Caption=zjs;
     Table2->IndexName="KCMC";
     Form4->Show();
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Js(char *kp)
{
  char *poa;
  poa=new char[512];
  strcpy(poa,"KCH1 = '");
  strcat(poa,kp);
  strcat(poa,"\' OR KCH2 = \'");
  strcat(poa,kp);
  strcat(poa,"\' OR KCH3 = \'");
  strcat(poa,kp);
  strcat(poa,"\' OR KCH4 = \'");
  strcat(poa,kp);
  strcat(poa,"\' OR KCH5 = \'");
  strcat(poa,kp);
  strcat(poa,"\' OR KCH6 = \'");
  strcat(poa,kp);
  strcat(poa,"\'");
  Form3->Table1->Filter=poa;
  Form3->Table1->Active = true;
  Form3->Table1->First();
  Form4->ComboBox24->Items->Clear();
  while(!Form3->Table1->Eof){
    Form4->ComboBox24->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
    Form3->Table1->Next();
  };
  delete poa;
}

void __fastcall TForm2::N7Click(TObject *Sender)
{
  Table2->Active = false;
  Table2->TableName= "kcm.dbf";
  Table2->IndexName="";
  Table2->Active = true;
//  Table2->First();
  Form5->ComboBox1->Items->Clear();
  Table2->First();
  while(!Table2->Eof){
    Form5->ComboBox1->Items->Add(Table2->FieldByName("KCMC")->AsString);
    Table2->Next();
  };
//  Form4->Table1->Active = false;
  Form4->Table1->Active = true;
  Form4->Table1->First();
  Form5->ComboBox3->Items->Clear();
  while(!Form4->Table1->Eof){
    Form5->ComboBox3->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
    Form4->Table1->Next();
  };
  Table3->TableName= "zkba.dbf";
  Table3->Active = true;
  Form5->Show();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::N12Click(TObject *Sender)
{
   Table1->Active = false; // 复制总课表空表
   Table3->Active = false;
   Table1->Active = false; //
   Table1->FieldDefs->Clear();
   Table1->IndexDefs->Clear();
   Table1->Filter="";
   Table1->TableName= "zkb.dbf";
   Table1->IndexName="BJMC";
   Table1->Active = true;
   Table1->Active = false; //
   Table1->TableType = ttFoxPro;
   Table1->TableName= "zkba.dbf";
   Table1->CreateTable();
   Table3->Active = true;
   Form4->Table1->Active = true;
   Form4->Table1->First();
   while(!Form4->Table1->Eof){
    Table3->AppendRecord(ARRAYOFCONST((Form4->Table1->FieldByName("BJMC")->AsString)));
    Form4->Table1->Next();
   };
   ShowMessage("总课程表初始化结束。");
   R1->Enabled=true;
   B1->Enabled=true;
   T1->Enabled=true;
   K1->Enabled=true;
   R2->Enabled=true;
   N7->Enabled=true;
   N12->Enabled=false;
   S2->Enabled=false;
   P3->Enabled=false;

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


void __fastcall TForm2::R1Click(TObject *Sender)
{
 R1->Enabled=false;
 B1->Enabled=false;
 T1->Enabled=false;
 K1->Enabled=false;
 R2->Enabled=false;
 N7->Enabled=false;
 N12->Enabled=true;
 B3->Enabled=true;
 S2->Enabled=true;
 P3->Enabled=true;
 char *ow,*nv;
 char mb[4];
 ow=new char[256];
 nv=new char[256];
 bool sx[8];
 int jgz=1;
 Table2->Active = false;  //课程表
 Table2->TableName= "kcm.dbf";
 Table2->IndexName="KCMC";
 Table2->Active = true;  //课程表
 Table3->Active = false; //总课表
 Table3->IndexName="BJMC";
 Table3->Active = true; //总课表
 Form3->Table1->Active = true;  //教师表
 Form4->Table1->Active = true;  //班级表
 Form4->Table2->Active = false;  //分班任课表
 Form4->Table1->First();
 //Form4->Table2->First();
 Form3->Table1->First();
 Table2->First();
 Table3->First();
 randomize();
// static int ipq;
 bool szb=true;
 while(!Form4->Table1->Eof&&szb){
     char *uy7;
     uy7=new char[30];
     strcpy(uy7,"KSSA");
     strcat(uy7,Form4->Table1->FieldByName("BJHM")->AsString.c_str());
     strcat(uy7,".DBF");
     Form4->Table2->Active = false;
     Form4->Table2->TableName= uy7;
     Form4->Table2->IndexName="";
     Form4->Table2->Active = true;
     Form4->Table2->First();
     delete uy7;
     if(Table3->FindKey(ARRAYOFCONST((Form4->Table1->FieldByName("BJMC")->AsString)))){
        //int mbc=Table3->RecNo;
        int p2;
        while(!Form4->Table2->Eof){
            p2=Form4->Table2->FieldByName("KSS")->AsString.ToIntDef(0);
            if(Table2->FindKey(ARRAYOFCONST((Form4->Table2->FieldByName("KCMC")->AsString)))){
                sx[1]=Table2->FieldByName("JC1")->Value;
                sx[2]=Table2->FieldByName("JC2")->Value;
                sx[3]=Table2->FieldByName("JC3")->Value;
                sx[4]=Table2->FieldByName("JC4")->Value;
                sx[5]=Table2->FieldByName("JC5")->Value;
                sx[6]=Table2->FieldByName("JC6")->Value;
                sx[7]=Table2->FieldByName("JC7")->Value;
                int kf;
                kf=int(rand()%42);
                if(p2>5)
                  jgz=3;
                else if(p2>3)
                   jgz=4+int(rand()%6);
                else if(p2==3)
                   jgz=8+int(rand()%6);
                else if(p2==2)
                   jgz=12+int(rand()%6);
                int fpq=0,cx=42;
                while(p2>0){
                   kf=kf%42;
                   if(fpq==p2){
                      if(cx==kf){
                         sx[7]=true;
                      }
                   }
                   else{
                     fpq=p2;
                     cx=kf;
                   }
                   strcpy(ow,"KCMC");
                   itoa(kf+1, mb, 10);
                   strcat(ow,mb);
                   strcpy(nv,"TXM");
                   strcat(nv,mb);
                   if(strcmp(Table3->FieldByName(ow)->AsString.c_str(),"")==0&&sx[kf%7+1]){
                      Table3->First();
                      bool ad1=true;
                      while(!Table3->Eof&&ad1){
                      //   if(strcmp(Table3->FieldByName(nv)->AsString.c_str(),Form4->Table2->FieldByName("TXM")->AsString.c_str())!=0){
                         if(Table3->FieldByName(nv)->AsString==Form4->Table2->FieldByName("TXM")->AsString){
                           ad1=false;
                         }
                         Table3->Next();
                      }
                      //Table3->RecNo=mbc;
                      Table3->FindKey(ARRAYOFCONST((Form4->Table1->FieldByName("BJMC")->AsString)));
                      if(ad1){
                         Table3->Edit();
                         Table3->FieldByName(ow)->AsString =Form4->Table2->FieldByName("KCMC")->AsString;
                         Table3->FieldByName(nv)->AsString =Form4->Table2->FieldByName("TXM")->AsString;
                         Table3->Post();
                         if(kf%7>=3)
                             kf=kf+jgz+int(rand()%2)+int(rand()%2)+int(rand()%2);
                         else
                             kf=kf+jgz+int(rand()%2)+int(rand()%2);
                         p2=p2-1;
                      }
                      else{
                        kf=kf+1;
                        if(kf%7==0)
                           kf=kf+int(rand()%2)*int(rand()%2);
                      }
                   }
                   else{
                     kf=kf+1;
                     if(kf%7==0)
                        kf=kf+int(rand()%2);
                   }
                }
            }
            Form4->Table2->Next();
        }
     }
     else{
        ShowMessage("总课程表数据初始化出现错误,请重新进行输入。");
        szb=false;
     }
     Form4->Table1->Next();
 }
 if(szb)
    ShowMessage("新课程表已经排好,请再进行查询和手动调整。");
}
//---------------------------------------------------------------------------


void __fastcall TForm2::B3Click(TObject *Sender)
{
  Table2->Active = false;
  Table2->TableName= "kcm.dbf";
  Table2->IndexName="";
  Table2->Active = true;
  Table2->First();
  Form6->ComboBox3->Items->Clear();
  while(!Table2->Eof){
    Form6->ComboBox3->Items->Add(Table2->FieldByName("KCMC")->AsString);
    Table2->Next();
  };
  Form4->Table1->Active = true;
  Form4->Table1->First();
  Form6->ComboBox1->Items->Clear();
  while(!Form4->Table1->Eof){
    Form6->ComboBox1->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
    Form4->Table1->Next();
  };
  Form3->Table1->Active = true;
  Form3->Table1->First();
  Form6->ComboBox2->Items->Clear();
  while(!Form3->Table1->Eof){
    Form6->ComboBox2->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
    Form3->Table1->Next();
  };
  Table3->TableName= "zkba.dbf";
  Table3->Active = true;
  Form6->RadioGroup1->ItemIndex =0;
  Form6->ComboBox2->Visible=false;
  Form6->Label2->Visible=false;
  Form6->ComboBox1->Visible=true;
  Form6->Label1->Visible=true;
  Form6->ComboBox3->Visible=false;
  Form6->Label4->Visible=false;
  Form6->Show();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::T3Click(TObject *Sender)
{
  Table2->Active = false;
  Table2->TableName= "kcm.dbf";
  Table2->IndexName="";
  Table2->Active = true;
  Table2->First();
  Form6->ComboBox3->Items->Clear();
  while(!Table2->Eof){
    Form6->ComboBox3->Items->Add(Table2->FieldByName("KCMC")->AsString);
    Table2->Next();
  };
  Form4->Table1->Active = true;
  Form4->Table1->First();
  Form6->ComboBox1->Items->Clear();
  while(!Form4->Table1->Eof){
    Form6->ComboBox1->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
    Form4->Table1->Next();
  };
  Form3->Table1->Active = true;
  Form3->Table1->First();
  Form6->ComboBox2->Items->Clear();
  while(!Form3->Table1->Eof){
    Form6->ComboBox2->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
    Form3->Table1->Next();
  };
  Table3->TableName= "zkba.dbf";
  Table3->Active = true;
  Form6->RadioGroup1->ItemIndex =1;
  Form6->ComboBox2->Visible=true;
  Form6->Label2->Visible=true;
  Form6->ComboBox3->Visible=false;
  Form6->Label4->Visible=false;
  Form6->ComboBox1->Visible=false;
  Form6->Label1->Visible=false;
  Form6->Show();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::K2Click(TObject *Sender)
{
  Table2->Active = false;
  Table2->TableName= "kcm.dbf";
  Table2->IndexName="";
  Table2->Active = true;
  Table2->First();
  Form6->ComboBox3->Items->Clear();
  while(!Table2->Eof){
    Form6->ComboBox3->Items->Add(Table2->FieldByName("KCMC")->AsString);
    Table2->Next();
  };
  Form4->Table1->Active = true;
  Form4->Table1->First();
  Form6->ComboBox1->Items->Clear();
  while(!Form4->Table1->Eof){
    Form6->ComboBox1->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
    Form4->Table1->Next();
  };
  Form3->Table1->Active = true;
  Form3->Table1->First();
  Form6->ComboBox2->Items->Clear();
  while(!Form3->Table1->Eof){
    Form6->ComboBox2->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
    Form3->Table1->Next();
  };
  Table3->TableName= "zkba.dbf";
  Table3->Active = true;
  Form6->RadioGroup1->ItemIndex =2;
  Form6->ComboBox3->Visible=true;
  Form6->Label4->Visible=true;
  Form6->ComboBox1->Visible=false;
  Form6->Label1->Visible=false;
  Form6->ComboBox2->Visible=false;
  Form6->Label2->Visible=false;
  Form6->Show();

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

void __fastcall TForm2::K1Click(TObject *Sender)
{
 Table2->Active = false;
 Table2->TableName= "kcm.dbf";
 Table2->IndexName="";
 Table2->Active = true;
 Form7->DataSource1->DataSet=Form2->Table2;
 Table2->First();
 Form7->Show();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::A2Click(TObject *Sender)
{
  AboutBox->Show();        
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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