欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何为C语言新手创建漂亮图形界面(包含源代码和完整文件示例)

最编程 2024-02-21 08:35:30
...
/************************************************************************ 程序名:日程管理系统 版本号:2.0 程序功能:1)设计学生端口和教师端口,学生端学生自我管理,教师端教师监督管理 2)注册、登录账号,修改密码 3)添加、修改、删除、显示日程 4)文件自动保存 5) 精美界面,界面友好,交互性强 6)系统会进行自动保存 7)登录后退出需要重新登录 ************************************************************************/ /*对库函数的定义*/ #include <graphics.h> // 引用图形库头文件 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include <conio.h> #include<tchar.h> /*宏定义*/ #define NUMBER 100//定义可容纳(学生/教师)的用户数量 #define MANAGELENGTH 30//定义事件长度(包含时间) #define STRLENGTH 30//定义用户名长度 #define NUMLENGTH 12//定义密码长度 /*定义图片*/ IMAGE welcome;//欢迎界面 IMAGE welcome_button;//ENTER按钮 IMAGE startup;//初始界面 IMAGE stu1;//学生端初始 IMAGE stu1_return; IMAGE stu1_exit; IMAGE stu_register;//学生端:创建账户 IMAGE stu_logon;//学生端:学生登录 IMAGE stu_resetpassword;//学生端:修改密码 IMAGE stu_schedulemanagement1;//学生端:日程管理界面1 IMAGE stu_schedulemanagement2;//学生端:日程管理界面2 IMAGE stu_schedulemanagement2_return; IMAGE stu_schedulemanagement2_exit; IMAGE teacher1;//教师端初始 IMAGE teacher1_return; IMAGE teacher1_exit; IMAGE teacher_register;//教师端:创建账户 IMAGE teacher_logon;//教师端:教师登录 IMAGE teacher_resetpassword;//教师端:修改密码 IMAGE teacher_schedulemanagement1;//教师端:日程管理界面1 IMAGE teacher_schedulemanagement2;//教师端:日程管理界面2 IMAGE teacher_schedulemanagement2_return; IMAGE teacher_schedulemanagement2_exit; IMAGE createschedule;//学生端:创建日程 IMAGE resetschedule;//学生端:修改日程 IMAGE finishedcondition;//学生端:完成状态 IMAGE setstuschedule;//教师端:设定学生日程 IMAGE resetstuschedule;//教师端:修改学生日程 IMAGE checkfinishedcondition;//教师端:查看完成状态 IMAGE end;//结束界面 /*全局变量*/ int nStudentNum = 0;//注册的学生编号(从0开始)(同时也代表着注册人数) int nTeacherNum = 0;//注册的教师编号 (第一个注册的用户编号为0) int nStuFlag = 0;//定义判断学生是否登录的标志变量 int nTeacherFlag = 0;//定义判断教师是否登录的标志变量 int studentnum;//定义登录的学生编号 int teachernum;//定义登录的教师编号 /*定义学生结构体数组*/ struct student { wchar_t szName[STRLENGTH];//定义学生用户名 wchar_t password1[NUMLENGTH];//定义学生账户密码 wchar_t password2[NUMLENGTH];//定义学生二次输入密码 int nSerialNum;//定义学生序号(从1开始) int nManagement = 0;//定义学生的日程事件数 wchar_t Management1[10][MANAGELENGTH];//定义存储该学生设定的初始时间字符数组 设定一个学生最多设定10个事件 wchar_t Management2[10][MANAGELENGTH];//定义存储该学生设定的截止时间字符数组 wchar_t Management3[10][MANAGELENGTH];//定义存储该学生设定的日程内容字符数组 wchar_t FinishStatus[10][MANAGELENGTH];//定义每个学生设定的日程的完成状态 }stu[NUMBER]; /*定义教师的结构体数组*/ struct teacher { wchar_t szName[STRLENGTH];//定义教师用户名 wchar_t password1[NUMLENGTH];//定义教师账户密码 wchar_t password2[NUMLENGTH];//定义教师二次输入密码 int nSerialNum;//定义老师序号(从1开始) }teacher[NUMBER]; /*函数声明***********************************************/ /*欢迎界面函数*/ void Welcome(FILE *fp); /*文件保存函数*/ void SaveFile(FILE *fp); /*一级主菜单函数*/ void Select_MainMenu(FILE *fp); /*二级菜单函数*/ //二级菜单学生端目录显示 void OutputStu_SecondMenu(FILE *fp); //二级菜单教师端目录显示 void OutputTeacher_SecondMenu(FILE *fp); //二级菜单:学生创建账户 void Stu_Register(FILE *fp); // 二级菜单:学生登录 void Stu_Logon(); //二级菜单:学生修改密码 void Stu_ResetPassword(FILE *fp); //二级菜单:学生日程管理 void Stu_ScheduleManagement(FILE *fp); //二级菜单:教师创建账户 void Teacher_Register(FILE *fp); //二级菜单:教师登录 void Teacher_Logon(); //二级菜单:教师修改密码 void Teacher_ResetPassword(FILE *fp); //二级菜单:教师对学生日程管理 void Teacher_ScheduleManagement(FILE *fp); /*二级菜单结束*/ /*三级菜单*/ //三级菜单:新建日程 void CreateSchedule(FILE *fp); //三级菜单:修改日程 void ResetSchedule(FILE *fp); //三级菜单:完成状态 void FinishedCondition(FILE *fp); //三级菜单:设定学生日程 void SetStuSchedule(FILE *fp); //三级菜单:修改学生日程 void ResetStuSchedule(FILE *fp); //三级菜单:查看学生完成状态 void CheckFinishedCondition(); /*三级菜单结束*/ /*函数声明结束********************************************/