c程序设计语言课程设计收银台结算程序

合集下载

c课程设计收银

c课程设计收银

c 课程设计收银一、教学目标本章节的教学目标旨在让学生掌握收银系统的基本原理和操作方法。

知识目标要求学生了解收银系统的历史、发展和主要组成部分;技能目标要求学生能够熟练操作收银系统,进行商品销售、退货等操作;情感态度价值观目标要求学生认识到收银系统在现代商业中的重要性,培养学生的责任感和敬业精神。

二、教学内容本章节的教学内容主要包括收银系统的基本概念、组成部分、操作方法和注意事项。

具体包括:收银系统的历史和发展、收银机的硬件和软件组成、收银操作的基本流程、收银系统的维护和管理等。

三、教学方法为了提高教学效果,本章节将采用多种教学方法。

包括:讲授法,用于讲解收银系统的基本概念和原理;操作演示法,用于展示收银系统的操作方法和技巧;小组讨论法,用于探讨收银系统在实际应用中遇到的问题和解决方案;案例分析法,用于分析收银系统的成功案例和失败教训。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:教材《收银系统设计与应用》,用于引导学生学习收银系统的理论知识;参考书《现代收银技术》,用于拓展学生的知识视野;多媒体教学课件,用于直观展示收银系统的操作流程;实验设备,包括收银机和电脑,用于学生实践操作和实验教学。

五、教学评估本章节的教学评估将采用多元化方式,全面客观地评价学生的学习成果。

评估方式包括:平时表现,考察学生的课堂参与度和纪律情况;作业,检查学生对收银系统知识的理解和应用能力;实验操作,评估学生的收银系统操作技能;小组项目,评价学生在团队合作中的贡献和解决问题的能力;期末考试,综合考察学生的知识掌握和运用能力。

六、教学安排本章节的教学安排将分为10个课时,每周安排2个课时。

教学时间安排在上课日,确保学生能够充分利用课余时间进行学习和实践。

教学地点选在教室和实验室,方便学生进行理论学习和实际操作。

在教学安排中,我们将充分考虑学生的作息时间和兴趣爱好,尽量避开学生繁忙时段,保证教学效果。

超市收银c语言课程设计

超市收银c语言课程设计

超市收银c语言课程设计一、课程目标知识目标:1. 学生能理解C语言在现实生活中的应用,特别是超市收银系统中的基本原理;2. 学生能掌握C语言中的基本数据类型、变量声明、运算符、控制结构(如if-else、循环等);3. 学生能够运用所学知识设计并实现一个简易的超市收银系统程序。

技能目标:1. 学生能够运用C语言编写结构清晰、逻辑严密的程序代码;2. 学生能够利用C语言进行基本的输入输出操作,处理用户交互;3. 学生通过课程设计,提高问题分析能力,掌握程序调试与优化技巧。

情感态度价值观目标:1. 学生通过实际项目的设计与实现,培养对计算机编程的兴趣,增强解决实际问题的自信心;2. 学生在合作学习中培养团队精神和沟通协作能力,认识到合作的重要性;3. 学生能够在课程实践中体会编程对于优化生活的作用,激发创新精神和实践能力。

课程性质分析:本课程设计结合了C语言编程和实际生活场景,旨在提高学生的编程能力,培养学生解决实际问题的能力。

学生特点分析:学生处于高中年级,具备一定的逻辑思维能力和编程基础,对新鲜事物充满好奇,喜欢动手实践。

教学要求:教师需引导学生将所学知识与实际应用相结合,鼓励学生自主探索、合作学习,注重培养学生的实践能力和创新精神。

在教学过程中,将目标分解为具体的学习成果,以便于后续教学设计和评估。

二、教学内容1. C语言基础回顾:数据类型、变量声明、运算符、控制结构(if-else、for、while等);教材关联章节:第一章至第四章;进度安排:2课时。

2. 输入输出操作:printf、scanf函数的使用;教材关联章节:第二章;进度安排:1课时。

3. 函数:函数定义、调用、传参;教材关联章节:第五章;进度安排:2课时。

4. 数组与字符串:数组的使用、字符串处理;教材关联章节:第六章、第七章;进度安排:2课时。

5. 结构体与文件操作:结构体的定义和使用、文件读写操作;教材关联章节:第八章、第十章;进度安排:3课时。

c语言课程设计超市收银系统

c语言课程设计超市收银系统

c语言课程设计超市收银系统一、教学目标本课程旨在通过超市收银系统的设计与实现,让学生掌握C语言编程的基本语法、数据结构及算法,培养学生的实际编程能力和问题解决能力。

通过本课程的学习,学生应能熟练运用C语言进行简单应用程序的开发,理解面向对象编程的基本概念,掌握基本的调试技巧。

在技能目标方面,学生应掌握C语言的基本语法,包括数据类型、运算符、控制结构等;能运用函数进行模块化编程;了解并使用面向对象编程思想,包括类、对象、继承、封装等;掌握基本的算法设计和分析方法,能够编写并调试简单的C 语言程序。

在情感态度价值观目标方面,通过超市收银系统的设计与实现,使学生体验到编程的乐趣,增强对计算机科学的兴趣;培养学生的团队合作意识,提高学生解决实际问题的能力;培养学生勇于探索、创新的精神,以及对编程工作的敬业精神和责任感。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、面向对象编程和算法设计。

具体包括以下几个部分:1.C语言基本语法:数据类型、变量、运算符、控制结构(循环、分支)、函数等。

2.数据结构:数组、链表、栈、队列等。

3.面向对象编程:类与对象、继承与封装、多态性等。

4.算法设计与分析:排序算法、查找算法、常用算法思想等。

5.超市收银系统的设计与实现:需求分析、系统设计、编码实现、测试与调试等。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。

1.讲授法:用于讲解C语言的基本语法、数据结构、面向对象编程和算法设计等理论知识。

2.案例分析法:通过分析具体的编程案例,使学生更好地理解编程思想和方法。

3.实验法:让学生通过动手实践,完成超市收银系统的各个模块的设计与实现,提高实际编程能力。

4.小组讨论法:在课程进行过程中,学生进行小组讨论,培养团队合作精神和问题解决能力。

四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》(K&R)、《C++ Primer》等。

超市收银c语言课程设计

超市收银c语言课程设计

超市收银c语言课程设计一、教学目标本节课的教学目标是让学生掌握超市收银系统的的基本流程,通过C语言编程实现一个简单的超市收银系统。

具体来说,知识目标包括掌握C语言的基本语法、数据结构和算法;技能目标包括能够使用C语言编写程序,解决实际问题;情感态度价值观目标包括培养学生的编程兴趣,提高学生解决问题的能力。

二、教学内容本节课的教学内容主要包括C语言的基本语法、数据结构和算法。

具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、控制语句等基本语法知识。

2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在程序中使用这些数据结构。

3.算法:介绍常用的排序和查找算法,如冒泡排序、选择排序、插入排序等,并讲解如何在程序中实现这些算法。

三、教学方法为了达到本节课的教学目标,将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据结构和算法,让学生掌握相关知识。

2.案例分析法:通过分析实际案例,让学生了解如何使用C语言解决实际问题。

3.实验法:让学生动手编写程序,巩固所学知识,提高编程能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供学习参考。

