c语言-EasyX库编写的第一个项目-哪都通快递平台

news2024/9/22 19:44:18

目录

概要设计与详细设计文档

项目测试

相关文件下载


作为《程序设计微项目设计》进行为期一周的开发

概要设计与详细设计文档

1. 项目名称

“哪都通”快递平台

2.项目概述

2.1项目简介

本项目采用c语言全程编写,运用Easyx库创建窗口进行图形显示,构建一个快递平台,使其让用户与快递员在平台上的操作更为便利。本项目设计联系实际,从创建平台的角度进行设计:欢迎界面、登录界面、菜单界面,以及深入理解平台文化构建平台简介、Logo的制作。

2.2项目思路

2.2.1名称缘由

(1)模仿生活息息相关的系统平台进行设计,对快递平台的运行流程与用户个人的操作间存在的优缺化点进行挖掘。

(2)快递平台以运输物流为主,由灵感得“哪都通”,我希望我们的成长道路也哪都通。

2.2.2基本框架

构造用户登录和快递员登录2种方式,下分各自菜单以及实现的功能。

2.3功能讲解

2.3.1用户功能

(1)“哪都通”快递简介:对快递平台的简介进行了解,快递平台所弘扬的文化、精神。

(2)寄快递:完成寄件人与收件人的信息输入,姓名、联系电话、省市区、详细地址。下单后生成订单号,“哪都通”大写字母NDT和10位随机数字构成。

(3)取快递:查看物流状态,若物流状态为待收货则可以进行拿取,且更改物流状态为已签收。

(4)查询快递:生成快递信息,查询寄件人信息和收件人信息。

2.3.2快递员功能

(1)查询快递:快递员通过顶单号进行查询快递信息,了解寄件人和收件人的信息。

(2)更改物流状态:用户下单后物流状态为已下单,快递员接受快递后,更改为已发货;送达目的后,更改为待收货;用户签收快递后,更改为已签收。

3.设计思路

3.1整体框架

构造用户登录和快递员登录2种方式,下分各自菜单以及实现的功能。

3.1.1用户

(1)“哪都通”快递简介:对快递平台的简介进行了解,快递平台所弘扬的文化、精神。

(2)寄快递:完成寄件人与收件人的信息输入,姓名、联系电话、省市区、详细地址。下单后生成订单号,“哪都通”大写字母NDT和10位随机数字构成。

(3)取快递:查看物流状态,若物流状态为待收货则可以进行拿取,且更改物流状态为已签收。

(4)查询快递:生成快递信息,查询寄件人信息和收件人信息。

3.1.2快递员

(1)查询快递:快递员通过顶单号进行查询快递信息,了解寄件人和收件人的信息。

(2)更改物流状态:用户下单后物流状态为已下单,快递员接受快递后,更改为已发货;送达目的后,更改为待收货;用户签收快递后,更改为已签收。

3.2页面设计

3.2.1欢迎界面

左上角:“哪都通”的logo。

中间显示:“哪都通”欢迎您的到来,表达编写者衷心感谢您能审阅我们的愚作。

下方:更新版本,表示本版本存在优化及升级功能,后期添加。

3.2.1登录界面与菜单界面

左上方:表达快递平台的祝愿:您的快递在路上,Ta的“美丽”在心间。您的信任,我们将信心百倍。提升内在层次融入文明色彩。

左下方:插入流动照片,联系实际生活,讲述快递员的真实想法“每个人都在为实现自己的愿望而努力”。

右方:分别为登录系统、功能选项。

3.3流程图

以下是主要函数的流程图包含:

main()//主函数

Init() //初始化

Drawwelcome()//欢迎

DrawLogin();//登录界面

DWORD WINAPI loop1(LPVOID lpParam) //快递员照片循环

DWORD WINAPI loop2(LPVOID lpParam) //绘制按钮

Login_user();//用户登录

Login_courier();//快递员登录

DrawMainMenu();//用户主菜单

introduction();//“哪都通”简介

queryExpress();//查询快递

pickupExpress();//取快递

sendExpress();//寄快递

项目测试

测试项目

测试数据

测试预期结果

用户登录模块

账号:123 正确账号:123;

密码:123 错误密码:321;

账号密码正确,成功登录相应提示语

登录失败,有密码错误提示

快递员登录模块

账号:123 正确账号:123;

密码:123 错误密码:321;

账号密码正确,成功登录相应提示语

登录失败,有密码错误提示

寄快递模块

寄件人:杨洋 电话:18723843671

省市区:重庆大足 详细地址:重庆工程学院

收件人:黎奇灵 电话:13452598300

省市区:重庆永川 详细地址:永川中学

填入寄件人和取件人信息并下成功,文件中存有新数据

生成订单号模块

寄快递下单

