I am trying to make a code that just is an math calculator in serial monitor here is answer in serial monitor
Sketch uses 6352 bytes (19%) of program storage space. Maximum is 32256 bytes.
Global variables use 552 bytes (26%) of dynamic memory, leaving 1496 bytes for local variables. Maximum is 2048 bytes.
Flashing with command:C:/Users/bhatt/.arduino-create/arduino/avrdude/6.3.0-arduino17/bin/avrdude.exe -CC:/Users/bhatt/.arduino-create/arduino/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:/Users/bhatt/AppData/Local/Temp/arduino-create-agent2180432931/new_sketch_1736560410438.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:/Users/bhatt/.arduino-create/arduino/avrdude/6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "C:/Users/bhatt/AppData/Local/Temp/arduino-create-agent2180432931/new_sketch_1736560410438.hex"
avrdude: writing flash (6352 bytes):
Writing | ################################################## | 100% 0.97s
avrdude: 6352 bytes of flash written
avrdude: verifying flash memory against C:/Users/bhatt/AppData/Local/Temp/arduino-create-agent2180432931/new_sketch_1736560410438.hex:
avrdude: load data flash data from input file C:/Users/bhatt/AppData/Local/Temp/arduino-create-agent2180432931/new_sketch_1736560410438.hex:
avrdude: input file C:/Users/bhatt/AppData/Local/Temp/arduino-create-agent2180432931/new_sketch_1736560410438.hex contains 6352 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.75s
avrdude: verifying ...
avrdude: 6352 bytes of flash verified
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
Ok
void setup() {
Serial.begin(9600); // Start the Serial Monitor
Serial.println("Simple Math Program");
Serial.println("Follow the steps:");
Serial.println("1. Enter the first number and press Enter.");
Serial.println("2. Enter the second number and press Enter.");
Serial.println("3. Enter an operator (+, -, *, /) and press Enter.");
}
float getNumber() {
while (Serial.available() == 0) {
// Wait for user input
}
String input = Serial.readStringUntil('\n');
input.trim(); // Remove extra spaces
return input.toFloat(); // Convert input to float
}
char getOperator() {
while (Serial.available() == 0) {
// Wait for user input
}
char op = Serial.read();
while (Serial.available() > 0) Serial.read(); // Clear any extra input
return op;
}
void loop() {
Serial.println("Enter the first number:");
float num1 = getNumber();
Serial.println("Enter the second number:");
float num2 = getNumber();
Serial.println("Enter an operator (+, -, *, /):");
char operation = getOperator();
float result;
bool valid = true;
switch (operation) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
Serial.println("Error: Division by zero.");
valid = false;
}
break;
default:
Serial.println("Error: Invalid operator. Use +, -, *, or /.");
valid = false;
break;
}
if (valid) {
Serial.print("Result: ");
Serial.println(result);
}
Serial.println("-----");
}
can it work as a calculator not just text
I am using uno with port com3