2.参考书:提供相关的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT,直观展示C语言编程过程。

4.实验设备:为学生提供电脑等实验设备,方便学生动手实践。

通过以上教学设计,相信能够帮助学生更好地掌握C语言编程知识,提高解决问题的能力。

五、教学评估本节课的教学评估将采用多元化的评价方式,以全面、客观、公正地评价学生的学习成果。

评估方式包括:1.平时表现:评价学生在课堂上的参与程度、提问回答、小组讨论等,以考察学生的学习态度和积极性。

2.作业:布置相应的编程作业,要求学生独立完成,以检验学生对C语言编程知识的掌握程度。

3.考试:安排一次期末考试,测试学生对C语言基本语法、数据结构和算法的掌握情况。

c程序设计语言课程设计收银台结算程序1

c程序设计语言课程设计收银台结算程序1

合肥学院计算机科学与技术系课程设计报告2009~2010学年第二学期课程程序设计语言Ⅱ课程设计课程设计名称收银台结算程序学生姓名学号0904032024专业班级网络工程(2)班指导教师何立新、刘洁群2010年7月(一)需求分析现在某大型超市由于购物人员太多需要一个收银台结算程序,以方便消费者能够快速付账。

该程序中能够各种商品的全部信息,包括商品的编号、名称、数量、进价、售价等。

程序主要是用来方便消费者付账,当消费者选定商品时收银台的工作人员只要把消费者买的商品的数量输进去就可以了,该程序会自动的计算其总额并告知消费者要交多少金额。

因此该程序的主要功能就是帮助收银台的工作人员实现收款的目的。

所以在制作该软件时首先要有一系列的子函数:当输入商品的编号时就可以知道它的数量、进价、售价等。

当工作人员收银时只要输入商品的编号,并输入其数量就可以知道消费者要付金多少,然后系统就会根据消费者给的金额会打印出相应的购物小票。

小票上会显示消费者所购商品的编号、数量、以及消费者所给的金额和应该找零多少。

当消费者不能提供所购商品的编号时,系统则无法进行其各项的操作。

在收银的过程中如果遇到了消费者所给的金额不够则系统会自动出现提示:所交金额不足。

每当消费者买走一件商品时系统在显示时变回显示其数量减少一个,在开始设计时为了能够满足要求因此要定义空间足够大的id,name,count.分别各为100.在计算时输入商品的数量然后系统就会用该商品的单价乘以数量就得到了消费者应付的金额。

(二)设计根据上诉需求应该定义一个DATA类,该类中定义了产品的编号id,产品名称name,商品的已售数量salecount,还有商品的进价buy,和商品的售价sale。

在public中有成员函数getid,用于得到商品的编号;getname,用于得到商品的名称;getsale,用于得到商品的售价;getbuy,用于得到商品的进价。

在此基础上又派生出另一个类WAY。

C语言 超市收银系统

C语言 超市收银系统

/*—-——-———-—-—-———-——--——--—--———-—--—-——时间:2015—7—1 16:44:21吴俊龙C语言专周设计超市收银系统--————--——-—---—-——-———-————---—--—-—--*/#include 〈stdio.h>#include <windows。

h〉#include 〈string。

h>int menu1(void);//主页面int menu2(void);//商品管理页面int menu3(void);//退出页面int menu4(void);//添加商品信息int menu5(void);//商品信息浏览int menu6(void);//商品信息修改int menu7(void);//商品信息查询int menu8(void);//商品信息删除int menu9(void);//结账页面int sign(void);//欢迎页面struct ima{int id;//商品编号char name[20];//商品的名称char produce[30]; //商品的产地int number; //商品的数量int money; //商品的价格};int len = 0;struct ima thing[50];struct ima *p;int menu1(void)//主页面{int n;system("cls");printf(”\n\n\n");printf(”\t\t —--—-------——-—-—-—--————--—-———-—-—---—— \n");printf(”\t\t| 欢迎使用结账管理系统|\n”);printf("\t\t|---—-—-—--—-—---—————------—--—----———---|\n");printf(”\t\t| |\n");printf("\t\t| 1。

超市收银c语言课程设计

超市收银c语言课程设计

超市收银c语言课程设计一、课程目标知识目标:1. 学生能理解C语言在超市收银系统中的应用,掌握基本的数据类型、变量、运算符和语法结构。

2. 学生能掌握结构体和数组的使用,实现对商品信息和收银数据的存储与管理。

3. 学生能运用函数和模块化编程思想,实现超市收银系统的各个功能模块。

技能目标:1. 学生能运用C语言编写简单的超市收银系统程序,具备基本的编程能力。

2. 学生能通过调试和修改程序,解决超市收银系统中的常见问题,提高问题解决能力。

3. 学生能运用所学知识,对超市收银系统进行优化和扩展,提高系统性能。

情感态度价值观目标:1. 学生通过课程学习,认识到编程在现实生活中的应用价值,激发对计算机编程的兴趣和热情。

2. 学生在团队协作中学会沟通、分享和合作,培养良好的团队精神。

3. 学生在课程实践中,体验编程带来的成就感,增强自信心,培养积极向上的学习态度。

本课程针对高年级学生,结合C语言学科特点,注重理论与实践相结合。

在教学过程中,关注学生的个体差异,激发学生的兴趣和潜能,培养学生编程思维和实际操作能力。

课程目标明确,分解为具体学习成果,便于后续教学设计和评估。

通过本课程的学习,使学生能够掌握C语言编程技能,为实际应用打下坚实基础。

二、教学内容1. C语言基础语法:数据类型、变量定义、运算符、表达式、输入输出语句。

- 教材章节:第一章至第三章- 进度安排:2课时2. 控制结构:顺序结构、选择结构、循环结构。

- 教材章节:第四章- 进度安排:3课时3. 函数:函数定义、调用、参数传递、递归。

- 教材章节:第五章- 进度安排:3课时4. 结构体与数组:结构体定义、数组应用、结构体数组。

- 教材章节:第六章、第七章- 进度安排:4课时5. 文件操作:文件打开、读写、关闭。

- 教材章节:第十章- 进度安排:2课时6. 超市收银系统设计:需求分析、模块划分、代码编写、系统测试。

- 教材章节:综合应用- 进度安排:5课时教学内容依据课程目标进行选择和组织,注重科学性和系统性。

c收银系统课程设计

c收银系统课程设计

c 收银系统课程设计一、教学目标本课程的目标是让学生掌握C语言的基本语法,熟悉结构体和指针的概念,学会使用C语言进行简单的收银系统开发。

通过本课程的学习,学生应能够:1.掌握C语言的基本语法,包括数据类型、运算符、控制语句等。

2.熟悉结构体和指针的概念,能够运用它们进行数据封装和内存操作。

3.学会使用C语言进行简单的收银系统开发,包括商品管理、库存管理、销售记录等。

二、教学内容教学内容主要包括C语言的基本语法、结构体和指针的概念,以及收银系统的开发。

具体安排如下:1.C语言的基本语法:数据类型、变量、运算符、控制语句等。

2.结构体和指针:结构体的定义和使用、指针的概念和运算、指针与结构体的应用。

3.收银系统开发:商品管理、库存管理、销售记录等模块的设计和实现。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

