Zax_Na_Max [ Bo Emeryt Znał Karate ]
Visual Studio. Zadanko na pętle potrzebna pomoc. Tutorial.
Witam was.
Zadanko następujące:
Ania i Marta otrzymują pieniądze od taty przez 30 dni. Pierwsza wpłata to 5 zł.
1) Pierwsza pieniądze dostaje Ania.
2) Dziewczynki dostają pieniądze na przemian.
3) Kwota zwiększa się z każdym dniem o 5%.
Oblicz ile zaoszczędzą dziewczynki.
Zadanie na pętle myśle, że dla wyjadaczy dosyć łatwę. Proszę o tutorial do tego zadania. (Kanwa mojej nauki pętli).
Może jeszcze dodam, że chciałbym wstawić taką zmienną, którą wpisywało by się też w programie. Wprowadzałoby się dowolną ilość dni kieszonkowego.
Na początek może być stała 30 :) Bo tak jest w zadaniu.
Dziękuje.
Zax_Na_Max [ Bo Emeryt Znał Karate ]
Uhh... Rozumiem. Ale może tak byście już coś niecoś doradzili? Gdzie z tym ruszyć? Co jest nie jasne? :)
Panowie...
albz74 [ Generaďż˝ ]
Visual Studio what ? VB ? C++? C.net ??
pecet007 [ ]
Visual Studio - to nie język programowania ale zintegrowane środowisko programistyczne, obsługuje m.in: C++, C#, J#, VB.NET, więc o jaki język ci chodzi..? Sprecyzuj...
pecet007 [ ]
enjoy - w C++, chyba dobrze, nie chciało mi się dogłębnie sprawdzać, ale raczej dobrze bo to prosta pętelka
ed: coś pastebin szwankuje masz tu (tylko pamiętaj żeby zamienić na odpowiedni znaki)
__
//(C) PeCet. all your base belong to us.
#include <iostream>
using namespace std;
int main()
float ania = 5;
float marta = 5;
for(int i = 1; i <= 29; ++i) //przez 30 dni dostają
//czyli rozumiem że pierwszy dzień to ta piątka i przez 29 dni
//'bank' im przydziela +5%
if(i % 2) // czy dzieli się przez 2, czyli na przemian
ania *= 1.05;
else
marta *= 1.05;
cout << "Ania ma " << ania;
cout << "\nMarta ma " << marta;
cout << "\n\nRazem maja: " << (ania + marta);
//sorry nie chciało mi się grzebać za funkcją do zaokrąglania
//pamięć krótka ;(
system("pause");
legrooch [ MPO Squad Member ]
Jak poczekasz do rana to Ci napiszę całość w VB.NET.
Jestem podpity i nie mam VB.NET w chwili obecnej na stacji. Rano Ci mogę z pracy wysłać.
Edit:
Spóźniłem się :] Jakby co rano dam Ci to w VB
Zax_Na_Max [ Bo Emeryt Znał Karate ]
O jeju... wybacie. To jest tak. Visual Studio B. I to jest ten język VB.net. Wybaczcie.
Witać z daleka, że początkujący ale nic. :)
Legrooch --> Jakbyś mógł to bym prosił.
pecet007 --> Dzięki za prace ale to nie to. Przykro mi. Dzięki.
Jeszcze raz wielkie sorry.
legrooch [ MPO Squad Member ]
Powiedz jeszcze który .NET - 2002/2003 czy 2005?
albz74 [ Generaďż˝ ]
Takie proste w VBA, powinno zadziałać w VB.NET
Private Sub oszczedzamy()
Dim intLiczbaDniOszczedzania As Integer 'liczbę dni oszczędzania robimy jako zmienną, typ integer
Dim varAnia As Variant 'tutaj variant, bo w sumie nie ma wielkiego znaczenia przy tak prostym algorytmie
Dim varMarta As Variant
intLiczbaDniOszczedzania = InputBox("Podaj liczbę dni oszczędzania") 'wpisujesz liczbę dni
For i = 1 To intLiczbaDniOszczedzania
If i Mod 2 Then 'czy podzielna przez dwa ?
varAnia = 5 * (1 + (i - 1) * 0.05)
Else
varMarta = 5 * (1 + (i - 1) * 0.05)
End If
wynik = varAnia + varMarta
Next
MsgBox "Dziewczynki zaoszczędziły w ciągu " & intLiczbaDniOszczedzania & " dni " & wynik & " złotych" 'wyświetlenie wyniku
End Sub
W sumie można to zrobić jeszcze na 1000 różnych sposobów, np. z góry wiadomo, że jedna dostaje w dni parzyste, druga w nieparzyste, więc można osobne 2 pętle dla każdej zmajstrować for i = 1 to 30 step 2 i for i = 2 to 30 step 2 . A potem dodać wyniki . Można również wyniki załadować do tablicy np. :)
Mam nadzieję ze się przyda.
Zax_Na_Max [ Bo Emeryt Znał Karate ]
albz --> Super ! Przyda się. Tylko czy nie powinno być: W porządku ! :)
Legrooch --> 2005. Napisz jak będziesz miał czas. (Im więcej rozwiązań tym lepiej. Oby nie tysiąc.) :)
albz74 [ Generaďż˝ ]
no, nie bo już masz jeden. więc dodajesz tylko część ułamkową,
albz74 [ Generaďż˝ ]
drobne poprawki:
Private Sub oszczedzamy()
Dim intLiczbaDniOszczedzania As Integer 'liczbę dni oszczędzania robimy jako zmienną, typ integer
Dim varAnia As Variant 'tutaj variant, bo w sumie nie ma wielkiego znaczenia przy tak prostym algorytmie
Dim varMarta As Variant
varAnia = 5 ' na początek każdej dajemy piątala :)
varMarta = 5
intLiczbaDniOszczedzania = InputBox("Podaj liczbę dni oszczędzania") 'wpisujesz liczbę dni
For i = 1 To intLiczbaDniOszczedzania
If i Mod 2 = 0 Then 'czy podzielna przez dwa ?
varAnia = varAnia * (1 + (i - 1) * 0.05)
Else
varMarta = varMarta * (1 + (i - 1) * 0.05)
End If
wynik = varAnia + varMarta
Next
MsgBox "Dziewczynki zaoszczędziły w ciągu " & intLiczbaDniOszczedzania & " dni " & wynik & " złotych" 'wyświetlenie wyniku
End Sub
wczoraj na sucho pisałem i nie przeanalizowałem kodu :P zresztą i tak potrzebujesz przykładu. Gdybyś chciał zadać szyku, to jeszcze lepiej do pętli włożyć tablicę, którą będziesz uaktualniać w pętli a na koniec pobierać wynik - takie tam :)
legrooch [ MPO Squad Member ]
Zakładając że chodzi o pierwszą i jedyną 5zł wpłatę to program albz74 jest ok. Brak deklaracji.
Zaraz wyślę Ci maila.
Zax_Na_Max [ Bo Emeryt Znał Karate ]
legrooch -- > Dzięki przyda się. W szkole sobie odbiore. :)
albz74 -- > Dzięki również. Nie mam teraz możliwości sprawdzenia czy to działa, ale drobne poprawki w razie jakiś zgrzytów dam rade zrobić :).