接下来,我给大家展示课堂作业“停车场收费系统”
窗体设计界面
高频停车场收费系统是一种用于管理停车场收费的软件系统,它基于C#窗体设计界面开发,具有直观易用的特点。当前界面用的lable标签和文本框、按钮这些控件。
停车场信息管理界面:该界面用于管理停车场的基本信息,包括出入场时间、停留时间、余额消费等。用户可以在该界面进行停车场信息的添加、修改和删除操作。
- 运行 点击入场
- 如果目录没有生成“停车场消费记录”会自动创立,记录出场
- 入场 余额200元
- 出场 停留40秒 1秒2块钱(方便查看) 消费80元
代码部分
- 入场事件
入场用了一个FileStream类来创建文本,方便记录入场的卡号与时间
声明了两个字符串变量ka和time。判断文件是否存在。如果文件存在,则读取文件内容到变量txt_Ka。获取用户输入的卡号,并将其存储在变量ka中。
判断txt_Ka是否包含ka。如果包含,则显示一个消息框提示“卡号已入场”。如果不包含,则创建一个StreamWriter对象write,以追加模式打开文件,并将当前时间和金额写入文件。如果文件不存在,则创建一个新的文件流。
private void button18_Click(object sender, EventArgs e) // 入场
{
//txtSend.Text = "";
//txtReceive.Text = "";
//status_num = 19;
//String str1 = "FF 55 00 00 01 03 00 30 75";
//byte[] data = getBytesFromString(str1);
//com.Write(data, 0, data.Length);
//txtSend.Text = str1;
//Delay(1000);
string ka, time;
if (File.Exists(path) == true) //判断文件是否创建
{
txt_Ka = File.ReadAllText(path);
ka = txtInformation.Text;
if (txt_Ka.Contains(ka)==true)//判断卡号
{
MessageBox.Show("卡号已入场");
}
else
{
StreamWriter write = new StreamWriter(path, true);
textBox19.Text = Convert.ToString(DateTime.Now);
textBox21.Text = "200元";
time = textBox19.Text;
write.WriteLine(ka);
write.WriteLine(time);
write.Close();
}
}
else
{
FileStream logon1 = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
logon1.Close();
}
}
- 出场事件
出场的话用了File类来读取文本的卡号,并判断卡号存在,使用循环遍历数组t_ka,找到与c_ka匹配的卡号。
获取该卡号和对应的时间,并进行时间计算和金额计算。更新显示金额和计时器的文本框内容。
然后根据读取入场写的文本时间来和现在时间相减,得到停车停留时间。
private void button19_Click(object sender, EventArgs e) //出场
{
//txtSend.Text = "";
//txtReceive.Text = "";
//status_num = 20;
//String str1 = "FF 55 00 00 01 03 00 30 75";
//byte[] data = getBytesFromString(str1);
//com.Write(data, 0, data.Length);
//txtSend.Text = str1;
//Delay(1000);
string[] t_ka = new string[50];
string c_ka, c_time, t_time,k,o,s;
int c_hour, c_min, c_sec, t_hour, t_min, t_sec, timer, C_money;
if (File.Exists(path) == true)
{
txt_Ka = File.ReadAllText(path);
c_ka = txtInformation.Text;
if (txt_Ka.Contains(c_ka) == true)
{
c_time = textBox20.Text = Convert.ToString(DateTime.Now);
StreamReader reader = new StreamReader(path);
for (int i = 0; i < 50; i++)
{
t_ka[i] += reader.ReadLine();
}
reader.Close();
for (int i = 0; i < 50; i++)
{
if (t_ka[i] == c_ka)
{
k = t_ka[i]+"\r\n";
o = t_ka[i+1]+ "\r\n";
t_time = t_ka[i + 1];
t_time = t_time.Remove(0, 9).Replace(":", "");
t_hour = Convert.ToInt32(t_time.Substring(0, 2)) * 3600;
t_min = Convert.ToInt32(t_time.Substring(2, 2)) * 60;
t_sec = Convert.ToInt32(t_time.Substring(4, 2));
## 最后
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**
**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/aeca727db8f244bc4c6dc5d7f7d3853d.png)
![img](https://img-blog.csdnimg.cn/img_convert/4b5f50fd17161d39c33c6b37eea5c182.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/75d7e22c105cc8e9cda6202b30ababb5.png)
![img](https://img-blog.csdnimg.cn/img_convert/6de30ea47b1e78f1f414f840cb0a8d5a.png)
![img](https://img-blog.csdnimg.cn/img_convert/7d069378e61e9628ca6996c38bd9898d.png)
![img](https://img-blog.csdnimg.cn/img_convert/a6efe4e9de7556a6b94b648eba105190.png)
![](https://img-blog.csdnimg.cn/img_convert/2a776964df678f52d24baf8974cc1de3.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!
伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!