通过讲授法,学生能够系统地学习C语言的基本语法和结构体指针的概念;通过案例分析法,学生能够理解收银系统的实际应用;通过实验法,学生能够动手实践,巩固所学知识。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。

教材和参考书用于为学生提供系统的理论知识,多媒体资料用于辅助讲解和演示,实验设备用于学生的实践操作。

通过丰富多样的教学资源,学生能够更好地学习C语言和收银系统的开发。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。

平时表现主要考察学生的课堂参与度和小组讨论表现,作业包括编程练习和理论作业,考试则分为期中考试和期末考试。

通过这些评估方式,能够全面反映学生的学习成果。

六、教学安排本课程的教学进度将按照教材的章节进行,共有12周,每周2课时。

教学时间安排在上午第三节课,教学地点为计算机实验室。

教学安排将紧凑合理,确保在有限的时间内完成教学任务,同时也会考虑学生的实际情况和需要。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,我们将设计差异化的教学活动和评估方式。

C语言餐饮结账管理系统设计

C语言餐饮结账管理系统设计

C语言餐饮结账管理系统设计C语言餐饮结账管理系统设计一、设计背景及目的随着餐饮业的快速发展,餐饮行业的管理也越来越重要。

目前,很多餐饮企业存在管理不规范、效率低下等问题,如收银管理不当、点菜混乱、服务不周等。

为了提升餐饮企业的管理水平和效率,我们设计了一款C语言餐饮结账管理系统。

该系统旨在提供一个便捷、快速、简单的工具,帮助餐厅进行收银管理,规范点菜和服务流程,提高餐厅运营效率和服务品质。

二、系统设计思路与功能1、系统设计思路本系统采用C语言作为开发语言,运用文件、结构体、数组等知识设计,可以实现点菜管理、收银管理、数据统计等功能。

2、系统功能(1)菜单管理:管理员可以在系统中添加、修改、删除菜单,设置菜品的名称、价格、口味和图片等信息。

(2)点菜管理:顾客可以在系统中浏览菜单、选择菜品和份数,系统能够根据选择的菜品和份数自动计算出总价,并打印出点菜清单。

(3)收银管理:收银员可以在系统中根据点菜清单,输入顾客支付的金额,然后系统可以自动计算出找零,并打印出收据。

(4)数据统计:系统可以根据菜品的销量、收入等信息,生成各种报表和图表,以帮助管理员更好地了解餐厅的运营情况。

三、系统的实现1、系统的开发环境本系统的开发环境为windows10系统,使用IDE为Code::Blocks。

2、系统的实现方案(1)界面设计系统的界面主要包括登录、主界面、菜单管理、点菜管理、收银管理和报表统计等模块。

所有模块都应该采用统一的风格,方便用户使用。

(2)数据存储本系统采用文件存储的方式,数据存储包括菜单数据、点菜记录、订单数据等。

(3)功能实现系统的具体功能实现如下:1.登录系统:要求用户输入用户名和密码。

2.菜单管理:可以添加、修改、删除菜单等功能,并保存到文件中。

3.点菜管理:在菜单界面上显示菜单,顾客可以选择菜品和份数,系统会自动计算出呈现订单的总价,并存储点菜记录到文件中。

4.收银管理:在点菜界面上显示订单清单,在输入总金额后,系统会自动计算出找零,输出收据,并将订单信息保存到文件中。

C++超市收银机程序设计报告

C++超市收银机程序设计报告

南京师范大学《面向对象程序设计》课程设计报告姓名:汤云学号:06080511 学院:计算机科学与技术学院题目:超市收银机指导教师:于泠2009年9月21日一.课程设计内容及要求设计内容:1 显示超市库存商品信息 2 显示购物流程提示信息 3 实现购物过程,反复输入所购各种商品的索引和购买数量,直到商品索引号输入“-1”结束购物流程 4 实现收银,根据顾客所交现金,自动找零,并显示和存储购物清单 5 要求超市库存商品信息存储在goods.txt中,购物清单存储在文件buy.txt中,系统应具有友好的用户见面二.系统环境硬件环境:P4处理器,DDR内存软件环境:Windows XP开发平台:Microsoft V isual C++ 6.0三.设计思想根据系统功能要求,首先设计收银机系统类和商品信息类。

处理收银机的类主要完成工作人员和顾客的登陆,以及登录后所要做的事,商品信息类又分为单个商品信息类和所有商品信息类。

单个商品信息类主要处理商品的索引号,名称,单价和数量。

所有商品信息类主要处理商品的搜索,修改,删除等工作。

还需要设计一个顾客类和工作人员类。

工作人员类分为单个工作人员类和所有工作人员类。

单个工作人员类用来描述工作人员信息及他们对商品进行的改动与操作,所有工作人员类用来处理工作人员的改动。

顾客类又分为单个顾客信息类和所有顾客信息类。

单个顾客信息类用来描述购物流程,所有顾客信息类用来描述顾客信息的改动等。

四.程序结构1.类的设计根据上述的设计思想,设计了“supermarket”类,”good”类,”goods”类,”customer”类,”customers”类,”worker”类和”workers”类这七个类。

数据成员:Goods GS;Consumers CS;Workers WS;//所有商品类对象,顾客类对象和工作人员类对象函数成员:Supermarket(char gf[],char cf[],char wf[]);//初始化~Supermarket();//析构void Choice();//选择登录方式void Choice(int n);//工作人员对库存的操作void Shopping();//清单void Search();//查询商品void Insert();//添加商品void Delete();//删除商品void SetPrice();//设置价格LogIn();//顾客登陆LogIn(int n);//工作人员登陆Void Output(charf[] );//+++++++++++++++++++++++++++++++++++++++++++数据成员:Goodname//商品名称Index//商品索引号Number//商品数量Price//商品价格函数成员:Good();~Good();//析构Good(int index,string goodname,double price,int number);//构造商品Good(const Good & g); //拷贝构造商品int GetIndex(); //获取商品索引号string GetName();//获取商品名称double GetPrice();//获取商品单价int GetNumber();//获取商品数目void SetPrice(int price);//修改单价void SetNumber(int num); //设置数目Good operator=(const Good & g);//“=”操作符重载friend ostream & operator<<(ostream &o,Good &g);//"<<"操作符重载friend istream & operator>>(istream &i,Good &g);数据成员:VG:商品向量成员函数:Goods();默认构造~Goods();//析构void Add(Good &g); //插入Goods(const Goods & gs);// 拷贝构造Goods operator=(const Goods & gs);int Search(int index);//查找int Search(string name);//查找bool Delete(int index);//删除bool Delete(string name);//删除void Sort();//排序bool SetPrice(int index,int price);//设置价格Good GetGood(int index);//得到商品向量vector<Good> & GetAllGoods();friend Goods operator-(Goods &gs,Goods &g);//重载运算符-friend ostream & operator<<(ostream &o,Goods &gs);重载运算符<< friend istream & operator>>(istream &i,Goods &gs); //重载运算符>>数据成员:Basket//Goods的对象,所买的东西Count//所付金额ID//顾客代号Key//顾客密码成员函数:Consumer();//默认构造函数~Consumer();//析构int GetID();int GetKey();double GetCount();Goods GetBasket();SeleteGood(Goods &store);//选择商品AddGoods(Goods &gs);double Bill(double cash);//余额friend ostream & operator<<(ostream &o,Consumer &c);//重载<< friend istream & operator>>(istream &i,Consumer &c);//重载>>成员数据:VC//顾客向量成员函数:void Add(Consumer & c);//插入int Search(int id);//查找void Combine();//分类汇总friend ostream & operator<<(ostream &o,Consumers &cs);重载<< friend istream & operator>>(istream &i,Consumers &cs);重载>>成员数据:ID,Key,Name成员函数:Worker();//默认构造函数~Worker();//析构Worker(string name,int id,int key);//拷贝构造函数int GetID();//代号int GetKey();密码friend ostream & operator<<(ostream &o,Worker &w);//重载运算符<< friend istream & operator>>(istream &i,Worker &w);//重载运算符>>成员数据:VW //工作人员向量成员函数:Workers();//默认构造函数~Workers();//析构Add(Worker &w);//增加工作人员int Search(int id);//查找friend ostream & operator<<(ostream &o,Workers &ws);//重载运算符<< friend istream & operator>>(istream &i,Workers &ws);//重载运算符>>2.主程序设计五.问题及解决方案1.本题总结本题共设了七个类:supermarket类,worker类,workers类,good类,Goods类,customer 类和chstomers类,主要进行销售和库存改动。

