-
[MATLAB] - komenda break
Polecenie: napisać kod, który po uruchomieniu zapyta 3-krotnie o ulubiony kolor, po czym w przypadku błędnych odpowiedzi poinformuje o wykorzystaniu wszystkich możliwych szans, lub zakończy zadawanie pytań, jeśli użytkujący zgadnie kolor.
Mój kod:
Kod:
b = 'niebieski'
for i=1:2
a = input('Zgadnij moj ulubiony kolor ', 's' )
tf = strcmp(a,b)
if (tf == 0) disp('Nie zgadles, sprobuj ponownie')
else disp('Zgadles, brawo')
end
end
a = input('Zgadnij moj ulubiony kolor ', 's')
tf = strcmp(a,b)
if (tf == 0) disp('Nie zgadles, to byla twoja ostatnia szansa')
else disp('Zgadles, brawo')
end
Wszystko się zgadza, oprócz faktu, iż po pomyślnym wytypowaniu koloru program nadal zadaje pytania. Aby działało to pomyślnie potrzeba użyć funkcji break, ale pomimo wielu prób, nie potrafię tego ogarnąć. Prawdopodobnie trzeba użyć komendy f i=1:3, ale wtedy nie wiem jak wyświetlić tekst 'Nie zgadles, to byla twoja ustatnia szansa'
Alternatywna wersja tego kodu, działająca(z użyciem innych komend
Kod:
b = ‘niebieski’’
string = 0
count = 0
while string==0
count = count+1
prompt = ‘Zgadnij moj ulubiony kolor’
str2 =input(prompt,’s’)
if strcmp(b,str2)
string=1
disp(‘Zgadles, brawo’)
elseif count==3
string =1
disp(‘Nie zgadles, to byla twoja ostatnia szansa’)
else
disp(‘Nie zgadles, sprobuj ponownie’)
end
end
Proszę o pomoc/pomysły/rady odnośnie pierwszego kodu.
Btw. jeśli ktoś ma czas i chęci to mogę zaoferować równowartość flaszki za napisanie tego kodu zgodnie z poleceniem i innym podejściem do problemu, niż te dwa powyżej. Ważne jedynie do jutra o 18, pisać na priv jak ktoś zainteresowany.
-
Kod:
b = 'niebieski'
for i=1:3
a = input('Zgadnij moj ulubiony kolor ', 's' )
tf = strcmp(a,b)
if (tf == 0)
if (i<3)
disp('Nie zgadles, sprobuj ponownie')
end
else
disp('Zgadles, brawo')
break
end
end
if (tf == 0)
disp('Koniec prob, przegrales')
end
@Averin ;
-
@cowboy ;
Wielkie dzięki. Spodziewiałem się prostego rozwiązania, ale nie wiedziałem, że aż tak.