Przydzielenie tablic do funkcji
Ostatnio zmodyfikowano 2015-12-10 13:02
michal11 |
» 2015-12-09 23:09:07 Jak ty ciągle pracujesz na zmiennych lokalnych w funkcji dodaj to się nie dziw, że dostajesz losowe wartości albo program nie działa tak jak chcesz. Pętla przechodzi tylko raz ponieważ twoja zmienna x = 0. Naucz się debuggowiania ew. wypisywania interesujących cię zmiennych na konsolę. |
|
carlosmay |
» 2015-12-09 23:59:33 Jak ty ciągle pracujesz na zmiennych lokalnych w funkcji dodaj to się nie dziw, że dostajesz losowe wartości albo program nie działa tak jak chcesz. |
Wprowadzone dane tracisz za każdym razem, gdy opuszczasz funkcje, w której utworzysz zmienną. while( y <= x ); i ten warunek też jest do poprawienia. |
|
BezPrzewodowy |
» 2015-12-10 00:18:00 Tak jak wspomniano wyżej. Przeanalizuj swój kod jeszcze raz i zastanów się nad funkcjami. U Ciebie wygląda to tak: -Main() - jedyne co robi to wykonuje funkcje menu() -menu() wyświetla menu i pobiera operacje która ma wykonać funkcja dodawanie() -dodawanie() które robi wszystko... -wyswietl() - przepraszam, jednak dodawanie nie robi wszystkiego, tylko ta funkcja ma jakikolwiek sens. Taki podział na funkcje jest strasznie nieudolny... Zastanów się jeszcze raz nad tym podziałem. Czy nie lepiej może napisać oddzielne funkcje do dodawania/wyświetlania/szukania, a wywoływać je po prostu w main(), skoro jego zadanie jest uruchomienie menu(). Błędy: 1. Nawet gdy podałeś 0 rekordów do bazy to funkcja wyświetl() spróbuje wyświetlić rekordy. 2. while( y <= x ) Zawsze wychodzisz po za zakres wpisanych rekordów. 3. Zastanów co robi się gdy dodawanie() jest wywoływane z menu() - (co się dzieje z zmiennymi) |
|
darko202 |
» 2015-12-10 13:02:23 sprawdź zakres ważności zmiennej x oraz wyświetlanych tablic do { ... dodawanie( wyb ); } while(( wyb == 1 ) ||( wyb == 2 ) ||( wyb == 3 ) );
|
|
1 « 2 » |