超市收银系统C 课程设计

超市收银系统C  课程设计
2、解决方案:
(1)查阅 C++书籍 (2)与同学讨论 (3)上网寻找解决方案
七、程序测试案例
1、进入系统,输入密码
2、密码,可以开始购买
4、输入索引号及数量购买 5、输出已购买商品的清单
7
6、付款及找零 七、参考文献
1 、谭浩强 《C++程序设计》 清华大学出版社 2004 年
8
cout<<"找零:"<<change<<endl;
5
} else {
cout<<"钱不够啊!!!"<<endl; cout<<"补交:"<<0-change<<endl; } cout<<"\n\n";
六、设计中遇到的问题及解决方案
1、问题:
(1)收银系统的流程不明了 (2)对程序编译的细节不清楚,导致错误改正不了 (3)不会导出.txt 格式文档
cout.width(18); cout<<left<<title[i]; } cout<<endl; }
4
(4)设置密码 int code=123,incode; cout<<"————超市收银系统————"<<endl; cout<<"请输入密码:"; cin>>incode; while (incode!=code) {
out<<setw(18)<<g.GetIndex()<<setw(18)<<g.GetName()<<setw(18)<<g.GetPrice()<<setw( 18)<<g.GetNum()<<endl;

超市收银c语言课程设计

超市收银c语言课程设计

超市收银c语言课程设计一、教学目标本节课旨在通过超市收银C语言课程设计,让学生掌握C语言的基本语法、数据类型、运算符、控制语句等基础知识,培养学生运用C语言进行程序设计的能力。

具体目标如下:1.知识目标:(1)了解C语言的发展历史和特点;(2)掌握C语言的基本语法和规则;(3)熟悉常用的数据类型、运算符和控制语句;(4)了解函数的定义和调用方法。

2.技能目标:(1)能够编写简单的C语言程序;(2)具备阅读和理解C语言程序的能力;(3)学会使用C语言进行数学计算和逻辑判断;(4)能够运用C语言解决实际问题。

3.情感态度价值观目标:(1)培养学生对计算机编程的兴趣和好奇心;(2)培养学生勇于探索、积极动手的科学精神;(3)培养学生团队协作、相互帮助的良好品质;(4)培养学生面对挑战、解决问题的自信心。

二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言概述:介绍C语言的发展历史、特点和应用领域;2.基本语法:讲解C语言的基本语法规则,包括数据类型、变量、常量等;3.运算符和控制语句:介绍常用的运算符和控制语句,如if、for、while等;4.函数:讲解函数的定义、声明和调用方法;5.实例分析:通过分析超市收银系统的实例,让学生了解如何运用C语言解决实际问题。

三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用以下教学方法:1.讲授法:讲解C语言的基本语法、运算符和控制语句等知识点;2.案例分析法:分析超市收银系统的实例,让学生了解C语言在实际应用中的作用;3.实验法:安排课内外实验,让学生动手编写C语言程序,巩固所学知识;4.讨论法:学生分组讨论,培养学生的团队协作能力和解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,本节课将采用以下教学资源:1.教材:《C语言程序设计》;2.参考书:《C语言编程实例教程》;3.多媒体资料:课件、教学视频;4.实验设备:计算机、编程环境。

商场收银系统(c语言设计)

商场收银系统(c语言设计)

课程设计课程名称C语言程序设计课程设计A 题目名称商场收银系统目录1 系统分析 (1)1.1 课程设计容 (1)1.2 系统功能需求分析 (1)1.3 数据结构设计.................................................................... 错误!未定义书签。

2 系统设计 (3)2.1 总体设计 (3)2.2 详细设计 (3)2.2.1 界面设计 (3)2.2.2 各功能模块的设计 (5)3 系统编码设计 (7)3.1 main函数 (8)4 系统运行 (24)5 总结 (28)1 系统分析1.1 课程设计容建立一商品信息文件,商品信息包括商品编号、商品名、商品类别、商品数量、商品价格等。

建立一商场收银系统,功能包括:1.系统登录:运行系统时,收银员应输入(或编号)及密码,验证后方可使用系统。

2.收银操作:收银员逐条输入商品编号及数量,系统自动计算金额,输入完毕后显示应付款,当输入实收额后,计算出找赎值。

3.交易完成后按一定格式显示回单(格式参照一般超市中的打印小票)。

4.保存所显示的回单。

5.自动按销售情况更新商品信息文件中的数据。

6.查询收银员销售信息。

7.浏览库存商品信息。

1.2 系统功能需求分析本系统应具有以下功能:1、文件操作功能进行商品信息管理,以文本的形式保存商品最新信息2、数据输入功能个人登录,消费商品基本资料的输入,销售信息输入等3、数据添加、修改、删除功能商品数据更新,个人入库信息修改更新4、计算功能基本计算功能,销售额处理5、查询功能资料库信息查询7、数据显示功能保障客户知情权,对系统输入输出信息的显示2 系统设计2.1 总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:1、建立新文本库信息模块2、销售系统模块3、商品销售信息回单模块4、商品库更新模块5、销售回单保存模块2.2 详细设计2.2.1 界面设计1、菜单设计主菜单:子菜单:2、输入界面的设计3、信息显示界面的设计2.2.2 各功能模块的设计根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)1、主函数main()界面显示密码登录系统主菜单界面23、input_s 函数4、disp函数3 系统编码设计(这部分将代码列出,注意,每个函数开始处要介绍函数的功能,重要的代码应有注释,代码格式按锯齿式编排)3.1 main函数void main()/*主函数:密码登陆与主页面显示使用*/{int key,j;int x,i;void openf();void newf();loop1: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 iput 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].k ey)break;printf("\tyour number or key is wrong\n");printf("\tplease land again\n");getch();goto loop1;}}3.2 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);printf("5. sell message");gotoxy(16,13);printf("6. display goods stock"); gotoxy(16,14);printf("7. exit");gotoxy(10,16);for(i=0;i<20;i++)printf("* ");gotoxy(16,18);printf("please select the menu:"); scanf("%d",&x);while(x<1||x>8);switch(x){ case 1:newf(); break;case 2:charge();break;case 3:receipt_m();break;case 4:input_s();break;case 5:sell_m();break;case 6:disp();break;case 7:exit();}}while(1);}3.3 newf函数/*新建库信息函数,建立新文档存储更新商品信息*/ void newf(){ void openf();int i,x;clrscr();do{clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("* ");gotoxy(16,8);printf("1.the new warehouse filename \n");gotoxy(16,9);printf("2.add the goods message"); gotoxy(16,10);printf("3.exit");gotoxy(10,16);for(i=0;i<20;i++)printf("* ");gotoxy(16,18);printf("please select the menu:");scanf("%d",&x);switch(x){ case 1:openf(); break;case 2:input_s();break;case 3:exit();}}while(1);}void openf(){int i;char f;clrscr();/*system("cls");*/printf("\tinput the warehouse filename please\n"); scanf("%s",xname);fp=fopen("xname","a");fp1=fopen("b.txt","w");fprintf(fp1,"%d\t%d",n,n1);fclose(fp1);fp2=fopen("c.txt","w");fp3=fopen("d.txt","w");printf("\tYou were built the warehouse \n");printf("\n\tcontinue to add goods message?(y/n)"); f=getch();if(f=='y')input_s();}3.4 charge函数/*销售信息管理系统*/charge(){int i,j,f;int No;float sum=0;float change,receive;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("* ");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fclose(fp1);if(( fp=fopen("a.txt","r"))!=NULL)for(i=0;i<n;i++)fscanf(fp,"%d%s%d%d",&goods[i].num,goods[i].name,&goods[i].price,&goods[i].a mount);do{printf("\n\tNo.:\t");scanf("%d",&No);printf("\n\tamount:\t");scanf("%d",&j);No--;n1++;goods[No].amount--;sum+=j*goods[No].price;fp2=fopen("c.txt","a");fprintf(fp2,"%s\t%d\t%s\t%d\t%d\n",salesperson_num,goods[No].num,goods[No]. name,goods[No].price,j);fclose(fp2);fp3=fopen("d.txt","a");fprintf(fp3,"%d\n\t%d",goods[No].num,j);fclose(fp3);f=getch();if(f==0)getch();break;}while(1);printf("\n\tsum:\t%5.2f",sum);printf("\n\n\treceive:\t");scanf("%f",&receive);change=receive-sum;printf("\n\tchange:\t%5.2f",change);fp3=fopen("d.txt","a");fprintf(fp3,"\n\t%5.2f\n\t%5.2f\n\t%5.2f",sum,receive,change);fclose(fp3);fp=fopen("a.txt","w");for(i=0;i<n;i++)fprintf(fp,"%d\t%s\t%d\t%d\n",goods[i].num,goods[i].name,goods[i].price,goods[i] .amount);fclose(fp);fp1=fopen("b.txt","w");fprintf(fp1,"%d\t%d",n,n1);fclose(fp1);gotoxy(10,20);for(i=0;i<20;i++)printf("* ");gotoxy(16,22);printf("Press any key to exit");getch();}3.5 receipt函数/*客户回单信息*/receipt_m(){int i,No,j;float change,receive,sum;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("* ");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fclose(fp1);if(( fp3=fopen("d.txt","r"))!=NULL){ for(i=0;i<n1;i++)fscanf(fp3,"%d\t%d\t%f\t%f\t%f",&goods[No].num,&j,&sum,&receive,&change);for(i=0;i<n1;i++)printf("\n\tNo:\t%d\n\tamount:\t%d\n\tsum:\t%5.2f\n\treceive:%5.2f\n\tchange:\t %5.2f\n",goods[No].num,j,sum,receive,change);fclose(fp3);}elseprintf("error\n");gotoxy(10,20);for(i=0;i<20;i++)printf("* ");gotoxy(16,22);printf("Press any key to exit");getch();}3.6 input函数/*库存信息更新*/input_s(){int i,f,j=0;clrscr();printf("\tthis is the goods stock,please add the goods message\n");printf("num:name:price:amount:\n");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fp=fopen("a.txt","a");for(i=0;;i++,j++){ scanf("%d%s%d%d",&goods[i].num,goods[i].name,&goods[i].price,&goods[i].amount);n++;fp1=fopen("b.txt","w");fprintf(fp1,"%d\t%d",n,n1);fclose(fp1);printf("\ncontinue?(y/n)");f=getch();if(f=='n'){break;}}for(i=0;i<=j;i++)fprintf(fp,"%d\t%s\t%d\t%d\n",goods[i].num,goods[i].name,goods[i].price,goods[i] .amount);fclose(fp);gotoxy(16,20);printf("press any key to break");getch();}3.7 sell函数/*显示最近销售信息*/sell_m(){ int i,j,No;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("* ");printf("\n\tsalesperson_num\tnum\tname\tprice\tsell_num\n");fp1=fopen("b.txt","r");fscanf(fp1,"%d%d",&n,&n1);fclose(fp1);if(( fp2=fopen("c.txt","r"))!=NULL){ for(i=0;i<n1;i++)fscanf(fp2,"%s\t%d\t%s\t%d\t%d\n",salesperson_num,&goods[No].num,goods[No ].name,&goods[No].price,&j);for(i=0;i<n1;i++)printf("\t%s\t\t%d\t%s\t%d\t%d\n",salesperson_num,goods[No].num,goods[No].n ame,goods[No].price,j);fclose(fp2);}elseprintf("error\n");gotoxy(10,20);for(i=0;i<20;i++)printf("* ");gotoxy(16,22);printf("Press any key to exit");getch();}3.8 display函数/*显示最近销售的库存信息*/disp(){int i;clrscr();gotoxy(10,5);for(i=0;i<20;i++)printf("* ");printf("\n\tinput the warehouse filename\n"); gotoxy(10,7);scanf("%s",xname);printf("\tNo.\tname\tprice\tamount\n");fp1=fopen("b.txt","r");fscanf(fp1,"%d",&n);if(( fp=fopen(xname,"r"))!=NULL){ for(i=0;i<n;i++)fscanf(fp,"%d%s%d%d",&goods[i].num,goods[i].name,&goods[i].price,&goods[i].a mount);for(i=0;i<n;i++)printf("\t%d\t%s\t%d\t%d\n",goods[i].num,goods[i].name,goods[i].price,goods[i].a mount);fclose(fp);}elseprintf("error\n");gotoxy(10,20);for(i=0;i<20;i++)printf("* ");gotoxy(16,22);printf("Press any key to exit");getch();}4 系统运行(这部分介绍程序运行过程,系统操作使用的说明,使用测试数据运行的结果,可将运行结果截图进行说明)密码登陆界面菜单页面销售系统显示界面销售记录商品信息添加销售信息记录信息库信息5 总结本程序在刚开始调试时有很错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。

