GRY-Online.pl --> Archiwum Forum

Visual Studio. Zadanko na pętle potrzebna pomoc. Tutorial.

16.05.2006
22:26
[1]

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.

16.05.2006
22:49
smile
[2]

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...

16.05.2006
22:52
[3]

albz74 [ Generaďż˝ ]

Visual Studio what ? VB ? C++? C.net ??

16.05.2006
22:53
[4]

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...

16.05.2006
23:07
[5]

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");



16.05.2006
23:09
[6]

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

16.05.2006
23:16
smile
[7]

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.

16.05.2006
23:33
smile
[8]

legrooch [ MPO Squad Member ]

Powiedz jeszcze który .NET - 2002/2003 czy 2005?

16.05.2006
23:38
[9]

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.

16.05.2006
23:44
[10]

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.) :)

16.05.2006
23:45
[11]

albz74 [ Generaďż˝ ]

no, nie bo już masz jeden. więc dodajesz tylko część ułamkową,

17.05.2006
08:31
[12]

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 :)

17.05.2006
08:39
[13]

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.

17.05.2006
09:51
[14]

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ć :).

© 2000-2025 GRY-OnLine S.A.