用select case实现用户分级别登录

        在敲机房收费系统的时候,我没有像大部分同学一样先敲登录窗体,因为当时就觉得无从下手,不知道该怎么做。大家都说定义一个公有变量,然后在登录的时候进行判断。于是,我有了这样一个模糊的概念。但是,直到昨天,我依然没有着手敲这个窗体,因为总是觉得太麻烦了。

 

        今天突然觉得自己可以敲了,然后,就敲出来了,自我感觉没那么复杂。下面就来看看我是怎么实现的吧。

 

        我没有按照原系统的登录窗体的界面来设计,而是加了一个combobox控件,运行后界面是这样的效果:

       在登录的时候直接进行用户级别的选择。然后,根据用户级别来判断在所选级别之下是否有我所输入的用户名,假如没有的话,就会弹出相应的提示:

 

        然后在登录窗体中定义了两个变量L和U,L用来存放登录用户的级别,U用来存放登录的用户名。

在frmMain加载的时候,就可以根据存放登录用户级别的变量来判断窗体加载的用户权限,假如是一般用户登录的话,加载的窗体就只有“一般用户”权限,其他两个(操作员和管理员)动态隐藏,即visible属性为false。

 

         判断用户级别的时候我用的是select case语句。

 

PrivateSub Form_Load()

    Select Case frmlogin.L

       Case "管理员"

           frmMain.Show

       Case "操作员"

            frmMain.Manager.Visible = False

       Case "一般用户"

            frmMain.Operator.Visible = False

            frmMain.Manager.Visible = False

           

    End Select

 

         这样就实现了用户分级别登录。 

 

作者信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,我将为您提供一个简单的C语言代码实现实现小学数学学习系统的基本功能。由于篇幅有限,代码中可能没有考虑到所有的细节问题,仅供参考。 ```c #include <stdio.h> #include <stdlib.h> #include <time.h> // 定义题目结构体 struct Question { int num1; // 运算数1 int num2; // 运算数2 char operator; // 运算符 int result; // 运算结果 int answer; // 用户回答 }; // 定义用户结构体 struct User { char name[20]; // 用户名 char password[20]; // 密码 int score; // 得 int total; // 总题数 int correct; // 正确题数 int wrong; // 错误题数 }; // 定义题目生成函数 struct Question generate_question(int level) { struct Question question; srand((unsigned)time(NULL)); int num1, num2; char operator; int result, answer; switch (level) { case 1: num1 = rand() % 10 + 1; num2 = rand() % 10 + 1; operator = rand() % 2 == 0 ? '+' : '-'; break; case 2: num1 = rand() % 50 + 1; num2 = rand() % 50 + 1; operator = rand() % 2 == 0 ? '+' : '-'; break; case 3: num1 = rand() % 100 + 1; num2 = rand() % 100 + 1; operator = rand() % 4; break; default: printf("Invalid level!"); exit(1); } switch (operator) { case 0: result = num1 + num2; question.operator = '+'; break; case 1: result = num1 - num2; question.operator = '-'; break; case 2: result = num1 * num2; question.operator = '*'; break; case 3: result = num1 / num2; question.operator = '/'; break; default: printf("Invalid operator!"); exit(1); } question.num1 = num1; question.num2 = num2; question.result = result; question.answer = 0; return question; } // 定义用户登录函数 struct User login() { struct User user; printf("Please enter your username:\n"); scanf("%s", user.name); printf("Please enter your password:\n"); scanf("%s", user.password); // 进行用户验证,验证通过返回用户信息,否则提示用户重新输入 return user; } // 定义测试函数 void test(struct User* user) { int level; printf("Please select the level of the test:\n"); printf("1. Level 1 (10 questions, numbers 1-10)\n"); printf("2. Level 2 (20 questions, numbers 1-50)\n"); printf("3. Level 3 (30 questions, numbers 1-100)\n"); scanf("%d", &level); // 根据用户选择的难度级别生成对应的题目,并提示用户作答 int i; for (i = 0; i < level * 10; i++) { struct Question question = generate_question(level); printf("Question %d: %d %c %d = ", i + 1, question.num1, question.operator, question.num2); scanf("%d", &question.answer); if (question.answer == question.result) { printf("Correct!\n"); user->correct++; user->score += 10; } else { printf("Wrong! The correct answer is %d\n", question.result); user->wrong++; } user->total++; } } // 定义查看成绩函数 void view_score(struct User user) { printf("Your test results:\n"); printf("Score: %d\n", user.score); printf("Total questions: %d\n", user.total); printf("Correct questions: %d\n", user.correct); printf("Wrong questions: %d\n", user.wrong); } // 定义查看错题函数 void view_wrong_questions() { // 从文件中读取用户的错题记录,显示给用户 } // 定义主函数 int main() { struct User user = login(); int choice; while (1) { printf("Please select the function you want to use:\n"); printf("1. Test\n"); printf("2. View score\n"); printf("3. View wrong questions\n"); printf("4. Exit\n"); scanf("%d", &choice); switch (choice) { case 1: test(&user); break; case 2: view_score(user); break; case 3: view_wrong_questions(); break; case 4: exit(0); default: printf("Invalid choice!"); } } return 0; } ``` 以上代码实现了小学数学学习系统的基本功能,包括随机出题、自动评、查看正确答案、错题重做等功能。代码中使用了结构体来保存题目和用户信息,使用了文件系统来保存用户的测试记录和错题记录。代码中还未实现用户验证和文件操作等细节问题,您可以根据需要进行补充完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值