C语言程序课程设计报告-餐饮结账管理系统设计

C语言程序课程设计报告-餐饮结账管理系统设计

C语言程序课程设计报告-餐饮结账管理系统设计C语言程序设计课程设计报告设计题目:餐饮结账管理系统设计1 设计任务1.1 设计题目的描述功能:餐饮结账信息包括:编号、时间、台面号、顾客数量、接待服务生、实收金额。

试设计一餐饮结账管理系统,使之能提供以下功能:1结账信息录入、修改、删除功能;2查询浏览功能:按台面号查询、按接待服务生查询;3 按照实收金额排序。

4统计总收入、顾客总数等功能。

1.2 设计要求(1)仔细审题,明确题目要求。

(2)按照结构化的程序设计思想,将程序模块化,将相对独立的功能写成函数。

(3)要求编程、调试通过并演示;程序编写规范,添加适当注释。

(4)按照课程设计报告的内容和格式要求,撰写课程设计报告,并且打印。

2 设计方案说明2.1 数据的存储结构餐饮结账信息包括:编号、时间、台面号、顾客数量、接待服务生、实收金额。

因此需要使用结构体,而结账信息又不止是一个,所以使用结构体数组,这里定义结构体struct bill,定义数组bill[M]。

struct bill{int num; //编号int time[4]; //时间int table; //台面号int count; //顾客数量1char name[20]; //服务生姓名int money; //实收金额}bill[M]; numberincome 2.2函数之间的调用关系说明sortsearch2 mainsearch menudeleterInput modifymodify_a save display Display_all readFromFile 2.3函数说明1)函数 void menu()void menu() 菜单函数此函数为主菜单,从此处进入其他模块。

变量 c :使用c选择进入其它功能。

2C=1,是否C=2,执行是否Input执行C=…………Modify2)函数void input()void input() 信息录入,将录入的信息存入文件bill中此函数将从键盘输入的信息录入文件bill中。

