|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
17.10.2011, 21:17 | #1 |
Starosedelac
Član od: 2.5.2006.
Lokacija: Austrija
Poruke: 1.444
Zahvalnice: 136
Zahvaljeno 75 puta na 59 poruka
|
scanf u C, nocna mora
Cao drugari imam jedan problem, posto nisam bas c programer, imam problem kako da ocitam 2 karaktera jedan za drugim, recimo:
printf("unesi slovo a :") scanf("%c", &a); printf("unesi slovo b :") scanf("%c", &b); e sad on ocita a, ali preskoci drugi scanf, kako napraviti da to ide jedno za drugim, tj da ocita varijablu za varijablom ? hvala! |
17.10.2011, 21:26 | #2 |
Veteran
Član od: 4.7.2008.
Lokacija: Somewhere along the line
Poruke: 505
Zahvalnice: 85
Zahvaljeno 34 puta na 29 poruka
|
Re: scanf u C, nocna mora
Verovatno si pogrešio na drugom mestu u kodu, bilo bi dobro ako bi postavio ceo kod.
|
Sledeći korisnik se zahvaljuje korisniku boshkodj na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 21:26 | #3 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.163
Zahvalnice: 2.082
Zahvaljeno 4.922 puta na 2.858 poruka
|
Re: scanf u C, nocna mora
Jel radi scanf("%c%c", &a, &b)?
Ako ne, uradi a = getchar(); b = getchar(); (nemam C kompajler na ovom računaru) Borlandov C/C++ je imao odlične funkcije za te namene u okviru conio.h, getch i getche (jedna ne ispisuje znak na ekranu, druga ispisuje, e je od "echo"), hvatale su znak odmah bez potvrđivanja enterom i slično, jedino što su se oslanjale na DOS rutine pa nisu bile direktno portabilne a samim tim ni u okviru standarda... |
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 21:38 | #4 |
Član
Član od: 1.12.2005.
Lokacija: Batajnica
Poruke: 184
Zahvalnice: 9
Zahvaljeno 42 puta na 32 poruka
|
Re: scanf u C, nocna mora
Probaj ovako
Kod:
printf("unesi slovo a :"); scanf(" %c", &a); printf("unesi slovo b :"); scanf(" %c", &b); |
Sledeći korisnik se zahvaljuje korisniku enaB na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 22:14 | #5 |
Član
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
|
Re: scanf u C, nocna mora
Ovo ce ti sigurno raditi:
Kod:
scanf("%c %c", &a, &b); Kod:
printf("unesi slovo a :") scanf("%c", &a); getchar(); printf("unesi slovo b :") scanf("%c", &b); |
Sledeći korisnik se zahvaljuje korisniku clzola na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 22:26 | #6 |
Član
Član od: 1.12.2005.
Lokacija: Batajnica
Poruke: 184
Zahvalnice: 9
Zahvaljeno 42 puta na 32 poruka
|
Re: scanf u C, nocna mora
Radiće i bez getchar() onako kako sam napisao, provereno na gcc
|
Sledeći korisnik se zahvaljuje korisniku enaB na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 22:30 | #7 |
Starosedelac
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
|
Re: scanf u C, nocna mora
opet zavisi od toga gde ga kompajlira....
Postoji razlika između gcca i recimo visual studia |
Sledeći korisnik se zahvaljuje korisniku Teva na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 22:32 | #8 |
Starosedelac
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
|
Re: scanf u C, nocna mora
Inače ti treba prazan getchar() zbog entera Getchar prazni bafer... Odnosno zavisno od mašine, jer na win mašini se novi red odnosno enter gleda kao dva karaktera pa ti zato treba prazan getchar da prazni bafer.
Dok na Gcc-u ti gleda prelezak u novi red kao jedan karakter |
Sledeći korisnik se zahvaljuje korisniku Teva na korisnoj poruci: | ||
optimus_prime (17.10.2011) |
17.10.2011, 22:33 | #9 |
Starosedelac
Član od: 2.5.2006.
Lokacija: Austrija
Poruke: 1.444
Zahvalnice: 136
Zahvaljeno 75 puta na 59 poruka
|
Re: scanf u C, nocna mora
|
17.10.2011, 23:27 | #10 |
Veteran
|
Re: scanf u C, nocna mora
Ja sam to radio ovako:
printf("unesi broj a"); scanf("%d", &a); fflush(stdin); printf("unesi broj b"); scanf("%d", &b); EDIT: Tek sad vidim da si nasao resenje. |
17.10.2011, 23:40 | #11 | |
Starosedelac
Član od: 2.5.2006.
Lokacija: Austrija
Poruke: 1.444
Zahvalnice: 136
Zahvaljeno 75 puta na 59 poruka
|
Re: scanf u C, nocna mora
Citat:
ja sam C++ i java programer, ali ovo sam nesto slucajno naleteo Hvala vam svima. |
|
21.10.2011, 14:38 | #12 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: scanf u C, nocna mora
Ово ради савршено.
Kod:
#include <stdlib.h> #include <stdio.h> int main(int argc, char **argv) { char c1, c2; printf("Унеси први карактер: "); scanf("%c", &c1); printf("Унеси други карактер: "); scanf("\n%c", &c2); // Претпостављам да је потребно примити заостали carriage return од Enter дугмета printf("\nУнешена слова су: %c %c\n", c1, c2); getc(stdin); return EXIT_SUCCESS; } |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Kad neće, mora! :D - Najgluplja stvar koju možeš napraviti sa hardverom | Sasa | Cvet kompjutera | 81 | 5.12.2009 19:34 |
AMD mora da udvostruči udeo na tržištu procesora da bi opstao | Beagle | Vesti | 1 | 7.5.2008 19:27 |
Da li Pioneer DVR-112D mora da stoji sam na IDE grani | Reloader | Nosači podataka | 15 | 10.1.2008 19:24 |
ADSL ali da ne mora svaki mesec... | aLti | Internet usluge | 4 | 18.9.2007 14:54 |
Jel' mora bas reinstall? Pa razlicita su samo ploca i processor!!! ;oP | U Jogurtu Nema Kostiju | Operativni sistemi | 9 | 17.2.2007 12:13 |