Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa ispisom char varijabke

[es] :: C/C++ programiranje :: Problem sa ispisom char varijabke

[ Pregleda: 3418 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

xeron
Sarajevo

Član broj: 25909
Poruke: 133
*.dlp448.bih.net.ba.



Profil

icon Problem sa ispisom char varijabke11.09.2005. u 07:58 - pre 195 meseci
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int integer;
char slovo;
float decimalni;

printf("unesite jedan integer:\n");
scanf("%d",&integer);

printf("unesite jedno slovo\n");
scanf(" %c",&slovo);

printf("unesite jedan decimalni broj:\n");
scanf("%f",&decimalni);

printf("integer = %d\n",integer);
printf("slovo = %c\n",slovo);
printf("decimalni = %f\n",decimalni);

system("PAUSE");
return 0;

Zasto se u ovoj liniji mora staviti razmak prije %C

printf("unesite jedno slovo\n");
scanf(" %c",&slovo);
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

D3adly

Član broj: 43272
Poruke: 35
*.cmu.carnet.hr.

ICQ: 281458481


Profil

icon Re: Problem sa ispisom char varijabke11.09.2005. u 10:19 - pre 195 meseci
Jer će ti inače taj char (razmak) učitatu u varijablu slovo.

[Ovu poruku je menjao D3adly dana 11.09.2005. u 11:20 GMT+1]
#include <D3adly.h>
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
*.dlp391.bih.net.ba.



Profil

icon Re: Problem sa ispisom char varijabke11.09.2005. u 13:11 - pre 195 meseci
mada mi nije 100% jasno, ali hvala
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

Marko Stankovic

Član broj: 11
Poruke: 306
212.200.120.*



Profil

icon Re: Problem sa ispisom char varijabke11.09.2005. u 14:22 - pre 195 meseci
Problem je u tome sto kada uneses prvi integer ti lupis enter, pa na standardni ulaz imamo recimo

535'\n'

e sad prvi scanf procita samo broj i stane na znak '\n', pa kada pomocu drugog scanf-a citas karakter prvi karakter sa standardnog ulaza je '\n' odnosno taj enter koji si lupio. Stavljanjem razmaka pod navodnicima ti dajes do znanja funkciji scanf da preskoci sve bele znakove (tabove, razmake, '\n'...) i procita prvi karakter koji ne pripada belim znacima.
Za vise detalja u vezi formata scanf funkcije procitaj http://www.cplusplus.com/ref/cstdio/scanf.html.
Malo sam konfuzno objasnio ali nadam se da si shvatio.
I drink to make other people interesting.
 
Odgovor na temu

xeron
Sarajevo

Član broj: 25909
Poruke: 133
*.dlp323.bih.net.ba.



Profil

icon Re: Problem sa ispisom char varijabke12.09.2005. u 13:40 - pre 195 meseci
Hvala puno
if (argc > 1 && strcmp(argv[1], "-advice") == 0) {
printf("Don't Panic!n");
exit(42);
}
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4889
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+633 Profil

icon Re: Problem sa ispisom char varijabke12.09.2005. u 13:51 - pre 195 meseci
Koliko se secam, pritisak na taster ENTER (valjda CR+LF ili samo LF), koji si
pritisnuo da bi prihvatio neki unos, moze imati problema pri nekoj sledecoj obradi
koji ove kontrolne karaktere uzima u obzir... Tada mozes koristiti, funkciju fflush(),
koju jos zovu i "gutač return-a".

Npr:

Code:

scanf( "%s", datoteka );
fflush( stdin );

 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa ispisom char varijabke

[ Pregleda: 3418 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.