C语言实现超市计价收款系统

C语言实现超市计价收款系统

C语⾔实现超市计价收款系统本⽂实例为⼤家分享了C语⾔实现超市计价收款系统的具体代码,供⼤家参考,具体内容如下学习⼀个⽉的C语⾔,写了⼀个简易的超市计价收款系统源码如下#include<stdio.h>#include<stdlib.h>#include<string.h>#define M 10typedef struct //定义商品的结构体{char name[10];int num;float price;int ID;}Store;Store store[M];void shuru( ) //定义输⼊商品的函数{int i;int isgo;int n;for(i=0;i<M;i++){store[i].ID=i+1;//⾃定义商品的IDprintf("输⼊商品的名字\n");scanf("%s",&store[i].name);printf("输⼊商品的价格\n");scanf("%f",&store[i].price);printf("还需要输⼊商品吗?\n");printf("1.YES,2.NO\n");scanf("%d",&isgo);if(isgo!=2)//判断是否继续输⼊商品{}else//不输⼊商品直接跳出,展⽰所有商品的信息{for(n=0;n<=i;n++){printf("商品ID\t商品名字\t商品价格\n");printf("%d\t,%s\t,%f\n",store[n].ID,store[n].name,store[n].price);}i=10;}}}void shopp() //购物函数{int isgo=1;int i;int n;int number;int shoppid;float pricenum;float pricesum=0.0;float priceguke;printf("库存的商品如下\n");for(n=0;n<M;n++){printf("商品ID\t商品名字\t商品价格\n");printf("%d\t,%s\t,%f\n",store[n].ID,store[n].name,store[n].price);if(store[n].price==0)//这⾥是为了不把没定义的商品不显⽰出来{n=M;}}while(isgo)//购物{printf("按下你需要的商品ID和数量\n");scanf("%d,%d",&shoppid,&number);pricenum=(store[shoppid-1].price)*number;pricesum=pricesum+pricenum;printf("你购买的商品%s是%d个,价格是%f,总⾦额是%f\n",store[shoppid-1].name,number,pricenum,pricesum); printf("是否继续购物\n");printf("0.退出,1.继续\n");scanf("%d",&isgo);}printf("输⼊顾客⽀付的⾦钱\n");//结算scanf("%f",&priceguke);if(priceguke>=pricesum){printf("收到顾客%f元,找回顾客%f元\n",priceguke,priceguke-pricesum);}else{printf("收到的钱⼩于总⾦额\n");}printf("谢谢光临\n");}main(){int xitong=1;while(xitong!=3){printf("-------------------欢迎登录好浪费超市系统-----------------------\n");printf("1.输⼊商品信息\n");printf("2.购买商品\n");printf("3.退出系购买商品统\n");scanf("%d",&xitong);switch(xitong){case 1:shuru();break;case 2:shopp();break;case 3:printf("欢迎再次使⽤好浪费超市系统\n");}}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

c收银系统课程设计

c收银系统课程设计

c 收银系统课程设计一、课程目标知识目标:1. 学生能理解收银系统的基本概念,掌握其功能与操作流程。

2. 学生能掌握收银系统中商品编码、价格录入、折扣计算等基本操作。

3. 学生了解收银系统在零售业务中的应用及其对提高工作效率的重要性。

技能目标:1. 学生能够熟练操作收银系统,完成商品销售、结账、打印小票等任务。

2. 学生能够运用收银系统进行简单数据分析,如日销售报表、畅销商品统计等。

3. 学生能够解决在使用收银系统过程中遇到的基本问题。

情感态度价值观目标:1. 学生培养对零售行业的兴趣,认识到收银系统在实际工作中的重要性。

2. 学生通过学习收银系统,增强团队协作意识,提高沟通能力。

3. 学生在学习过程中,树立正确的消费观念,遵循诚信经营原则。

课程性质:本课程为实践性较强的课程,以任务驱动法为主,结合实际案例进行分析,使学生能够学以致用。

学生特点:初中年级学生,具备一定的计算机操作基础,好奇心强,喜欢动手实践。

教学要求:教师需结合学生特点,采用生动活泼的教学方式,引导学生主动参与,注重培养学生的实际操作能力。

在教学过程中,关注学生的学习反馈,及时调整教学策略,确保课程目标的实现。

将目标分解为具体的学习成果,以便进行后续的教学设计和评估。

二、教学内容1. 收银系统概述- 了解收银系统的定义、发展历程及其在现代零售业的作用。

- 教材章节:第一章 收银系统概述2. 收银系统硬件设备- 认识收银机、扫描枪、钱箱、打印机等硬件设备及其使用方法。

- 教材章节:第二章 收银系统硬件设备3. 收银系统软件操作- 学习商品编码、价格录入、折扣设置等基本操作。

- 掌握商品销售、结账、退款、交易查询等功能。

- 教材章节:第三章 收银系统软件操作4. 收银系统日常管理- 掌握日结、周结、月结等报表的生成和数据分析。

- 学习商品库存管理、员工权限设置等管理功能。

- 教材章节:第四章 收银系统日常管理5. 收银系统故障处理- 了解常见故障现象及解决方法。

C语言超市收银管理系统实现详解

C语言超市收银管理系统实现详解

超市收银管理程序的设计与实现1摘要和关键字1.1摘要该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。

除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。

最后,系统能对销售情况进行查询。

AbstractThe system is mainly used in the supermarket goods management personnel of the product information (including commodity number, name of goods, unit price) input, delete, modify, and query. In addition, when sales staff input article number and sales volume, the system should be calculated according to the actual amount receivable, and cashier calculation quantity change. Finally, the system can inquire the sales situation.1.2 关键字登陆系统操作菜单建立信息库查询付款KeywordsLogin system Operation menu Set up information database Inquire Pay2 正文2.1 引言随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。

尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。

vc可视化程序设计报告超市收银系统课程设计报告

vc可视化程序设计报告超市收银系统课程设计报告
二、课程设计内容及要求
设计出一个超市收银程序 (1)使用用户界面实现。信息返回给收银台,计算出该顾客所购商品的总价格。 (2)管理员可以对商品进行查询、添加、修改、删除等(包括商品种类、数量、 单价情况),并存储在数据库中。
三、设计思路
修改价格
用户登录 否
确认密码 是
操作界面
输入商品编号
添加商品
删除商品
else
MessageBox(没" 有查到你要找的商品记录! ");
} // 商品的查询
5
void CMy09108bianjingView::OnTj()
{
// TODO: Add your control notification handler code here
CSecondDlg dlg;
{
// TODO: Add your control notification handler code here
UpdateData();
m_pSet->m_goodscode.TrimLeft();
if (m_pSet->m_goodscode.IsEmpty({))
MessageBox(要" 查询的商品编号不能为空! ");
我希望在未来的 vc++道路上能够走的更远!
7
// TODO: Add your control notification handler code here UpdateData(); m_change2=m_money-m_count; UpdateData(false);
}
// 实现找零
void CMy09108bianjingView::OnCx()

C语言课程设计—超市收银课设

C语言课程设计—超市收银课设

课程设计报告课程名称《C语言程序设计》课题名称超市收银系统的设计与实现专业统计学班级1201班学号************姓名马游指导教师杨子华陈世清李杰君2013年5月20日湖南工程学院课程设计任务书课程名称《C语言程序设计》课题超市收银系统的设计与实现专业班级统计1201班学生姓名马游学号************指导老师杨子华陈世清李杰君审批任务书下达日期2013 年5月20日任务完成日期2013年6月23 日目录1.系统需求分析 (1)1.1系统要求1.2功能要求2.总体设计 (1)2.1模块划分2.2系统功能模块图2.3模块功能说明2.4商品函数数据类型3.详细设计 (3)3.1商品进货流程图3.2商品修改流程图4.程序调试分析 (4)5.总结 (9)6.系统使用说明 (9)附件:源程序清单1.系统需求分析1.1系统要求:实现对超市商品的收银以及各项数据的显示、查询、修改、排序等操作的管理。

1.2功能要求:1)本系统采用一个结构体数组,数据的结构应当包括:商品编号、商品名称、单价、库存量、购买量、总价、成本、利润。

2)本系统显示这样的菜单:请选择系统功能项:a、收银b、数据查询c、数据管理⑴入库⑵删除⑶修改d、利润统计⑴按类统计利润并排序⑵统计总利润e、退出系统3)执行一个具体的功能之后,程序将重新显示菜单。

4)将数据保存到文件中。

5)进入系统前要求先输入密码2.总体设计2.1模块划分首先输入管理员的账号、密码,成功登入系统,然后系统模块分为“商品管理”、“商品销售”、“查看利润”三个部分。

商品管理又包含:商品进货,商品添加,商品浏览,商品搜索,商品删除,商品修改或返回上一级。

2.2系统功能模块图2.3模块功能说明(1).登入模块:输入账号,密码登入。

(2).商品管理模块:对商品条形码,名称,单价,库存量,购买量,成本价,利润等信息录入的管理。

还可对已建立的商品信息进行查询,并且可根据需要选择按商品名查询或按商品种类查询或按商品进货量查询。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

合肥学院计算机科学与技术系课程设计报告2009~2010学年第二学期课程程序设计语言Ⅱ课程设计课程设计名称收银台结算程序学生姓名学号0904032024专业班级网络工程(2)班指导教师何立新、刘洁群2010年7月(一)需求分析现在某大型超市由于购物人员太多需要一个收银台结算程序,以方便消费者能够快速付账。

该程序中能够各种商品的全部信息,包括商品的编号、名称、数量、进价、售价等。

程序主要是用来方便消费者付账,当消费者选定商品时收银台的工作人员只要把消费者买的商品的数量输进去就可以了,该程序会自动的计算其总额并告知消费者要交多少金额。

因此该程序的主要功能就是帮助收银台的工作人员实现收款的目的。

所以在制作该软件时首先要有一系列的子函数:当输入商品的编号时就可以知道它的数量、进价、售价等。

当工作人员收银时只要输入商品的编号,并输入其数量就可以知道消费者要付金多少,然后系统就会根据消费者给的金额会打印出相应的购物小票。

小票上会显示消费者所购商品的编号、数量、以及消费者所给的金额和应该找零多少。

当消费者不能提供所购商品的编号时,系统则无法进行其各项的操作。

在收银的过程中如果遇到了消费者所给的金额不够则系统会自动出现提示:所交金额不足。

每当消费者买走一件商品时系统在显示时变回显示其数量减少一个,在开始设计时为了能够满足要求因此要定义空间足够大的id,name,count.分别各为100.在计算时输入商品的数量然后系统就会用该商品的单价乘以数量就得到了消费者应付的金额。

(二)设计根据上诉需求应该定义一个DATA类,该类中定义了产品的编号id,产品名称name,商品的已售数量salecount,还有商品的进价buy,和商品的售价sale。

在public中有成员函数getid,用于得到商品的编号;getname,用于得到商品的名称;getsale,用于得到商品的售价;getbuy,用于得到商品的进价。

在此基础上又派生出另一个类WAY。

在WAY类中有成员函数newfile,用于新建各种商品的信息,在newfile 中会分别要求输入商品的编号、名称、数量、进价、售价。

在一次输入各种商品的各种信息后可以调用另一个成员函数save,将输入的商品的各种信息储存起来。

要进行收银工作时选择sale子函数进行收银工作,在输入商品的各种信息后可以调用函数showdata把商品的编号、名称、数量以及进价和售价都显示出来以方便查看。

在WAY类中open函数主要是用来打开已经保存好的各种商品的各种基本信息。

在程序运行时将开始准备好的数据输入这样就变的更加方便了。

在有很多商品的情况下要临时找到一个商品的基本信息一般比较困难,因此还要用到binsearch来查找商品。

当要想找到摸个商品时只要将其编号输入系统就可以根据编号进行查找,从而找到所要的商品。

在商品已经销售了一部分时可以计算一下这些商品的总的进价因而sumsale函数就是来计算已经销售出去的商品的总的进价,同样,当想知道已经售出的这些商品所得到的利润时就可以用函数sumgain,这些函数都是主函数countmenu中的子函数,在countmenu函数中包括已售总额、已售总进价、已得纯利润、预销售总额。

在商场进行交易时便会用到函数sale来进行收银工作,开始时输入商品的编号如果没有改编号则说明仓库中没有该商品,此时便会输出“此产品已缺”,有该商品的则会提示你输入“输入数量”,在有提示:“输入收到金额”,此时如果输入的是负数或者超出该产品的库存量则系统会提示:“数量输入不真确”,等到一切都正确后系统便会输出一个购物小票:上面有商品的名称、数量、单价、应收、找零。

在该系统实现其收银功能后,我们可以对这一段时间所销售的商品做一个统计,包括对他的数量、售出量、进价、售价、盈利多少等,当选择计算的子函数时便可以对这些已经售出的商品做一个系统的统计,在统计之后会输入一个清单。

