我已经要崩溃了,来个人帮我看看吧,在这里卡了很久

img

这是没改之前豪,提示我有个函数没有说明

img

这是改了之后,提示说 StudentMessageInterface 函数为说明,我就把他取消注释,但是为什么一下子弹出来这么错误,我已经改了接近一下午了,q i u q i u 了,我快绝望了。另外,请问一下,一个项目封装意味着将全部代码分类吗,主函数单独一个cpp,全局变量单独一个,全局函数单独一个吗?

看看你的源代码?


#include <iostream>
#include <easyx.h>
#include <graphics.h>
#include "button.hpp"
using namespace std;

/*一级菜单功能按钮*/
button ShowStudent;                //显示学生
button About;                    //查看说明
button ChangePwd;                //修改密码
button Exit;                    //退出系统

/*二级菜单功能按钮*/
button AddSTU;
button DeleteSTU;
button SortSTU;
button Back;


/*功能函数*/
void AddStudent() {

    if (pre_num < total_num) {


    }
    else {
        MessageBox(NULL, L"抱歉!上限已满!", L"警告", MB_RETRYCANCEL | MB_ICONWARNING);
    }

}


void back_click() {

}


/*绘制一级界面*/
//主界面
void ShowMenu() {

    initgraph(640, 480, SHOWCONSOLE);
    int red = 230;
    int green = 230;
    int blue = 230;

    setbkcolor(RGB(red, green, blue));        //配置初始环境
    setfillcolor(RGB(red, green, blue));
    setlinecolor(LIGHTGRAY);

    solidrectangle(0, 0, 640, 480);            //填白界面

    settextcolor(BLACK);                    //设置标题模式
    setbkmode(OPAQUE);
    settextstyle(50, 0, L"宋体");
    outtextxy(120, 50, _T("学生成绩管理系统"));                        /* 更改画布大小这里要重新设置*/

    settextstyle(30, 0, L"宋体");            //设置选项卡模式
    int x = 260, y = 150;

    setlinestyle(PS_SOLID, 5);
    setlinecolor(BLACK);
    setfillcolor(RGB(red, green, blue));

    fillrectangle(250, 140, 390, 340);                                /* 更改画布大小这里要重新设置*/

    outtextxy(260, 150, L"显示学生");
    line(250, 190, 390, 190);        //line将其余选项卡分隔开                        
    outtextxy(260, 200, L"查看说明");
    line(250, 240, 390, 240);
    outtextxy(260, 250, L"修改密码");
    line(250, 290, 390, 290);
    outtextxy(260, 300, L"退出系统");

}


/*绘制二级界面*/
//学生成绩界面
void StudentMessageInterface() {
    cleardevice();                    //清空画布

    setlinecolor(BLACK);
    setfillcolor(LIGHTGRAY);

    fillrectangle(30, 10, 600, 70);                    
    fillrectangle(30, 70, 600, 130);
    fillrectangle(30, 130, 600, 190);
    fillrectangle(30, 190, 600, 250);
    fillrectangle(30, 250, 600, 310);
    fillrectangle(30, 310, 600, 370);


    setbkmode(LIGHTGRAY);
    settextstyle(20, 0, L"宋体");
    settextcolor(BLACK);

    outtextxy(50, 30, L"学号");
    outtextxy(120, 30, L"姓名");
    outtextxy(200, 30, L"高数");                        
    outtextxy(270, 30, L"英语");
    outtextxy(350, 30, L"计算机");
    outtextxy(450, 30, L"综合");
    outtextxy(530, 30, L"排名");

    setlinestyle(PS_SOLID, 3);
    fillrectangle(80, 390, 140, 430);
    fillrectangle(140, 390, 200, 430);
    fillrectangle(200, 390, 260, 430);

    outtextxy(20, 400, L"返回");                        
    outtextxy(90, 400, L"增加");
    outtextxy(150, 400, L"删除");
    outtextxy(210, 400, L"排序");

    Back.Creat(10, 390, 70, 430, L"返回", back_click);            
    //    settextstyle(50, 0, _T("Wingdings"));
    int pre = 0;            //当前页数    
    int total = 0;        //一共多少页
    wchar_t a[8];

    outtextxy(400, 400, L"<-");
    outtextxy(500, 400, L"->");
    wsprintfW(a, L"%d/%d", pre, total);
    outtextxy(440, 400, a);


    MOUSEMSG msg;
    while (true) {
        while (true) {
            msg = GetMouseMsg();
            if (msg.mkLButton == true) {
                int x = msg.x;
                int y = msg.y;
                if (Back.Check(x, y)) {
                    Back.Function();
                    Judge_Menu = true;
                    break;
                }
                else if (0) {

                    break;
                }
                else if (0) {

                    break;
                }
                else if (0) {

                    break;
                }

            }
        }
        Sleep(10);
    }

}


int main() {

    ShowMenu();
    ShowStudent.Creat(250, 140, 390, 190, L"显示学生", StudentMessageInterface);                /* 更改画布大小这里要重新设置*/
    About.Creat(250, 190, 390, 240, L"显示学生", NULL);
    ChangePwd.Creat(250, 290, 390, 290, L"显示学生", NULL);
    Exit.Creat(250, 290, 390, 340, L"显示学生", NULL);

    MOUSEMSG msg;

    while (true) {                    //主控循环

        while (true) {                        //在主界面则响应其他功能,进入二级界面就限制主界面的判断范围
            msg = GetMouseMsg();
            if (msg.mkLButton == true) {                //左键按下
                int x = msg.x;
                int y = msg.y;
                if (ShowStudent.Check(x, y)) {            //ShowMenu()中寻找坐标区域
                    ShowStudent.Function();
                    break;
                }
                else if (About.Check(x, y)) {

                    break;
                }
                else if (ChangePwd.Check(x, y)) {

                    break;
                }
                else if (Exit.Check(x, y)) {

                    break;
                }

            }
        }
    }

    _getch();
    closegraph();

    return 0;
}