### C编程:商场收银系统 #### 一、系统概述 在本次项目中,我们通过C语言设计并实现了一个商场收银系统。该系统的主要功能包括:商品信息管理、收银操作、销售信息记录以及库存更新等。通过该系统的开发,不仅可以加深对C语言的理解,还能掌握实际应用中的数据结构设计、文件操作以及用户界面设计等方面的知识。 #### 二、系统功能需求分析 ##### 1. 文件操作功能 - **商品信息管理**:系统能够创建和维护一个商品信息文件,用于存储最新的商品信息,如商品编号、商品名、类别、数量及价格等。 ##### 2. 数据输入功能 - **个人登录**:收银员登录时需输入姓名或编号及密码进行身份验证。 - **消费商品基本信息输入**:收银员输入顾客购买的商品编号及其数量。 - **销售信息输入**:系统自动计算商品总价,并支持输入实收金额以计算找零。 ##### 3. 数据添加、修改、删除功能 - **商品数据更新**:系统根据销售情况自动更新商品库存信息。 - **个人入库信息修改更新**:收银员可以对个人入库信息进行添加、修改或删除操作。 ##### 4. 计算功能 - **基本计算**:包括商品总价的计算、找零计算等。 - **销售额处理**:统计收银员的总销售额。 ##### 5. 查询功能 - **资料库信息查询**:收银员可以查询当前库存商品信息、销售记录等。 ##### 6. 显示功能 - **系统输入输出信息显示**:确保顾客能够清晰地看到所购商品、单价、数量、总价等信息。 #### 三、系统设计 ##### 1. 总体设计 系统设计主要包括以下几个模块: - **建立新文本库信息模块**:用于初始化商品信息文件。 - **销售系统模块**:实现收银操作的核心功能。 - **商品销售信息回单模块**:生成销售回单,并显示给顾客。 - **商品库更新模块**:根据销售情况更新商品库存信息。 - **销售回单保存模块**:将销售回单保存至文件。 ##### 2. 详细设计 - **菜单设计**:系统采用图形化界面,提供直观的操作选项。 - **输入界面设计**:包括登录界面、商品信息输入界面等。 - **信息显示界面设计**:展示商品列表、销售回单等信息。 ##### 3. 各功能模块的设计 - **主函数main()**:负责启动系统、显示主菜单并接收用户指令。 - **charge函数**:实现收银操作,包括商品信息输入、计算总价等功能。 - **receipt_m函数**:生成销售回单并显示给顾客。 - **input_s函数**:用于输入商品信息。 - **disp函数**:显示商品信息。 #### 四、系统编码设计 ##### 1. main函数 ```c void main() { /* 主函数:密码登录与主页面显示 */ int key, j, x, i; void openf(); void newf(); loop1: { clrscr(); // 清屏 gotoxy(10, 4); for (i = 0; i < 20; i++) printf("#"); gotoxy(10, 16); for (i = 0; i < 20; i++) printf("#"); gotoxy(16, 5); printf("this is the salesperson system\n"); gotoxy(16, 7); printf("1. please input your number:\n"); gotoxy(16, 8); scanf("%s", salesperson_num); gotoxy(16, 9); printf("2. please input your key;\n"); gotoxy(16, 10); scanf("%d", &key); for (j = 0; j < 3; j++) { if (strcmp(salesperson_num, salesperson[j].num) == 0 && key == salesperson[j].key) break; clrscr(); // 清屏 printf("\t your number or key is wrong\n"); printf("\t please land again\n"); getch(); goto loop1; } } // 登录成功后的主页面显示 clrscr(); gotoxy(16, 8); printf("welcome to use the system\n"); gotoxy(16, 10); printf("press enter to continue"); getch(); do { clrscr(); gotoxy(10, 5); for (i = 0; i < 20; i++) printf("*"); gotoxy(16, 8); printf("1. build the goods warehouse"); gotoxy(16, 9); printf("2. charge system"); gotoxy(16, 10); printf("3. receipt message"); gotoxy(16, 11); printf("4. add to goods message"); gotoxy(16, 12); } while (1); // 循环等待用户输入 } ``` ##### 2. 其他函数 除了上述主函数外,还需要定义多个辅助函数来实现各个功能模块,如`charge()`、`receipt_m()`、`input_s()`和`disp()`等。 - **charge()**:负责收银操作,包括输入商品编号、数量,并计算总价。 - **receipt_m()**:根据收银操作结果生成销售回单。 - **input_s()**:用于输入新的商品信息。 - **disp()**:显示商品信息列表。 通过以上设计,我们可以实现一个完整的商场收银系统。不仅包含了基础的数据管理功能,还具备了良好的用户交互体验。这对于学习C语言编程、文件操作、数据结构设计等方面都具有非常重要的意义。同时,通过实践这样一个系统,也能够帮助开发者更好地理解面向对象编程的思想和方法。
剩余21页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助