上面写着这段时间所有售出的商品的各种信息,已列表的形式把商品的编号、名称、已售出量、售价、进价等。

在类的设计中主要是数据成员以及成员函数,在WAY类中我们首先要把商品的基本信息能用数据成员表示,于是便要定义编号、名称、数量、进价、售价。

在主函数menu中有1.输入产品信息 2.显示 3.保存 4.打开 5.菜单 6.收银 7.计算 0.返回"这几项功能。

在设计该程序时要考虑到开始时可以对商品的信息进行输入,于是在子函数newfile中便是将商品的信息输入其中。

但考虑到由于商品要是太多的话临时输入这些商品的信息太麻烦并且耽误时间,所以我们考虑到用磁盘文件来处理,在磁盘文件中我们先把各种商品的基本信息保存在里面,等到要用的时候就可以直接打开,因此我们用open函数来实现这个功能。

(三)用户手册当我们把收银台结算程序编写好用于商场之后,在消费者来付账时,我们首先运行该程序,这是主页面会显示1.输入产品信息 2.显示 3.保存 4.打开 5.菜单 6.收银 7.计算 0.返回",“选择菜单”的字样。

这是选择1系统就会显示id、name、count、buy、sale。

这是我们依次输入商品的编号、名称、数量、进价、售价后,系统又会显示sn 这是再选择所要操作的,当选择6 时进入收银状态。

这时系统会提示你输入产品编号、输入数量、输入收到金额、等全部输入完成后系统便会打印一个购物小票出来:购物小票名称:奶粉数量:2单价:140元应收:280元找零:12元当输入的编号无法找到时系统便会显示:not find。

当选择7时系统便会输出:1.已售总额 2.已售总进价 3.已得纯利润 4.预销售总额 5.进价成本总额 0.返回"。

这时还要进行子函数的选择,选择1时这是时在计算已经售出商品的总额,系统会显示280。

选择2时这是在计算已经售出商品的总进价,系统会显示200,当选择3时这是在计算已经售出商品所得的总利润,系统会显示80,当选择4时这是在计算预销售总额,系统会显示310,当选择5时这是在计算进价成本总额,系统会显示230。

当我们想结束计算着子函数的调用时选择0这是系统会自动跳出该子函数的运行然后显示:输入“选择菜单”作为提示。

当我们已经输入很多商品的信息并都已成功售出时由于看不见主菜单的内容了这时就可以选择5系统便会把住菜单显示出来:1.输入产品信息 2.显示 3.保存4.打开 5.菜单 6.收银 7.计算 0.返回",当我们选择2时系统就会把商品现在信息显示出来。

编号名称当前量已售量进价售价12 奶粉 100 2 100 14013 洗衣机 200 10 500 2000等各种商品的信息。

只要按照系统的提示操作就会很顺利的完成。

(四)调试及测试由于该程序要包含各种商品的信息因此在运行该系统时首先要把各种商品的基本信息放在磁盘文件中,在应用时直接就可以读出这些商品的信息。

在开始编写该程序时没有考虑到商品数量、价格的容量大小导致了在输入商品的信息时系统出现了错误,后来打开书本时看到书上的例子时想起来的从而改正了错误,在编写showdata,函数时我们要把商品的各种信息都显示出来由于商品的基本信息比较多,要考虑到输出时的整齐所以要要运用到setw函数来控制输出时的界面开始时由于没有注意到所输出来的空格数进而导致了输出来的界面有有点乱,之后又调整了输出时的空格数才使得输出来的界面变得相对美观,在编写sale函数时开始没考虑到输入提示,当系统运行时不知道系统要我们做什么,之后意思到后就在开始时输入了输入提示,这样当系统运行时就可以按照系统对你的提示进操作了。

在有很多商品的情况下要临时找到一个商品的基本信息一般比较困难,因此还要用到binsearch来查找商品。

当要想找到摸个商品时只要将其编号输入系统就可以根据编号进行查找,从而找到所要的商品。

在商品已经销售了一部分时可以计算一下这些商品的总的进价因而sumsale函数就是来计算已经销售出去的商品的总的进价,同样,当想知道已经售出的这些商品所得到的利润时就可以用函数sumgain该系统中为了使得能够把商品的各种信息都能输出来并能够显示出来因此就运用了countmenu函数来把已经售出商品和未售的出商品的各种信息输入。

系统会显示1.已售总额 2.已售总进价 3.已得纯利润 4.预销售总额 5.进价成本总额。

这样就可以知道未售出商品和已售出商品的数量和已经所得的盈利。

当选择菜单1时系统就会让你输入各种商品的信息,这时按照要求输入时然后选择6就可以进行收银工作,我们在系统的提示下会输入商品的编号、名称、数量、和进价售价。

可以进行操作了。

然后就当选择7时系统便会输出:1.已售总额 2.已售总进价 3.已得纯利润 4.预销售总额 5.进价成本总额 0.返回"。

这时还要进行子函数的选择,选择1时这是时在计算已经售出商品的总额,系统会显示134。

选择2时这是在计算已经售出商品的总进价,系统会显示92,当选择3时这是在计算已经售出商品所得的总利润,系统会显示42,当选择4时这是在计算预销售总额,系统会显示6838,当选择5时这是在计算进价成本总额,系统会显示5440。

当我们想结束计算着子函数的调用时选择0这是系统会自动跳出该子函数的运行然后显示:输入“选择菜单”作为提示。

(5)小结通过一个学期C++语言的学习,现在对程序设计有了一定程度上的了解并会进行简单的程序设计,开始学习C++语言时可以说是在听天书,啥都不会,整天晕头转向的,加之老师是如此的严格,因此对C+ 语言充满了恐惧感!但由于认识到了C++语言的重要性,因此又加紧学习,上课认真听讲,课后认真看书,所以才对C++语言有了一定的了解和体会,之后才慢慢的会编写一些简单的程序,随着学习的深入,越来越难,之后又学习了数组和指针使得学习变得更难,数组的学习可以解决很多数据类型一样的数,然后又学习了结构体,结构体的学习使得程序越来越大,越来越复杂,以前的程序都是一些简单的小程序,学了结构体后就可以编写一些相对较大的程序了,结构体可以吧一些数据类型一样的集合在一起,在编写收银台结算系统时,开始不知道怎样写,主要是前面学的不好,还有一些小的知识不知道,所以在编写相对较大的程序时会遇到很多困难,通过一个学期的学习,现在对C++语言不再那么的害怕,一些简单的程序可以自己独立的解决,现在也可以吧学生成绩管理系统编写出来了。

由此可以看出只要自己努力就可以解决很多问题,C++语言的学习主要是以动手为主,不断的自己写程序代码,然后自己上机调试,不断的写程序不断地上机调试就可以熟能生巧,收银台结算系统就是不断的上机调试的结果,只有自己认真了努力了才能不断的进步。

(六)参考文献[1] 刘振安等编著《C++程序设计课程设计》机械工业出版社[2] 吴乃陵等编著《C++程序设计》北京:高等教育出版社[3] 李龙澍《C++程序设计实训教程》北京:清华大学出版社[4] 宁正元《数据结构(C语言)》南京:东南大学出版社。

相关文档
最新文档