计算器设计
- 格式:doc
- 大小:230.00 KB
- 文档页数:40
计算器的总体设计理念
计算器作为一种常见的办公用品,其总体设计理念应当围绕着简洁、易用、高效和人性化展开。
在现代社会,计算器已经成为人们日常生活和工作中不可或缺的工具,因此其设计理念必须紧跟时代潮流,满足人们的实际需求。
首先,计算器的总体设计应当追求简洁。
简洁的设计能够使用户更快速地找到所需的功能,避免不必要的复杂操作,提高使用效率。
简洁的外观设计也能够给人一种清爽、舒适的感觉,使人更愿意使用计算器。
其次,易用性是计算器设计的重要理念之一。
计算器应当注重用户体验,通过直观的界面设计、简单的操作流程和清晰的显示效果,使用户能够轻松地完成各种计算任务,无论是简单的加减乘除,还是复杂的科学计算。
高效性是计算器设计理念的核心之一。
计算器应当具备快速响应的能力,能够在用户输入数据后立即给出准确的计算结果。
同时,计算器还应当具备一定的记忆功能,能够存储用户的历史计算记录,方便用户查阅和修改。
最后,人性化是计算器设计的重要考量之一。
计算器的设计应当考虑到用户的使用习惯和需求,提供一些个性化的设置选项,使用户能够根据自己的喜好进行定制。
同时,计算器的外观设计也应当考虑到人体工程学,使得使用起来更加舒适和方便。
总的来说,计算器的总体设计理念应当以简洁、易用、高效和人性化为核心,满足用户的实际需求,提高用户的使用体验,成为人们生活和工作中的得力助手。
计算器的总体设计理念
计算器作为一种常见的办公用品,其设计理念应该注重实用性、易用性和美观性。
首先,计算器的实用性是其设计的重要考量因素。
一个好的计算器应该能够满足日常的计算需求,包括基本的加减乘除运算、百分比计算、平方根等功能。
此外,还应该考虑到用户的实际使用场景,比如在光线较暗的环境下也能清晰显示数字,按钮设计要符合人体工程学,方便按键操作。
其次,易用性也是计算器设计的重要方面。
计算器的界面应该简洁明了,数字
和功能键的布局要合理,用户能够快速找到需要的按键。
同时,计算器的响应速度也应该快速,不会出现按键延迟或卡顿的情况。
另外,计算器的电源管理也要考虑到,能够节省电量,延长使用时间。
最后,美观性也是计算器设计的重要一环。
一个外观精美的计算器不仅能够提
升用户的使用体验,还可以增加办公桌面的美感。
设计师可以在外观上加入一些创意元素,比如采用时尚的色彩搭配或者简约的线条设计,使计算器成为办公桌上的一道亮丽风景线。
综上所述,计算器的总体设计理念应该围绕实用性、易用性和美观性展开。
只
有充分考虑到用户的需求和体验,才能设计出一款符合市场需求的优秀计算器产品。
单片机的简易计算器毕业设计简易计算器是一种基本、常见的电子设备,它能够对数字进行简单的加减乘除运算。
单片机作为一种小型、低功耗的微型计算机,非常适合用于设计和实现计算器的功能。
在本文中,我们将以单片机为基础,设计和实现一个简易计算器。
一、设计思路1.硬件设计:-使用单片机作为主控制器。
-接入键盘矩阵和显示器。
-使用LED灯作为指示灯,用于显示运算符和结果。
2.软件设计:-通过键盘输入数字和运算符。
-将输入的数字和运算符转换成相应的控制信号。
-进行运算,并将结果显示在屏幕上。
3.功能实现:-实现加法、减法、乘法和除法运算。
-提供清零、退格和等号等功能。
-支持小数和负数的输入和运算。
-提供错误提示功能,例如除数不能为零等。
二、具体实现1.硬件实现:-将键盘矩阵的行和列与单片机的IO口相连,通过扫描来检测按键的输入。
-将显示器与单片机的IO口相连,通过控制引脚来发送和接收数据。
-将LED灯与单片机的IO口相连,设置相应的引脚状态来显示不同的指示信号。
2.软件实现:-使用C语言编写程序,通过中断和轮询的方式,实现键盘输入的检测和数据的读取。
-将读取到的数据进行解析,并根据不同的按键进行相应的操作。
-根据输入的数字和运算符,进行相应的运算并输出结果。
3.功能实现:-加法、减法、乘法和除法运算可以通过相应的算法实现,例如加法可以通过循环和位运算来实现。
-清零功能可以将运算结果和输入的数字都清零,退格功能可以删除输入的最后一个数字或运算符。
-支持小数运算可以在运算过程中进行进位和进位操作,支持负数运算可以通过判断运算符来进行相应的处理。
-错误提示功能可以通过对输入的数据进行检查和判断来实现,例如判断除数是否为零。
三、总结通过上述的设计和实现,我们可以成功地设计和制作一个单片机的简易计算器。
通过这个计算器,用户可以进行简单的加减乘除运算,同时还具备清零、退格、小数和负数等功能。
这个计算器可以应用在日常生活中的计算场景,方便用户进行各种简单的运算操作。
基于51单片机计算器设计计算器是一种常见的电子设备,可以进行数学运算、数据处理等功能。
本文将基于51单片机进行计算器设计。
一、设计目标:1.实现基本的数学运算功能,如加减乘除、取余等。
2.能够进行复杂的数学运算,如平方、开方等。
3.具备记忆功能,能够存储中间结果和运算符号。
4.设置输入界面,允许用户输入数字和操作符。
5.显示运算结果和中间过程。
二、硬件系统设计:1.使用51单片机作为主控芯片,具有高集成度和处理能力。
2.连接光栅液晶显示屏,用于显示数值和操作符。
3.连接矩阵键盘,用于获取用户的输入。
4.连接电源电路,保证计算器正常运行。
三、软件系统设计:1.确定界面设计,包括数值显示区、操作符显示区和功能键区。
2.设计输入处理模块,根据用户输入获取相应的数值和操作符,并进行相应的处理。
3.设计运算模块,根据用户输入的操作符进行相应的数学运算,并将结果存储起来。
4.设计显示模块,将计算结果和中间过程显示在液晶屏上。
5.设计存储模块,用来存储中间运算结果和操作符号。
四、软件流程设计:1.系统初始化:包括设置显示模式、清零中间结果等。
2.输入处理:通过矩阵键盘输入数字和操作符,并进行相应的处理。
3.运算处理:根据用户输入的操作符,进行相应的数学运算,并将结果存储起来。
4.结果显示:将计算结果和中间过程显示在液晶屏上。
5.存储结果:将计算结果和操作符存储起来,以备后续计算。
五、测试和调试:在设计完成后,需要进行系统测试和调试,确保计算器的各项功能正常运行。
首先进行单元测试,验证各个模块的功能是否按照设计要求正确执行。
然后进行综合测试,模拟用户输入各种情况下的运算过程,检测是否能够正确进行运算并显示结果。
如果发现问题,则进行调试和修改,直到计算器满足设计要求。
六、总结:基于51单片机进行计算器设计,可以实现基本的数学运算功能,并具备记忆功能。
设计步骤包括确定硬件系统和软件系统设计,设计界面、输入处理、运算处理、显示和存储模块,进行测试和调试确保计算器功能正常运行。
简易加减计算器设计一、引言计算器是一种用于进行数学计算的设备,它可以帮助我们进行各种加减乘除等运算。
本篇文章将介绍如何设计一个简易的加减计算器,该计算器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。
二、设计思路1.确定输入和输出2.设计加法电路加法可以通过逻辑门电路实现,其中最基本的逻辑门是异或门。
我们可以使用多个异或门来实现加法,具体的实现方法如下:-使用8个异或门分别对两个二进制数的对应位进行异或运算,得到8个中间结果;-使用7个与门分别对中间结果和进位信号进行与运算,得到7个进位信号;-使用7个或门分别对进位信号进行或运算,得到进位输出;-使用一个或门对中间结果和进位输出进行或运算,得到最终的结果。
3.设计减法电路减法可以通过将减数取反然后与被减数进行加法运算来实现。
具体的实现方法如下:-对减数取反,可以使用8个反相器实现;-将取反后的减数和被减数输入到加法电路中进行加法运算,得到结果。
三、电路实现根据上述设计思路,我们可以使用数字集成电路来实现加减计算器。
以下是一个基于数字集成电路74LS83A的简易加减计算器电路图:```______________,---,A+B,----,S_______,,_____________,______---,M,---_______,,_________________-----------,B'+1=B__________```在上述电路图中,A和B分别表示两个8位二进制数的输入,S表示计算结果的输出,M表示减号操作符的输入,B'+1表示减数的取反。
四、测试与验证为了验证电路的正确性,我们需要进行测试。
我们可以编写一个测试程序,将各种情况的输入输入到电路中,并检查输出结果是否符合预期。
测试例子如下:输入:M=0预期输出:输入:M=1预期输出:通过编写测试程序,并根据预期结果检查输出结果,可以验证电路设计的正确性。
五、总结本篇文章介绍了如何设计一个简易的加减计算器,该计算器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。
简易计算器的设计与实现设计一个简易计算器涉及以下几个方面:1.需求分析:-定义计算器的功能-确定计算器支持的数学运算,如加法、减法、乘法、除法等2.用户界面设计:-设计计算器的界面布局,包括数字按键、运算符按键、等号按键等-考虑使用框架或库来构建用户界面3.输入处理:-设计解析用户输入的算式-处理用户点击按键时的输入4.运算处理:-实现各种数学运算的算法-将用户输入的算式传入运算处理函数进行计算5.显示结果:-将计算结果显示在计算器的界面上下面是一个简易计算器的实现示例,使用Python语言和PyQt库来构建:```pythonimport sysfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QGridLayout, QPushButton, QLineEdit class Calculator(QWidget):def __init__(self):super(.__init__self.setWindowTitle("简易计算器")yout = QVBoxLayoutself.input_box = QLineEdityout.addWidget(self.input_box)self.buttons =['7','8','9','/'],['4','5','6','*'],['1','2','3','-'],['0','.','=','+']self.grid_layout = QGridLayoutfor i in range(4):for j in range(4):button = QPushButton(self.buttons[i][j])button.clicked.connect(self.button_clicked)self.grid_layout.addWidget(button, i, j)yout.addLayout(self.grid_layout)self.setLayout(yout)self.equal_clicked = Falsedef button_clicked(self):button = self.sendertext = button.textif text == '=':self.calculateelse:self.input_box.setText(self.input_box.text( + text) def calculate(self):expression = self.input_box.texttry:result = eval(expression)self.input_box.setText(str(result))except Exception as e:self.input_box.setText("错误:{}".format(e))if __name__ == '__main__': app = QApplication(sys.argv) calculator = Calculator calculator.showsys.exit(app.exec_()。
51单片机简易计算器设计一、设计思路计算器的基本功能包括加法、减法、乘法和除法。
我们可以使用按键作为输入方式,将输入的数字和操作符暂时保存在内存中,然后根据操作符进行相应的运算。
最后再将运算结果显示在数码管上。
具体设计思路如下:1.确定计算器所需的硬件组件:数码管、按键、51单片机和相关电路。
2.定义按键与数字和操作符的对应关系。
3.编写51单片机的程序,实现按键输入、运算和结果显示的功能。
二、硬件设计1.数码管:使用常见的7段数码管作为显示器,通过引脚连接到51单片机的IO口。
2.按键:使用4个按键分别表示数字输入键、加法键、减法键和等于键。
三、软件设计1.初始化:将数码管引脚设为输出模式,将按键引脚设为输入模式。
2.按键处理:采用中断方式检测按键输入,通过编程判断所按的键。
3.数字输入:将按键所对应的数字保存在变量中,最多支持四位数的输入。
4.操作符输入:将按下的操作符保存在变量中。
5.运算:根据保存的操作符进行相应的运算,并将结果保存在变量中。
6.结果显示:将结果显示在数码管上。
四、代码实现下面是一个示例代码的框架,供参考:```c#include <reg52.h>sbit SDA = P0^0; // I2C总线数据线sbit SCL = P0^1; // I2C总线时钟线//定义按键的IO口sbit BUTTON0 = P1^0; // 数字输入键sbit BUTTON1 = P1^1; // 加法键sbit BUTTON2 = P1^2; // 减法键sbit BUTTON3 = P1^3; //等于键unsigned char num1 = 0; // 第一个操作数unsigned char num2 = 0; // 第二个操作数unsigned char op = 0; // 操作符unsigned char result = 0; // 运算结果//判断按键所对应的数字或操作符void buttonif (BUTTON0 == 0) // 数字输入键//将按键所对应的数字保存在变量中//显示数字}else if (BUTTON1 == 0) // 加法键//保存操作符为加号}else if (BUTTON2 == 0) // 减法键//保存操作符为减号}else if (BUTTON3 == 0) //等于键//根据保存的操作符进行相应的运算//将结果保存在变量中//显示结果}void mainwhile (1)button(; // 按键处理}```五、总结通过以上的设计思路和示例代码,我们可以轻松地实现一个简易的计算器。
计算器的总体设计理念
计算器作为现代人们生活中不可或缺的工具,其总体设计理念至关重要。
一个
好的计算器不仅需要具备精准的计算功能,还需要考虑用户体验、外观设计和便携性等方面。
在设计计算器时,需要考虑以下几个方面的理念。
首先,精准的计算功能是计算器的基本要求。
计算器需要具备高精度的计算能力,能够进行各种复杂的数学运算,包括加减乘除、开方、百分比等。
计算器的设计理念应该是以精准和可靠为核心,确保用户在使用时能够得到准确的计算结果。
其次,用户体验是计算器设计的重要考量。
计算器的按键设计应该合理,手感
舒适,操作方便。
屏幕显示内容清晰易读,功能操作简单直观。
计算器的设计理念应该是以用户体验为重点,让用户在使用时感到舒适和便捷。
此外,外观设计也是计算器设计的重要方面。
计算器的外观设计应该简洁大方,符合人体工程学原理,手持时舒适稳固。
外观设计理念应该是以简约时尚为主,使计算器在外观上更具吸引力和美感。
最后,便携性也是计算器设计的重要考虑因素。
现代人们经常需要在不同场合
使用计算器,因此计算器的便携性十分重要。
设计理念应该是以轻便易携为宗旨,方便用户随身携带和使用。
总体来说,一个好的计算器需要在精准计算、用户体验、外观设计和便携性等
方面都有着良好的设计理念。
只有这样,才能真正满足用户的需求,成为他们生活中的得力助手。
基于单片机的简易计算器设计引言:计算器是一种广泛应用的电子设备,可以进行各种数学计算。
基于单片机的计算器是一种使用单片机作为核心处理器的计算器。
本文将介绍如何设计一个基于单片机的简易计算器。
一、设计思路:1.硬件设计:选择适合的单片机,LCD显示屏,按键开关和电源电路,将它们连接在一起组成计算器的硬件。
2.软件设计:使用单片机的编程语言编写程序,实现计算器功能,如加法、减法、乘法、除法等运算,以及清零、退格、等号等功能。
二、硬件设计:选择单片机:在设计单片机计算器时,我们可以选择MCU,如STC89C52、ATmega32等。
这些单片机性能稳定,功能强大,适合用于计算器的设计。
LCD显示屏:选择合适尺寸和接口的LCD显示屏,用于显示计算结果和输入的数字。
按键开关:选择合适的按键开关,用于接收用户的按键输入,如数字、运算符等。
电源电路:设计适合的电源电路,为计算器提供稳定的电源。
三、软件设计:1.初始化功能:启动计算器时,进行相关初始化操作,如清屏、设置计算器状态等。
2.数字输入功能:通过按键输入,将数字输入到计算器中,同时刷新LCD显示屏上的内容。
3.运算功能:根据用户输入的数字和运算符,进行相应的运算操作,如加法、减法、乘法、除法等。
4.清零功能:按下清零按钮时,将计算器的状态重置为初始状态。
5.退格功能:当用户输入错误时,可以通过按下退格按钮,删除最后一个输入的数字或运算符。
6.等号功能:用户按下等号按钮时,计算器将完成运算,并将结果显示在LCD屏上。
7.错误处理功能:当用户输入错误时,计算器应该给出合适的错误提示。
四、程序实现:1.确定单片机的引脚分配,将LCD显示屏、按键开关和单片机的引脚连接起来。
2.使用单片机的编程语言编写程序,实现计算器的功能。
3.根据运算符和数字的不同,确定相应的运算方法,并在LCD显示屏上显示结果。
4.使用条件语句和循环结构,实现计算器的控制逻辑。
5.通过编程实现按键响应功能,当用户按下相应按键时,执行相应的操作。
基于51单片机计算器设计计算器是一种常用的计算工具,用来进行加减乘除等基本运算。
本文将介绍基于51单片机的计算器设计,主要包括功能设计、硬件设计和软件设计。
一、功能设计:1.基本计算功能:实现加法、减法、乘法和除法四种基本运算功能。
2.小数运算功能:支持小数的四则运算。
3.多位数运算功能:支持多位数的四则运算。
4.括号运算功能:支持括号运算,可以进行复杂的运算。
5.求平方功能:支持对一个数求平方。
6.求开方功能:支持对一个数求开方。
7.求倒数功能:支持对一个数求倒数。
8.清零功能:清零计算器,重新开始计算。
9.删除功能:删除输入的数字或者运算符。
二、硬件设计:硬件设计主要包括51单片机、LCD显示屏、矩阵按键、蜂鸣器和电源电路等。
1.51单片机:作为计算器的核心控制器,负责接收输入的数据和指令,并进行相应的计算和显示。
2.LCD显示屏:用于显示计算器的输入和输出结果。
3.矩阵按键:用于接收用户输入的数字和运算符。
4.蜂鸣器:用于发出提示音,比如输入错误时进行报警。
5.电源电路:提供计算器运行所需的电源。
三、软件设计:1.输入处理:计算器通过矩阵按键接收用户输入的数字和运算符,并使用数组保存输入的数据和指令。
2.数字运算:计算器需要根据用户输入的数字和运算符进行相应的运算,如加法、减法、乘法和除法等。
3.显示处理:计算器使用LCD显示屏将输入和计算结果显示出来。
4.错误处理:计算器需要对用户输入错误进行相应的处理,如输入非法字符时进行提示或报警。
5.性能优化:计算器需要进行相关的性能优化,如加入负责时间延迟,以适应不同的使用场景。
四、总结:本文介绍了基于51单片机的计算器设计,包括功能设计、硬件设计和软件设计。
这种计算器可以实现基本的四则运算功能,并支持小数运算、多位数运算和括号运算等复杂运算。
通过合理的硬件设计和软件设计,可以使得计算器更加稳定和可靠。
这种设计不仅可以提高计算器的使用体验,还可以为用户提供更多的计算功能和更加便捷的计算方式。
昆明理工大学理学院信技专业课程设计报告基于c++builder的表达式计算器及播放器软件设计课程:程序设计班级:信技151学号:************ 、************姓名:郭峰、魏兴宇指导教师:***2016年9 月6日程序设计综合训练1 课程设计报告目录1引言------------------------------------------------------------------------------- 11.1课题背景-----------------------------------------------------------------21.2课程设计目的-----------------------------------------------------------3 2需求分析-------------------------------------------------------------------------52.2系统功能模块-----------------------------------------------------------52.3设计要求-----------------------------------------------------------------6 3系统实现------------------------------------------------------------------------83.1 对话框界面设计-------------------------------------------------------83.2 数值计算功能的实现-----------------------------------------------10 4程序关键代码及运行结果-------------------------------------------------12 5总结与体会------------------------------------------------------------------15一、引言1.1 课题背景计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。
要实现计算功能,可以用VC++的知识编写程序来解决此问题。
该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。
该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用.在计算器中加入了登录界面,加强计算器你的安全性及保护数据,除此之外,强大的工作压力很容易使人产生疲劳,所以可以加入音乐播放器功能。
1.2 课程设计目的本课程是一门实践性很强的课程,既要熟练掌握相关概念,又要动手编程,还要上机调试运行。
同时,本课程也注重提高学生编写技术文档和技术文档阅读的能力。
学生通过本课程的学习实践,将学习和强化软件开发的能力、文档写作能力、英语阅读能力、软件使用能力等。
为今后计算机编程的学习和工作打下良好、扎实的理论实践基础。
二、需求分析2.1系统功能模块1)输入的符号,数字从左向右显示; 点击“=”输出结果,在输出行显示2)支持加减乘除运算;3)支持“xˆy”的运算;4) 括号“(”“)”的使用;5)支持混合运算;6)计算器的输入方式:支持鼠标点击计算器键输入;7)计算器计算结果的输出方式:在计算器窗口的输出行显示8)算数运算的数据类型:整数和浮点数;9)特殊情况的计算;10)以上所有的运算都是在10进制下进行.1)输入的符号,数字从右向左显示。
先输入“8”再输入“×”第1 页点击“=”输出结果,在输出行显示.2)支持加减乘除运算.a.c. 减法计算d.除法运算(特殊情况见10.B)2)支持求次方(x ˆy)运算。
求次方(x ˆy)运算:“ˆ”为次方(x ˆy)在输入行中的显示符号4)“(”“)”的使用。
(括号的使用)要使用“(”“)”的时候,先点击“(”,再输入数字或符号,内容输入完毕以后,点击“)”,完成“(”“)”的所有功能。
例如:2×(2+2)=?2*(2+22*(2+2)2*(2+2)5)支持混合运算。
附:运算符的优先级表优先级 功能键 显示 结合律从 高 到 低 ( 、 ) ( 、 ) 自左向右x ˆy 、1/x ˆ、~ 自左向右×、÷ *、/ 自左向右﹢﹣ ﹢﹣ 自左向右例如:(5+2)×5=?(5+2)*56)计算器的输入方式:只支持鼠标点击计算器键输入;7)计算器计算结果的输出方式:在计算器窗口的输出行显示。
8)算数运算的数据类型:整数和浮点数。
a.输入行最大显示的字符数32位,每个运算符算一位;b.“(”,“)”各占一个字符位;c.输出行最大显示的字符数为32位;d.纯小数显示的最大字符数为小数点后30位,整数及小数点各占一位; 若纯小数为负数,则显示最大字符数为小数点后29位,“-”占一位;e.输入行在未输入任何数字的时候,显示“0”,只占一个字符位;当输入任何数字时。
“0”消失,输入的的数字取代“0”;当输入任何运算符时。
默认之前输混合运算则按优先级表中的运算符优先顺序从左向右计算入数字“0”;f.点击“=”键后方可显示数字或字母或汉字。
9)特殊情况的运算A.运算结果整数部分超出32位,显示Infinity(无穷大);出现运算异常!B.除数为0的情况,提示用户被除数不能为零!C.在运算时,若结果为纯小数,小数位超过30位,则超出的字符舍弃。
若舍弃超出部位后,结果全为0,则结果为0D.在运算时,若结果的整数位不为0a.总位数在最大字符位内,则直接显示;b.总位数在最大字符位以外,整数部分在最大字符位以内,则只优先显示整数部位,弃掉32位以后的字符E.当用户输入“^0”时,若“^0”之前的算式或数字的值为0,点击“=”后,输出界面显示“底数不能为0”10、以上所有的运算都是在10进制下进行2.2设计要求(1) 了解Windows编程的基础知识,掌握MFC应用程序的基本知识。
(2) 理解需求分析过程,掌握需求分析文档编写。
(3) 理解面向对象程序设计的基本思路和方法。
(4) 掌握用C++builder开发应用程序的一般步骤和方法。
(5) 掌握基于对话框的应用程序的编写,主要包括文本框和按钮等。
(6) 掌握后缀表达式算法。
(7) 掌握C++builder开发工具的使用。
包括资源管理,项目创建,运行调试等。
(8) 完成表达式的计算器应用程序,实现基本的加、减、乘、除等四则运算,且支持包括括号的表达式运算功能。
三、系统实现3.1对话框界面设计3.2数值计算实现例如:2×(2+2)=?22*(2*(2+22*(2+2)2*(2+2)8四、程序关键代码及运行结果//---------------------------------------------------------------------------登录程序代码:#include <vcl.h>#pragma hdrstop#include "Unit1.h"#include "Unit2.h"#include "Unit3.h"#include "var.h"#include "Unit4.h"//--------------------------------------------------------------------------- #pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TForm1::btnAddUserClick(TObject *Sender) {if(Users::adminLoginSuccess==false){ShowMessage("管理员未登录,请重试!");edtUserName->SetFocus();}else{if(users.count>=users.MaxUser)ShowMessage("用户数已满,不能增加!");elseForm3->Show();}}//--------------------------------------------------------------------------- void __fastcall TForm1::btnCancelClick(TObject *Sender) {Close();}//--------------------------------------------------------------------------- void __fastcall TForm1::btnChangePassClick(TObject *Sender){if(Users::adminLoginSuccess==true)ShowMessage("管理员不能修改密码!");else if(Users::userLoginSuccess==false){ShowMessage("用户未登录,请重试!");edtUserName->SetFocus();}elseForm2->Show();}//--------------------------------------------------------------------------- void __fastcall TForm1::btnOkClick(TObject *Sender){Users::adminLoginSuccess=false;Users::userLoginSuccess=false;lblStatus->Caption="";if(edtUserName->Text==adminName && edtPassword->Text==adminPass){Users::adminLoginSuccess=true;Users::userLoginSuccess=false;lblStatus->Caption="管理员已登录";}elsefor(int i=0;i<users.count;i++){if(edtUserName->Text==er[i].name&& edtPassword->Text==er[i].pass) {Users::userLoginSuccess=true;Users::adminLoginSuccess=false;lblStatus->Caption="用户"+er[i].name+"已登录";users.cur=i;break;}}if(Users::userLoginSuccess==false && Users::adminLoginSuccess==false)ShowMessage("无效的用户名或密码,请重新输入!");else{{if(Users::userLoginSuccess==true){ShowMessage("密码正确,欢迎进入!");Form4->Show();}else if(Users::adminLoginSuccess==true)ShowMessage("管理员已登录。