为什么下面的代码运行出来的结果无法点击注册和登录的键
那怎么样能点击那个注册登录键,能不能帮我改一下代码
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <string.h>
#include<math.h>
#include <windows.h>
#include<ege.h>
// 定义学生结构体
typedef struct {
char name[20];
int age;
char gender[10];
char clas[20];
} Student;
//鼠标消息结构体
// 注册页面
void studentRegisterPage() {
cleardevice();
setfont(20, 0, "宋体");
xyprintf(100, 100, "请输入姓名:");
xyprintf(100, 150, "请输入年龄:");
xyprintf(100, 200, "请输入性别:");
xyprintf(100, 250, "请输入班级:");
char name[20], gender[10], clas[20];
int age;
scanf("%s%d%s%s", name, &age, gender, clas);
// 将学生信息保存到文件中
FILE *fp = fopen("students.txt", "a");
fprintf(fp, "%s %d %s %s\n", name, age, gender, clas);
fclose(fp);
}
// 学生登录页面
int studentLoginPage() {
cleardevice();
setfont(20, 0, "宋体");
xyprintf(100, 100, "请输入姓名:");
char name[20];
scanf("%s", name);
// 读取学生信息文件,并查找是否存在该学生
FILE *fp = fopen("students.txt", "r");
char tempName[20];
int tempAge;
char tempGender[10];
char tempClass[20];
int found = 0;
while (fscanf(fp, "%s %d %s %s", tempName, &tempAge, tempGender, tempClass) != EOF) {
if (strcmp(tempName, name) == 0) {
found = 1;
printf("学生登录成功!\n");
// 进入学生功能界面
// TODO: 进入学生功能界面的代码
break;
}
}
fclose(fp);
if (!found) {
printf("学生登录失败!\n");
return 0;
}
return 1;
}
// 管理员登录页面
int adminLoginPage() {
cleardevice();
setfont(20, 0, "宋体");
xyprintf(100, 100, "请输入管理员用户名:");
char username[20], password[20];
scanf("%s", username);
xyprintf(100, 150, "请输入密码:");
scanf("%s", password);
// 假设管理员用户名和密码为 admin/admin
if (strcmp(username, "admin") == 0 && strcmp(password, "admin") == 0) {
printf("管理员登录成功!\n");
// 进入管理员功能界面
// TODO: 进入管理员功能界面的代码
return 1;
} else {
printf("管理员登录失败!\n");
return 0;
}
}
int main()
{
setcaption("学校运动会管理系统");
initgraph(640, 480);
setbkcolor(WHITE);
setcolor(BLACK);
setfont(20, 0, "宋体");
outtextxy(100, 100, "1. 学生注册");
outtextxy(100, 150, "2. 学生登录");
outtextxy(100, 200, "3. 管理员登录");
outtextxy(100, 250, "4. 退出");
while (is_run())
{
delay_jfps(120);
if (mousemsg())
{
mouse_msg msg = getmouse();
if (msg.is_left() && msg.is_down())
{
int x = msg.x;
int y = msg.y;
if (x > 100 && x < 200 && y > 100 && y < 120)
{
studentRegisterPage();
}
else if (x > 100 && x < 200 && y > 150 && y < 170)
{
studentLoginPage();
}
else if (x > 100 && x < 200 && y > 200 && y < 220)
{
adminLoginPage();
}
else if (x > 100 && x < 200 && y > 250 && y < 270)
{
break;
}
}
}
}
closegraph();
return 0;
closegraph();
return 0;
}