A tu mnie w maliny nie wprowadził?
Dodano po 55 [sekundy]:
A tu mnie w maliny nie wprowadził?
Dodano po 42 [sekundy]:
Nie miało być 2 razy
const int buttonPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // Przyciski dla cyfr 0-9
const int buttonAdd = 12; // Przycisk dla operacji dodawania
const int buttonSubtract = 13; // Przycisk dla operacji odejmowania
const int buttonMultiply = A0; // Przycisk dla operacji mnożenia
const int buttonDivide = A1; // Przycisk dla operacji dzielenia
const int buttonEqual = A2; // Przycisk równości
int number1 = 0;
int number2 = 0;
char operation = 0;
boolean newNumber = false;
void setup() {
for (int i = 0; i < 10; ++i) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
pinMode(buttonAdd, INPUT_PULLUP);
pinMode(buttonSubtract, INPUT_PULLUP);
pinMode(buttonMultiply, INPUT_PULLUP);
pinMode(buttonDivide, INPUT_PULLUP);
pinMode(buttonEqual, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 10; ++i) {
if (digitalRead(buttonPins[i]) == LOW) { // Jeśli przycisk i jest naciśnięty
if (newNumber) {
number1 = number1 * 10 + i;
Serial.print("Wprowadzona liczba: ");
Serial.println(number1);
} else {
number2 = number2 * 10 + i;
Serial.print("Wprowadzona liczba: ");
Serial.println(number2);
}
delay(250); // Debounce delay
}
}
if (digitalRead(buttonAdd) == LOW) {
operation = '+';
newNumber = true;
Serial.println("Operacja: +");
delay(250);
} else if (digitalRead(buttonSubtract) == LOW) {
operation = '-';
newNumber = true;
Serial.println("Operacja: -");
delay(250);
} else if (digitalRead(buttonMultiply) == LOW) {
operation = '*';
newNumber = true;
Serial.println("Operacja: *");
delay(250);
} else if (digitalRead(buttonDivide) == LOW) {
operation = '/';
newNumber = true;
Serial.println("Operacja: /");
delay(250);
}
if (digitalRead(buttonEqual) == LOW) {
Serial.print("Wynik: ");
switch (operation) {
case '+':
Serial.println(number1 + number2);
break;
case '-':
Serial.println(number1 - number2);
break;
case '*':
Serial.println(number1 * number2);
break;
case '/':
if(number2 != 0) {
Serial.println((float)number1 / (float)number2);
} else {
Serial.println("Błąd: Dzielenie przez zero!");
}
break;
default:
Serial.println("Brak operacji lub błąd!");
break;
}
// Resetuj liczby i operację
number1 = 0;
number2 = 0;
operation = 0;
newNumber = false;
delay(250);
}
}[/i][/i]Dodano po 55 [sekundy]:
A tu mnie w maliny nie wprowadził?
const int buttonPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // Przyciski dla cyfr 0-9
const int buttonAdd = 12; // Przycisk dla operacji dodawania
const int buttonSubtract = 13; // Przycisk dla operacji odejmowania
const int buttonMultiply = A0; // Przycisk dla operacji mnożenia
const int buttonDivide = A1; // Przycisk dla operacji dzielenia
const int buttonEqual = A2; // Przycisk równości
int number1 = 0;
int number2 = 0;
char operation = 0;
boolean newNumber = false;
void setup() {
for (int i = 0; i < 10; ++i) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
pinMode(buttonAdd, INPUT_PULLUP);
pinMode(buttonSubtract, INPUT_PULLUP);
pinMode(buttonMultiply, INPUT_PULLUP);
pinMode(buttonDivide, INPUT_PULLUP);
pinMode(buttonEqual, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 10; ++i) {
if (digitalRead(buttonPins[i]) == LOW) { // Jeśli przycisk i jest naciśnięty
if (newNumber) {
number1 = number1 * 10 + i;
Serial.print("Wprowadzona liczba: ");
Serial.println(number1);
} else {
number2 = number2 * 10 + i;
Serial.print("Wprowadzona liczba: ");
Serial.println(number2);
}
delay(250); // Debounce delay
}
}
if (digitalRead(buttonAdd) == LOW) {
operation = '+';
newNumber = true;
Serial.println("Operacja: +");
delay(250);
} else if (digitalRead(buttonSubtract) == LOW) {
operation = '-';
newNumber = true;
Serial.println("Operacja: -");
delay(250);
} else if (digitalRead(buttonMultiply) == LOW) {
operation = '*';
newNumber = true;
Serial.println("Operacja: *");
delay(250);
} else if (digitalRead(buttonDivide) == LOW) {
operation = '/';
newNumber = true;
Serial.println("Operacja: /");
delay(250);
}
if (digitalRead(buttonEqual) == LOW) {
Serial.print("Wynik: ");
switch (operation) {
case '+':
Serial.println(number1 + number2);
break;
case '-':
Serial.println(number1 - number2);
break;
case '*':
Serial.println(number1 * number2);
break;
case '/':
if(number2 != 0) {
Serial.println((float)number1 / (float)number2);
} else {
Serial.println("Błąd: Dzielenie przez zero!");
}
break;
default:
Serial.println("Brak operacji lub błąd!");
break;
}
// Resetuj liczby i operację
number1 = 0;
number2 = 0;
operation = 0;
newNumber = false;
delay(250);
}
}[/i][/i]Dodano po 42 [sekundy]:
Nie miało być 2 razy