用c#写一个自习室座位预选系统
时间: 2023-12-30 14:02:13 浏览: 89
数据库办公室日常信息管理系统c#源程序
4星 · 用户满意度95%
好的,一个基本的自习室座位预选系统需要以下几个模块:
1. 登陆模块:用户需要输入用户名和密码进行登陆,如果是第一次登录,需要注册。
2. 座位预览模块:用户可以查看自习室的座位布局和座位状态,选择自己喜欢的座位。
3. 座位预定模块:用户可以选择空闲座位进行预定,系统会锁定该座位,避免其他人同时选择同一个座位。
4. 座位取消模块:用户可以取消已经预定的座位,系统会释放该座位,变为可选状态。
5. 座位管理模块:管理员可以对座位进行管理,包括添加新座位、删除座位、修改座位状态等。
下面是一个简单的 C# 代码示例,实现了基本的座位预选系统功能:
```csharp
using System;
using System.Collections.Generic;
namespace SeatSelectionSystem
{
class Program
{
static void Main(string[] args)
{
// 初始化自习室座位
Seat[,] seats = new Seat[5, 10];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 10; j++)
{
seats[i, j] = new Seat(i + 1, j + 1);
}
}
// 初始化用户和管理员
User user = new User("user1", "123456");
Admin admin = new Admin("admin1", "123456");
// 用户登陆
Console.WriteLine("请输入用户名和密码进行登陆:");
Console.Write("用户名:");
string username = Console.ReadLine();
Console.Write("密码:");
string password = Console.ReadLine();
if (user.Login(username, password))
{
Console.WriteLine("欢迎您," + username + "!");
// 座位预览
Console.WriteLine("以下是自习室座位分布图:");
user.ViewSeats(seats);
// 座位预定
Console.WriteLine("请选择您喜欢的座位(输入行列号,例如1 1):");
int row = int.Parse(Console.ReadLine());
int col = int.Parse(Console.ReadLine());
if (user.SelectSeat(seats, row, col))
{
Console.WriteLine("座位预定成功!");
}
else
{
Console.WriteLine("该座位已被预定,请选择其他座位。");
}
// 座位取消
Console.WriteLine("您是否要取消预定的座位?(Y/N)");
string choice = Console.ReadLine();
if (choice == "Y")
{
if (user.CancelSeat(seats, row, col))
{
Console.WriteLine("座位取消成功!");
}
else
{
Console.WriteLine("座位取消失败,请检查您输入的座位是否正确。");
}
}
}
else if (admin.Login(username, password))
{
Console.WriteLine("欢迎您,管理员" + username + "!");
// 座位管理
Console.WriteLine("请选择您要进行的操作:");
Console.WriteLine("1. 添加座位");
Console.WriteLine("2. 删除座位");
Console.WriteLine("3. 修改座位状态");
int choice = int.Parse(Console.ReadLine());
if (choice == 1)
{
Console.WriteLine("请输入要添加的座位行列号:");
int row = int.Parse(Console.ReadLine());
int col = int.Parse(Console.ReadLine());
if (admin.AddSeat(seats, row, col))
{
Console.WriteLine("座位添加成功!");
}
else
{
Console.WriteLine("座位添加失败,请检查您输入的座位是否已经存在。");
}
}
else if (choice == 2)
{
Console.WriteLine("请输入要删除的座位行列号:");
int row = int.Parse(Console.ReadLine());
int col = int.Parse(Console.ReadLine());
if (admin.RemoveSeat(seats, row, col))
{
Console.WriteLine("座位删除成功!");
}
else
{
Console.WriteLine("座位删除失败,请检查您输入的座位是否存在。");
}
}
else if (choice == 3)
{
Console.WriteLine("请输入要修改状态的座位行列号:");
int row = int.Parse(Console.ReadLine());
int col = int.Parse(Console.ReadLine());
Console.WriteLine("请选择座位状态:");
Console.WriteLine("1. 空闲");
Console.WriteLine("2. 已预定");
Console.WriteLine("3. 使用中");
int status = int.Parse(Console.ReadLine());
if (admin.ChangeStatus(seats, row, col, status))
{
Console.WriteLine("座位状态修改成功!");
}
else
{
Console.WriteLine("座位状态修改失败,请检查您输入的座位是否存在。");
}
}
}
else
{
Console.WriteLine("用户名或密码错误!");
}
}
}
// 座位类
class Seat
{
public int Row { get; set; } // 行号
public int Col { get; set; } // 列号
public int Status { get; set; } // 座位状态,0表示空闲,1表示已预定,2表示使用中
public Seat(int row, int col)
{
Row = row;
Col = col;
Status = 0; // 初始状态为0,即空闲
}
}
// 用户类
class User
{
public string Username { get; set; } // 用户名
public string Password { get; set; } // 密码
public User(string username, string password)
{
Username = username;
Password = password;
}
// 登陆
public bool Login(string username, string password)
{
if (username == Username && password == Password)
{
return true;
}
else
{
return false;
}
}
// 座位预览
public void ViewSeats(Seat[,] seats)
{
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 10; j++)
{
Console.Write("(" + seats[i, j].Row + "," + seats[i, j].Col + ")");
if (seats[i, j].Status == 0)
{
Console.Write("空闲 ");
}
else if (seats[i, j].Status == 1)
{
Console.Write("已预定 ");
}
else if (seats[i, j].Status == 2)
{
Console.Write("使用中 ");
}
}
Console.WriteLine();
}
}
// 座位预定
public bool SelectSeat(Seat[,] seats, int row, int col)
{
if (seats[row - 1, col - 1].Status == 0)
{
seats[row - 1, col - 1].Status = 1;
return true;
}
else
{
return false;
}
}
// 座位取消
public bool CancelSeat(Seat[,] seats, int row, int col)
{
if (seats[row - 1, col - 1].Status == 1)
{
seats[row - 1, col - 1].Status = 0;
return true;
}
else
{
return false;
}
}
}
// 管理员类
class Admin
{
public string Username { get; set; } // 用户名
public string Password { get; set; } // 密码
public Admin(string username, string password)
{
Username = username;
Password = password;
}
// 登陆
public bool Login(string username, string password)
{
if (username == Username && password == Password)
{
return true;
}
else
{
return false;
}
}
// 添加座位
public bool AddSeat(Seat[,] seats, int row, int col)
{
if (seats[row - 1, col - 1] == null)
{
seats[row - 1, col - 1] = new Seat(row, col);
return true;
}
else
{
return false;
}
}
// 删除座位
public bool RemoveSeat(Seat[,] seats, int row, int col)
{
if (seats[row - 1, col - 1] != null)
{
seats[row - 1, col - 1] = null;
return true;
}
else
{
return false;
}
}
// 修改座位状态
public bool ChangeStatus(Seat[,] seats, int row, int col, int status)
{
if (seats[row - 1, col - 1] != null)
{
seats[row - 1, col - 1].Status = status;
return true;
}
else
{
return false;
}
}
}
}
```
以上代码只是一个简单的示例,实际应用中还需要加入更多的功能和优化。
阅读全文