c语言课程设计
发布网友
发布时间:2022-04-19 15:32
我来回答
共1个回答
热心网友
时间:2023-04-29 10:59
//随便写了个,你看看能用不
#include <stdio.h>
#include <string.h>
int login(void)//登陆
{
char user[16];
char password[16];
printf("\033[8;16H");//定位到8行16列
printf("user:");
scanf("%s", user);
printf("\033[10;16H");//定位到10行16列
printf("password:");
scanf("%s", password);
//账号:admin 密码:123
if( (strcmp( user, "admin") == 0 )&& (strcmp( password, "123") == 0 ))
{
printf("\033[9;18H");//定位到9行18列
printf("region success!\n");
return 0;
}
printf("\033[9;18H");//定位到9行18列
printf("user or password error!\n");
sleep(1);
printf("\033[2J\n");//清屏
login();
}
void functional_selection_frame(void)//界面
{
printf("\033[8;16H");//定位到8行16列
printf("1.课表查询\n");
printf("\033[9;16H");//定位到9行16列
printf("2.学生选课\n");
printf("\033[10;16H");//定位到10行16列
printf("3.考试申请\n");
printf("\033[11;16H");//定位到11行16列
printf("4.退出系统\n");
return;
}
int functional_selection(void)//功能选择
{
char c;
int flag = 0;
functional_selection_frame();
system("stty -echo");//关闭回显
system("stty -icanon");//设置一次性读操作
while(1)
{
c = getchar();
switch(c)
{
case '1':
printf("\033[2J\n");//清屏
printf("\033[10;16H1-课表查询\n");//定位到10行16列
flag = 1;
break;
case '2':
printf("\033[2J\n");//清屏
printf("\033[10;16H2-学生选课\n");//定位到10行16列
flag = 1;
break;
case '3':
printf("\033[2J\n");//清屏
printf("\033[10;16H3-考试申请\n");//定位到10行16列
flag = 1;
break;
case '4':
printf("\033[2J\n");//清屏
printf("\033[10;16H4-退出系统\n");//定位到10行16列
flag = 1;
break;
default:
break;
}
if(flag == 1)
break;
}
system("stty echo");//开启回显
system("stty icanon");//关闭一次性读操作
return 0;
}
int main(void)
{
int ret;
printf("\033[2J\n");//清屏
ret = login();//登录输入账号密码账号:admin 密码:123
if(ret < 0)
return -1;
printf("\033[2J\n");//清屏
functional_selection();//功能选择 1-课表查询 2-学生选课 3-考试申请 4-退出系统
return 0;
}