下单成功以NDT开头加10位随机数组成订单号

2.结果截图

2.1用户登录模块

2.2快递员登录模块

2.3寄快递模块

2.4取快递模块

2.5查询订单号模块

2.6生成订单号模块

2.7更改物流信息模块

3.测试结果

经过以上测试,程序均达到实验预期。

测试项目

测试预期结果

测试结果

是否符合预期

测试结论

用户登录模块

登录成功或失败有相应提示语

登录成功或失败有相应提示语

经过以上测试,程序达到实验预期

快递员登录模块

登录成功或失败有相应提示语

登录成功或失败有相应提示语

寄快递模块

填入寄件人和取件人信息并下成功,文件中存有新数据

填入寄件人和取件人信息并下成功,文件中存有新数据

生成订单号模块

下单成功以NDT开头加10位随机数组成订单号

下单成功以NDT开头加10位随机数组成订单号

状态模块

物流状态发生改变,文件中数据也改变

物流状态发生改变,文件中数据也改变

用户登录模块

账号密码正确,成功登录相应提示语

登录失败,有密码错误提示

账号密码正确,成功登录相应提示语

登录失败,有密码错误提示

快递员登录模块

账号密码正确,成功登录相应提示语

登录失败,有密码错误提示

账号密码正确,成功登录相应提示语

登录失败,有密码错误提示

寄快递模块

填入寄件人和取件人信息并下成功,文件中存有新数据

填入寄件人和取件人信息并下成功,文件中存有新数据

生成订单号模块

下单成功以NDT开头加10位随机数组成订单号

下单成功以NDT开头加10位随机数组成订单号

相关文件下载

📎”哪都通“汇报ppt - 副本.pptx

📎概要设计与详细设计文档.docx

📎需求文档.docx

📎测试文档.docx

gitee代码仓库

Project_c_EasyX库: 用c语言中的EasyX库实现项目“哪都通快递”

最后希望刚学c语言的你坚持下去,一个一个项目做下去,一个一个代码敲下去,充满兴趣去迎难而上,生活会很有意思。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1982429.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell函数的基本知识

文章目录 shell函数定义函数调用函数函数参数返回值 Shell 输入/输出重定向输入重定向输出重定向 Shell 函数是 Shell 脚本编程中的一个非常有用的特性,它允许你将一段代码封装起来,给它一个名字(函数名),然后在脚本的…

力扣面试经典算法150题:合并两个有序数组

算法 本篇开始,正式进入算法刷题篇。 题目来源于力扣面试经典150题。 题目链接:https://leetcode.cn/studyplan/top-interview-150/ 合并两个有序数组 题目选自150题中的数组/字符串一类,题目难度:简单。 题目描述 给定两个按…

R 语言学习教程,从入门到精通,R 基础运算(5)

1、R 基础运算 本章介绍 R 语言的简单运算。 1.1、赋值 一般语言的赋值是 号&#xff0c;但是 R 语言是数学语言&#xff0c;所以赋值符号与我们数学书上的伪代码很相似&#xff0c;是一个左箭头 <- &#xff1a; a <- 123 b <- 456 print(a b)以上代码执行结果…

分享一个基于Node.js和Vue的农产品销售与交流平台(源码、调试、LW、开题、PPT)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人 八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题可以一起交流&…

RabbitMQ-安装篇(阿里云主机)

一、操作系统 用的是Alibaba Cloud Linux release 3 (Soaring Falcon)系统&#xff0c;可以通过命令&#xff1a;lsb_release -a 查看系统信息。 二、安装RabbitMQ RabbitMQ 是基于 Erlang 语言构建的&#xff0c;要安装RabbitMQ&#xff0c;需先安装Erlang环境。通过Erlang V…

【IO】使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份

目录 1、使用有名管道实现&#xff0c;一个进程用于给另一个进程发消息&#xff0c;另一个进程收到消息后&#xff0c;展示到终端上&#xff0c;并且将消息保存到文件上一份 2、使用有名管道实现两个进程间相互通信 1、使用有名管道实现&#xff0c;一个进程用于给另一个进程发…

Linux权限-普通权限

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注我&#xff0c;我尽量把自己会的都分享给大家&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 根据前面Linux用户介绍&#xff0c;里面涉及到超级管理员&#xff0c;普通用户&…

AI技术重塑招聘流程:效率与精准度的双重提升

一、引言 在21世纪的数字经济浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正以前所未有的速度渗透到社会经济的各个领域&#xff0c;其中&#xff0c;人力资源&#xff08;HR&#xff09;管理领域也不例外。作为组织发展与人才战略的核心环节&#xff0c;招聘流程正经…

VoNR网络架构与网元 IMS终端号码结构(VoLTE和VoNR适用)

