[说明及要求]
根据用户输入的账号和密码,判断用户是否合法,如果是合法用户则记录用户的账号、上机实践,如果为非法用户则提示账号或密码错误,请重试。用户上机结束后,记录用户的下机时间并计算费用(设每小时时间费用为1元)。

用C语言如何写机房上机模拟系统
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 社区专家-Monster-XH 2023-02-16 12:11关注
回答来自ChatGPT:
#include <stdio.h> #include <string.h> #include <time.h> // 定义合法的账号和密码 char *accounts[] = {"user1", "user2", "user3"}; char *passwords[] = {"password1", "password2", "password3"}; int num_accounts = 3; // 定义每小时的费用 float hourly_rate = 1.0; // 记录用户的上机实践和下机时间 time_t login_time; time_t logout_time; // 根据账号和密码验证用户是否合法 int is_valid_user(char *account, char *password) { for (int i = 0; i < num_accounts; i++) { if (strcmp(account, accounts[i]) == 0 && strcmp(password, passwords[i]) == 0) { return 1; // 用户合法 } } return 0; // 用户非法 } int main() { char account[20], password[20]; printf("请输入账号:"); scanf("%s", account); printf("请输入密码:"); scanf("%s", password); if (!is_valid_user(account, password)) { printf("账号或密码错误,请重试!\n"); return 0; } // 用户合法,记录上机时间 time(&login_time); printf("欢迎使用机房上机模拟系统,您已成功登录!\n"); // 模拟用户上机实践 printf("请输入任意键开始上机:"); getchar(); getchar(); // 模拟用户下机 printf("请输入任意键下机:"); getchar(); // 计算费用并记录下机时间 time(&logout_time); float duration = difftime(logout_time, login_time) / 3600.0; // 上机时长(单位:小时) float cost = duration * hourly_rate; // 上机费用 printf("您的上机时长为%.2f小时,费用为%.2f元。谢谢使用!\n", duration, cost); return 0; }
定义了三个合法的账号和密码,并将每小时费用设为1元。用户输入账号和密码后,通过is_valid_user()函数验证用户是否合法,如果合法则记录上机时间并输出欢迎信息;否则提示用户账号或密码错误并结束程序。
模拟用户上机实践和下机时,我们使用了getchar()函数来等待用户输入任意键,模拟用户进行上机和下机操作。最后,根据记录的上机时间和下机时间,计算用户的上机时长和费用,并输出相应信息。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报