[C] problem z sczytywaniem znaków zamiast + - szczytuje LF
Ostatnio zmodyfikowano 2019-01-28 11:16
Azmael Temat założony przez niniejszego użytkownika |
[C] problem z sczytywaniem znaków zamiast + - szczytuje LF » 2019-01-27 17:02:39 Witam jest taki problem, pobieram dane z scanf("%c",&zmienna); i teraz jest taki problem ,że czyta mi wszystkie znaki oprócz + - gdzie jak szczytuje + - to kod znaku w obu przypadkach jest 10. daje fragment kodu poniżej dał bym cały ale to na zaliczenie a nie chce aby się czepił prowadzący o plagiat. blad = scanf( "%d", & dana );
if( blad ) { push( dana, & S ); } else { blad = scanf( "%c", & dana2 ); }
|
|
nanoant20 |
» 2019-01-27 22:23:58 Może sprawdź kod pod względem formatowania. W tym kawałku kodu , który podałeś raz używasz %d - liczba dziesiętna potem %c - znak( char) a push'em pchasz %s - napis(string) I te dane, domyślam się, że lądują w strukturze? Jeżeli tak to jaki jest przechowywany typ? Sprawdź to sobie.
|
|
pekfos |
» 2019-01-27 23:25:45 blad = scanf( " %c", & dana2 );
(Spacja przed %c) |
|
Azmael Temat założony przez niniejszego użytkownika |
» 2019-01-28 00:07:20 Mam strukturę która jest elementem listy. przechowuje typ int , pierwszy scanf pobiera liczbę jeśli jest porwana wrzuca ja na początek listy. drugi scanf jeśli do pierwszego wpiliśmy symbol zamiast liczby powinien sczytać znak który został w buforze. I tak się dzieje wszystkie opcje oprogramowane *, / ,f (wypisanie zawartości listy) itd. działają tylko ma jakiś problem z + i - n i spacja nie pomogła :( kiedy sprawdzałem kody symboli sztanych przy - i + zamiast ich kodów wypisuje kod 10. |
|
pekfos |
» 2019-01-28 00:12:06 Podaj więcej kodu. Jesteś pewien, że wstawiłeś to we właściwe/wszystkie miejsca? |
|
nanoant20 |
» 2019-01-28 11:16:02 A debugger nie pokazuje żadnych ostrzeżeń (warnings)? Jeżeli nie ma żadnych ostrzeżeń to podejrzewam, że po wczytaniu znaku pozostaje znak '\n' rozwiązaniem może tu być użycie getchar() po scanf()
|
|
« 1 » |