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

Problem sa ispisom char varijabke

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

[ Pregleda: 1278 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

xeron
Sarajevo

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



Profil

icon Problem sa ispisom char varijabke11.09.2005. u 07:58

#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);
}
11.09.2005. u 07:58 

D3adly

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

ICQ: 281458481


Profil

icon Re: Problem sa ispisom char varijabke11.09.2005. u 10:19
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>
11.09.2005. u 10:19 

xeron
Sarajevo

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



Profil

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

Marko Stankovic

Član broj: 11
Poruke: 306
212.200.120.*

Jabber: urobor@elitesecurity.org
ICQ: 42897384


Profil

icon Re: Problem sa ispisom char varijabke11.09.2005. u 14:22
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.
11.09.2005. u 14:22 

xeron
Sarajevo

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



Profil

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

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Problem sa ispisom char varijabke12.09.2005. u 13:51
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 );


FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
12.09.2005. u 13:51 

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

[ Pregleda: 1278 | Odgovora: 5 ]

Postavi temu Odgovori

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