Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 lis 2024, o 02:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 12 mar 2015, o 08:49 
Offline
Użytkownik

Dołączył(a): 09 lut 2013
Posty: 45
Pomógł: 3

Hej

Mam problem i tym razem chodzi chyba o samo Visual Studio ale do rzeczy. Wątek mam też na innym forum ale założe i tu, może ktoś się z tym spotkał

Witam

Mam dziwny problem z funkcją scanf("%s",
Powinna ona obcinać tekst po wykryciu Białego znaku. A jednak coś jest nie tak .
Załączam początek kodu( reszta to obliczenia i działają. Problem z scanf("%s" jest taki , że po wpisaniu np. Jak Nowak program się zamyka. Szukałem co to może być i gdy dodałem funkcje getchar(); to zadziałało. Poniżej 2 kody

Całego nie wklejam, bo część licząca działa. poniższy kod powoduje, że scanf("%s" wczytuje nazwisko( co zaraz pokaże na zrzucie ekranu)


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ten kod zaś powoduje, że pięcioliterowe nazwisko będzie pominięte (5x getchar():)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Próbowałem tez wersji z
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
i nic.

Dobra tu zrzut ekranu. Wyraźnie widać, że funkcja pobiera cyfry po spacji i podstawia do wzoru a nie powinno tak być. Dodam że kompilowałem na kompilatorze on line i to działa. Próbowałem też inny listing z ksiązki Praty i lipa. Zmieniałem ustawienia kompilatora w Visual Studio na C potem C++ potem default. Nic.

nie mam pojęcia co się dzieje. Może ktoś ma jakiś pomysł. Kiedyś to chodziło mi normalnie( jakieś 1,5 roku temu, może 2 lata. Jedyna zmiana to win 8.1)

Nie działa mi jeszcze wgrywanie obrazków na kompie firmowym. Jakby co poniżej link
http://forum.4programmers.net/Newbie/24 ... cje_scanfs

Pozdrawiam
Piotrek



Ostatnio edytowano 12 mar 2015, o 09:53 przez leech10, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 mar 2015, o 09:30 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Przede wszystkim zapoznaj się z tym: http://forum.atnel.pl/topic7402.html
.
.
.
.
.
.
.
Funkcja działa tak jak powinna. Wpisujesz Jan Nowak, funkcja do tablicy nazwa wpisuje Jan, reszta ciągu siedzi sobie w buforze i jest odczytywana przy następnym wywołaniu. Program oczekuje liczby i się wykrzacza. Co z tym zrobić? Czytać całość ciągu aż do znaku '\n', a niepotrzebną część odrzucać, mniej więcej tak (nie pamiętam czy wzorzec w [] odrzuca białe znaki czy nie więc nie gwarantuje że przepisane na żywca będzie działać ;-)):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 mar 2015, o 09:51 
Offline
Użytkownik

Dołączył(a): 09 lut 2013
Posty: 45
Pomógł: 3

Hej

Ok tylko zastanawia mnie dlaczego na kompilatorze on line działa to inaczej. I w innym listingu Praty też. Zdaje sobie sprawę z tego, co napisął Prata, że ta funkcja słuzy do odczytu jednego ciągu znaków bez znaków białych i mogę mój problem ominąć na różne sposoby, choćby prez dodanie poniższego:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dobra rozumiem to co powiedziałeś, i niech tak zostanie.

Pozdrawiam
Piotrek

P.S.

Przepraszam za kod, poprawione.
Może powinienm przerzucić sie na pieczenie ciastek a nie programowanie........
Dobrze, że sa fora typu Atnel czy Elportal.........
Gorzej bo są użytkownicy typu leech10 :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO