• 大小: 399KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-05
  • 语言: C/C++
  • 标签: C++  

资源简介

C++实现的简易排课系统,使用到STL库,实现功能如下:
登陆界面;
信息录入:主要是将课程相关信息录入;可以设置课程门数上限;
信息处理:课表要求每周上两次以上的课程的时间安排至少间隔一天;
显示项目:对学生课程信息进行处理、列表、显示;
信息保存:课表信息可以保存,保存形式自己设定;
课程信息安排可设置特殊要求:如某门课程要求1、2节上课等或者要求周三上课等;某门课程安排单双周有不同,如单周上一次,双周上两次等。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define  Max  10
using namespace std;
int num;//总共上课的门数
string store[4][5];//用来存储
float flag[5][5];//用来储存单双周的情况
char major[20];
char username[10];
int  number;
struct project
{
    int pri;//确定优先级
    char name[60];//课程名称
    char teacher[10];//任课老师名字
    int data[2];//课程的特殊需求
    string code;//课程代号
    int period;//课程学时
    int count;//一周上课次数
    int odd_even;//是否有单双周
    bool operator == (project p)
    {
        if (p.code == code)
            return true;
        return false;
    }
};
list  l;



bool cmp(const project &p1const project &p2)
{
    if (p2.pri < p1.pri)
        return true;
    return false;
}

///储存课表
void Store()
{
    FILE *fpt;
    fpt=fopen(“课表.txt““w“);
    fprintf(fpt“|-----------------------------------------------------------------------------|\n“);
    fprintf(fpt“|                                                                             |\n“);
    fprintf(fpt“|                               %s课表                                   |\n“major);
    fprintf(fpt“|                                                                             |\n“);
    fprintf(fpt“|-----------------------------------------------------------------------------|\n“);
    for(int s=0;s<2;s++)
    {
        if (s == 0)
        {
            fprintf(fpt“\t\t\t\t\t   *单周*“);
            fprintf(fpt“                                                                  \n“);
            fprintf(fpt“\t第一节“);
            for(int i = 0;i < Max - 6;i++)
                fprintf(fpt“ “);
            fprintf(fpt“        “);
            fprintf(fpt“\t第二节“);
            for(int i = 0;i < Max - 6;i++)
                fprintf(fpt“ “);
            fprintf(fpt“        “);
            fprintf(fpt“\t第三节“);
            for(int i = 0;i < Max - 6;i++)
                fprintf(fpt“ “);
            fprintf(fpt“        “);
            fprintf(fpt“\t第四节“);
            for(int i = 0;i < Max - 6;i++)
                fprintf(fpt“ “);
            fprintf(fpt“\n\n“);
            fprintf(fpt“-----------------------------------------------------------------------------“);
            fprintf(fpt“\n\n“);
            for (int i = 0 ; i < 5 ; i++)
            {
                bool tmp = true;
                switch(i)
                {
                case 0:
                    {
                        fprintf(fpt“周一\t“);
                    }break;
                case 1:
                    {
                        fprintf(fpt“周二\t“);
                    }break;
                case 2:
                    {
                        fprintf(fpt“周三\t“);
                    }break;
                case 3:
                    {
                       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-05 15:59  课程设计课程表\bin\
     目录           0  2019-12-05 16:03  课程设计课程表\bin\Debug\
     文件     1167582  2019-12-05 16:03  课程设计课程表\bin\Debug\课程设计课程表.exe
     文件       69396  2019-12-05 15:59  课程设计课程表\main.cpp
     文件       49109  2019-12-05 15:59  课程设计课程表\main.o
     目录           0  2019-12-05 16:00  课程设计课程表\obj\
     目录           0  2019-12-05 16:00  课程设计课程表\obj\Debug\
     文件      171656  2019-12-05 16:00  课程设计课程表\obj\Debug\main.o
     文件        1113  2019-12-05 15:59  课程设计课程表\课程设计课程表.cbp
     文件         422  2019-12-05 16:03  课程设计课程表\课程设计课程表.depend
     文件         357  2019-12-05 16:18  课程设计课程表\课程设计课程表.layout

评论

共有 条评论