【QT】基于C++的一卡通贩卖机系统

1 项目描述

本次项目是基于Qt Creator实现编程,通过交叉编译arm-linux-g++,生成能够在GEC6818arm开发板上运行的文件…利用链表存取账户信息(姓名,性别,卡号,余额,账号,密码),通过QT中的多种控件制作界面UI,实现一个可多用户登录,能够购买不同类别产品,信息查看,充值的一卡通贩卖机系统…

2 项目需求

  • 实现多用户登录 (链表、lineEdit控件、pushButton按钮)
  • 实现用户名字、余额、照片显示 (label控件、信号与槽)
  • 实现一卡通充值 (spinBox控件、QMessageBox消息框、信号与槽、pushButton按钮)
  • 实现个人详细资料查看 (链表、QMessageBox消息框、pushButton按钮)
  • 实现用户之间余额比较 (链表、QMessageBox消息框、pushButton按钮)
  • 实现不同类别多种商品显示 (comboBox控件、listWidget、lineEdit、信号与槽)
  • 实现商品购买 (pushButton按钮、QMessageBox消息框、链表)

3 搭建环境

开发环境
linux
开发工具
arm-Linux-g++、QT
编程实现
通过QT Create软件创建项目编写代码和绘制UI界面,利用arm-linux-g++交叉编译,再通过LINUX平台的SSH服务器将编译生成的程序文件传输到GEC6816开发板中,最后执行。

4 技术描述

  • C++
  • QT各种控件的使用
  • QT界面UI的设计
  • 链表

5 概要设计

整体项目框架设计图如下:
框架
UI界面
登录界面:
在这里插入图片描述
购买界面:
UI2
充值界面:
ui3

6 登录界面

实现思路
用户通过连接键盘外设,在文本框中输入的账号密码与链表保存的账号去对比,若输入的账号和密码与链表中用户的同时匹配,则登录成功进入购物界面,失败则提示用户,重新输入。
实体效果
账号、密码输入错误:登录失败
在这里插入图片描述
账号、密码输入正确:登陆成功
在这里插入图片描述
部分代码:
链表部分:

#include <iostream>
#include <cstring>

using namespace std;
struct node{ //节点类
    string name;//名字
    string num;//学号
    string sex;//性别
    int money;//余额
    string account;//账号
    string password;//密码
    node *next;
    node *prev;
};


class mylist
{
public:
        node *head;//指向头结点
        node *tail;//指向尾节点
        int len;//链表长度
    public:
        mylist();//构造函数
        mylist(const mylist &l);//拷贝函数
        ~mylist();//析构函数
        void addNode( string name,string num, string sex,int money, string account, string password);//往尾部添加元素
        void upSort();//升序排序
        void findNode(int n);//查找某个节点
        void delNode(int n);//删除某个节点
        void showNode();//输出所有节点数据
        int seek_account(string tmp_account,string tmp_pwd);//查找账号密码
        node* max_compare();//查找最大余额者
        node*  min_compare();//查找最大余额者
};

#endif // MyLIST_H

登录按钮:

void Widget::on_pushButton_clicked()
{
    //获取用户输入的账号密码
     QString tmp_account=ui->lineEdit_zh->text();
     QString tmp_pwd=ui->lineEdit_mm->text();
     //类型转换
     string  account= tmp_account.toStdString();
     string  pwd= tmp_pwd.toStdString();

     //登录成功
     if(card.seek_account(account,pwd))
     {
        QMessageBox::information(this,"提醒",tr("登录成功"));

        //隐藏界面
        //this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值