C#

W tym dziale możesz uzyskać pomoc (nie ich rozwiązanie) przy zadaniach domowych
Avenus

Użytkownik
Posty: 191
Rejestracja: 12 lis 2013, 21:04

C#

Post12 sty 2014, 20:12

Pomoc przy zadaniu :)
Sumowanie liczb
Mam tak:
class Program
{
public static int sumujCyfry(long liczba)
{

for (int i = 0; i < 30; i++)
{

if (i < 0) break;
}


int g = 12;
while (g > 0)
{

g = (g + 15) % 7;
}

return 12;
}
public static void Main(string[] args)
{

Console.WriteLine("Podaj liczbe");
string s = Console.ReadLine();
int k = Convert.ToInt32(s);
Console.WriteLine("Napisałaś" + k);
Console.WriteLine("Suma =" + sumujCyfry(k));
Console.ReadLine();

}
}
}
Program działa lecz to nie jest to co ma wyjść! jak podaję liczbę suma wychodzi taka jak return a tak ma nie być!
Będę wdzięczna za pomoc może ktoś wie co mam poprawić :)

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

C#

Post12 sty 2014, 20:37

Możesz skomentować ten kod w ten sposób aby pokazać co miałeś na myśli w każdej z linijek bo burdel w kodzie niezły, w tym for z ifem, które nic nie robią, a nawet if nigdy nie ruszy bo pętla rusza od 0 a if sprawdza czy tam jest mniej niż 0.
Hotfix
Pozdrawiam, cosik_ktosik :)

Avenus

Użytkownik
Posty: 191
Rejestracja: 12 lis 2013, 21:04

C#

Post12 sty 2014, 22:37

1)jeśli suma znowu jest wielocyfrowa, to znowu policzyć sumę jej cyfr
2) return
- zwraca np poddałam 12

wykładowca sprawdzał kod mam dobrze tylko nie co miałam do poprawy i brakowało mi return itp ale nie działa tak jak ma działać.....

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

C#

Post13 sty 2014, 00:00

Nie no na serio, nie rozumiem co chcesz uzyskać. Najpierw wyjaśnij treść zadania, daj przykład.
Hotfix
Pozdrawiam, cosik_ktosik :)

Awatar użytkownika
Lena

Globalny Moderator
Posty: 4554
Rejestracja: 10 lut 2009, 19:42
Lokalizacja: Sz-n

C#

Post13 sty 2014, 00:07

Po co ten kod skoro nic nie robi?

Kod: Zaznacz cały

for (int i = 0; i < 30; i++)
{

if (i < 0) break;
}



return 12 zawsze będzie zwracać to samo, użyj jakiejś zmiennej po słowie kluczowym return

Kod: Zaznacz cały

int g = 12;
while (g > 0)
{

g = (g + 15) % 7;
}

return 12;


Kod: Zaznacz cały

public static int sumujCyfry(long liczba)

nigdzie nie używasz zmiennej liczba czyli de facto wartości przekazywanej z głównego programu do funkcji, niezależnie co podasz program będzie robił i zwracał to samo

Awatar użytkownika
rokko

Administrator
Posty: 4082
Rejestracja: 23 lis 2008, 22:14
Lokalizacja: Myszków
Kontaktowanie:

C#

Post13 sty 2014, 08:11

Nie no na serio, nie rozumiem co chcesz uzyskać. Najpierw wyjaśnij treść zadania, daj przykład.

W zadaniu chodzi pewnie o liczenie numerologiczne (jak w horoskopach).

Avenus pisze:1)jeśli suma znowu jest wielocyfrowa, to znowu policzyć sumę jej cyfr

Liczysz wpierw np. sumę liczb daty urodzin np 09.10.2014 = 0 + 9 + 1 + 0 + 2 + 0 + 1 + 4 = 17, później jeśli dwucyfrowa 1 + 7 = 8

Instrukcje warunkowe IF i zastosowanie funkcji do liczenia liczby znaków (cyfr) w ciągu załatwi sprawę np. zmienna.Count(char.IsNumber) gdzie zmienna to string. Sumowanie po parsowaniu zrobisz.
Poradniki informatyczne »» Dostępne tylko dla zarejestrowanych użytkowników
Na stronie znajdziesz porady komputerowe a także informacje dotyczące technik promowania serwisów WWW, ciekawe narzędzia dla marketingowców. Zapraszam!

Promocja sklepów, Optymalizacja stron, Pozycjonowanie w Google »» kontakt<małpa>techformator.pl
W sprawach IT nie pomagam na PW

Avenus

Użytkownik
Posty: 191
Rejestracja: 12 lis 2013, 21:04

C#

Post18 sty 2014, 17:42

dzięki za pomoc :) ogarnęłam wykładowca poprawił bo jeszcze coś nie działało jak trzeba ale już program działa:)



  • Reklama

Wróć do „Pomoc przy zadaniach domowych”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości