Lekcja 1.12
Ostatnio zmodyfikowano 2016-07-12 08:26
CCbolt Temat założony przez niniejszego użytkownika |
Lekcja 1.12 » 2016-07-11 07:29:14 Zadanie w PD zrobiłem, zrozumiałem w skrócie (2w1) wygląda to tak jak w pierwszym kodzie, w drugim chciałem trochę poszaleć no i wykorzystałem kod z wcześniejszych lekcji ale nie umiem albo źle wczytuje dane, jakaś podpowiedź jak problem rozwiązać czy to będzie dopiero w kolejnych lekcjach? Kod 1 #include <iostream>
using namespace std; int main() { bool wynik; int liczba; liczba = 1; wynik = liczba <= 1 || liczba <= 1; cout << "wynik = " << wynik << endl << endl; wynik = liczba <= 1 || liczba <= 2 && liczba > 7; cout << "wynik = " << wynik << endl; wynik = liczba <= 1 || liczba <= 2 && liczba > 7; cout << "wynik = " << wynik << endl; wynik =( liczba <= 1 || liczba <= 2 ) && liczba > 7; cout << "wynik = " << wynik << endl; wynik = liczba <= 1 ||( liczba <= 2 && liczba > 7 ); cout << "wynik = " << wynik << endl; return 0; }
Kod 2 ( końcowe linie ) #include <iostream>
using namespace std;
int main() { int a, b, c; float x1, x2, x3; float A1, A2, A3; x1 = x2 = x3 = 15; cout << "Podaj A: "; cin >> a; cout << "Podaj B: "; cin >> b; cout << "Podaj C: "; cin >> c; A1 =( a + b ) - x2; A2 =( c - a ) * x1; A3 =( b * c ) / x3; cout << "A1: (a+b)-x2= " << A1 << endl; cout << "A2: (c-b)*x1= " << A2 << endl; cout << "A3: (b*c)/x3= " << A3 << endl; bool x = A1 <= A2; cout << "A1 <= A2: " << x << endl; bool y = A3 == A2; cout << "A3 == A2: " << y << endl; bool z =( A2 - A3 ) <( A3 + A3 ); cout << "(A2-A3)<(A3+A3): " << z << endl; { bool wynik = A1, A2, A3; int liczna = a, b, c; wynik = a >= A2 || b < A2; cout << "a >= A2 || b < A2 = " << wynik << endl; wynik = a >= A2 || !( b < A2 ); cout << "a >= A2 || !(b < A2) = " << wynik << endl; wynik = c < A2 && c > A2; cout << " 1/0 = " << wynik << endl; } return 0; } [ cpp ] |
|
BlackFive |
» 2016-07-11 09:57:08 Trochę się rozpisałem mam nadzieję że jasno :) czytaj komentarze a wszystko powinno się rozjaśnić :)
bool wynik;
wynik = a >= A2 || b < A2; cout << "a >= A2 || b < A2 = " << wynik << endl; wynik = a >= A2 || !( b < A2 ); cout << "a >= A2 || !(b < A2) = " << wynik << endl; wynik = c < A2 && c > A2;
cout << " 1/0 = " << wynik << endl;
return 0; }
|
|
carlosmay |
» 2016-07-11 14:51:34 Nie sypie błędami, bo to nie jest błąd. Wydzielenie bloku instrukcji, wewnątrz innego bloku i zdefiniowanie zmiennych o tych samych identyfikatorach powoduje całkowite zakrycie zmiennych zewnętrznych, poza zmiennymi globalnymi, do których jest dostęp operatorem :: . Trochę na temat zasięgu zmiennych. http://en.cppreference.com/w/cpp/language/scope |
|
BlackFive |
» 2016-07-11 14:59:04 dziękuję za link ale już znalazłem ten temat gdyż mnie zainteresował jak to się dzieje że to działa :) nigdy nie widziałem takiego przypadku a zawsze warto się nauczyć nowych rzeczy :) |
|
CCbolt Temat założony przez niniejszego użytkownika |
» 2016-07-11 17:52:06 Za 2h usiądę przy tym i to przetrawię, dzięki za informacje. @BlackFive dzięki twoje komentarze bardzo mi pomogły. Teraz mi się nasuwa pytanie, jak zrobić aby komplikator nie wczytywał nowych zmiennych tylko zmienne wprowadzone na początku (Cyfry A, B, C oraz wyniki A1, A2, A3 ). Twój test wczytał poprawnie a oraz wynik A1 natomiast później mam randomowe cyfry. |
|
BlackFive |
» 2016-07-12 08:26:47 wklej: bool wynik;
wynik = a >= A2 || b < A2; cout << "a >= A2 || b < A2 = " << wynik << endl; wynik = a >= A2 || !( b < A2 ); cout << "a >= A2 || !(b < A2) = " << wynik << endl; wynik = c < A2 && c > A2;
cout << " 1/0 = " << wynik << endl;
zamiast: { bool wynik = A1, A2, A3; int liczna = a, b, c; wynik = a >= A2 || b < A2; cout << "a >= A2 || b < A2 = " << wynik << endl; wynik = a >= A2 || !( b < A2 ); cout << "a >= A2 || !(b < A2) = " << wynik << endl; wynik = c < A2 && c > A2; cout << " 1/0 = " << wynik << endl; }
Pamiętaj o tych klamrach żeby je też usunąć {}. bo one Ci paskudzą w kodzie... tworzysz tzw. scope |
|
« 1 » |