目录 1. VoNR网络架构与网元 1.1 VoNR架构 vs VoLTE架构 1.2 回顾语音网络的演进与“分离” 1.3 TS23.228给出的5G的VoNR国际漫游 Home Routed 方案架构图 1.4 VoNR 网络架构图&#xff08;2022版&#xff09; 1.5 IMS 网元分类&#xff08;VoNR VoLTE 适用&#xff09…

【SpringBoot】集成Redis

[TOC] 1 redis ​ redis是一个用C语言开发的&#xff0c;基于内存结构进行键值对数据存储、高性能、非关系型NoSQL数据库 ​ 官网&#xff1a; https://redis.io/ 1.1 特点 基于内存存储&#xff0c;数据读写效率很高本身支持持久化虽然基于key-value存储&#xff0c;但是…

excel中有些以文本格式存储的数值如何批量转换为数字

一、背景 1.1 文本格式存储的数值特点 在平时工作中有时候会从别地方导出来表格&#xff0c;表格中有些数值是以文本格式存储的&#xff08;特点&#xff1a;单元格的左上角有个绿色的小标&#xff09;。 1.2 文本格式存储的数值在排序时不符合预期 当我们需要进行排序的时候…

HashMap中 put()方法的流程、扩容的思路(源码分析~)

文章目录 put() 方法的流程扩容流程为什么它会按照2的幂次方进行扩容呢&#xff1f; put() 方法的流程 下面我们通过分析源码来总结一下 put() 方法的流程 扩容流程 根据上图的分析&#xff0c;就可以总结出 HashMap 的扩容流程&#xff1a; 在插入元素时&#xff0c;会先…

LMDrive 端到端闭环自动驾驶框架

LMDrive&#xff0c;一种新颖的语言引导的端到端闭环自动驾驶框架。LMDrive独特地处理和整合多模态传感器数据与自然语言指令&#xff0c;使车辆能够在现实的指令设置中与人类和导航软件进行交互。 LMDrive由两个主要部分组成&#xff1a; 1&#xff09;一个视觉编码器&#x…

(javaweb)java中spring项目的搭建

spring 1.地位高-- 后端web开发--基于springboot开始 二.SpringBoot Web入门 1. http--请求协议 localhost--本机服务 8080--端口号 /hello--访问的资源 发起请求之后要被web应用程序处理 路径访问成功&#xff01;&#xff01;&#xff01;localhost&#xff1a;8080/hel…

桌面云备份可以删除吗?安不安全

桌面云备份可以删除吗&#xff1f;答案是可以的。如果用户不需要这些备份或者想要释放存储空间&#xff0c;桌面云备份是可以进行删除的&#xff0c;并且删除桌面云备份是一个相对安全的过程&#xff0c;但需要注意以下几点来确保操作的安全性和数据的完整性。 一、桌面云备份…

C# Unity 面向对象补全计划 泛型约束

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 1.泛型约束了什么 在C#中&#xff0c;泛型约束用于限制泛型类型参数的类型 可以在泛型类型或方法的声明中使用 where 关键字来指定这些约束 2.约束栗子 基类约束…

ShardingSphere之ShardingProxy实战操作、分布式事务

文章目录 简介基础使用部署ShardingProxy配置分库分表策略 分布式事务机制介绍XA事务Demo使用另外两种XA事务管理器 简介 ShardingSphere的两个核心产品分别为ShardingJDBC和ShardingProxy。前文已经详细介绍了ShardingJDBC的具体使用&#xff0c;接下来介绍服务端的分库分表S…

MyBatis搭建和增删改查

MyBatis是一个开源的持久层框架&#xff0c;用于处理数据库的增删改查操作。它能够将Java对象与数据库中的数据进行映射关系的配置&#xff0c;并自动生成对应的SQL语句&#xff0c;从而简化了数据库操作的编码工作。 MyBatis的核心思想是将SQL语句与Java代码分离&#xff0c;…

Java01 Java预备知识

第一节&#xff1a;Java预备知识 进制转化 &#xff08;1&#xff09;&#xff1a;二进制转十进制采用数字与阶码相乘并相加&#xff0c;阶码从右往左依次增大&#xff0c;从左往右依次减小。 例&#xff1a;100&#xff08;2&#xff09;0*2^00*2^11*2^44(10) (2)&#xff1a…

【远程桌面】远程连接服务器时出现“这可能是由于CredSSP加密数据库修正”的错误提示的解决办法

转发原文&#xff1a;https://blog.csdn.net/juanjuan_01/article/details/127005255 错误提示 Windows10系统中远程连接服务器的时候出现如下错误的提示&#xff1a; 解决方案一&#xff1a; 步骤1、winR打开运行窗口 步骤2、输入gpedit.msc命令&#xff0c;点击“确定”&a…