Poslao: 28 Avg 2006 14:32
|
offline
- toxi
- Građanin
- Pridružio: 23 Jul 2006
- Poruke: 118
- Gde živiš: Beograd
|
Jel na fakultetu polazete tako sto zadatak pisete na papiru ili imate kompajler ?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 28 Avg 2006 15:43
|
offline
- snoop
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
@ Toxi
Ja kada sam polagao, pisali smo na papiru.
Neverujem da je drugacije sada, ali ko zna...
|
|
|
|
Poslao: 28 Avg 2006 17:16
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
zavisi valjda kod kog si profesora... kod djenicke je cinimi se uvek bilo na kompu.... i usb flash je radio.... pa uzmes i prepises ili tacnije kopiras... sada toga vise nema... nema desnog klika, nema usb-a, nema nista osim kucanje programa
|
|
|
|
Poslao: 28 Avg 2006 19:53
|
offline
- toxi
- Građanin
- Pridružio: 23 Jul 2006
- Poruke: 118
- Gde živiš: Beograd
|
Pa jbt ako imas kompajler onda mozes da uradis sta god oces, mislim sigurno nece biti gresaka mene u sk teraju da "kucam" na papiru( u najboljem slucaju notepad), jos da savladam tehnigu Origamija pa mogu od papira i EXE da napravim
|
|
|
|
Poslao: 06 Sep 2006 01:58
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
ma isto je... cak je mozda bolje na papiru jer neke greske tolerisu...
ovako pusti program ako ne radi cao.... ne gleda (kad je nadrndana) kada nije hoce da da bodove....
a to da li je prosto ili ne.... naravno da je prosto sve za onog ko zna... neke ispite koje znam dobro mi je bilo tako sve jedno kako cu ih polagati, ali kada ne znam opet mi sve jedno... ne znam ovako ne znam onako
Dopuna: 06 Sep 2006 2:58
dodjavola... ako nema casova moze li pomoc
Uradio sam ovaj glupavi program na 2 nacina i na oba me maksimalno zbunjuje ??? Program bi trebao kao da izracuna (hahah) za redni broj meseca koliko dana ima isti... problem nastaje kod drugog meseca kada program pita sa standardnom funkcijom printf("Da li je godina prestupna?"); i dobija odgovor preko scanf.... problem je taj sto scanf moram da pisem u 2 reda kako bi on to registrova... kada pisem samo u jednom redu on iskulira napise pitanje ali ne ceka odgovor ?! ne kapiram zasto to.... kada kopiram scanf i pastujem to istu u novi red program radi !? Sta je to.. nije mi jasno... evo kod programa na 2 nacina... preko If-a i prkeo switch-a... problem je identican....
#include<stdio.h>
int main()
{
int a;
char odg;
while(1)
{
printf("Unesite redni broj meseca:\t");
scanf("%d",&a);
switch(a)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("\nMesec ima 31 dan\n\n");
break;
case 2:
{
printf("\nDa li je godina prestupna?\t");
scanf("%c",&odg);
if(odg=='d' || odg=='D')
printf("\nMesec ima 29 dana\n\n");
else if(odg=='n' || odg=='N')
printf("\nMesec ima 28 dana\n\n");
else
printf("\nGreska, dozvoljen unos d/n!\n\n");
break;
}
case 4:
case 6:
case 9:
case 11:
printf("\nMesec ima 30 dana\n\n");
break;
default:
printf("\nGreska, dozvoljeni unos 1-12!\n\n");
break;
}
}
return 0;
}
potrebno kopirati scanf("%c",&odg); deo i pastovati isti u novi red ?!
#include<stdio.h>
int main()
{
int a;
char odg;
while(1)
{
do
{
printf("Unesite redni broj meseca:\t");
scanf("%d",&a);
}
while(a<1 || a>12);
if(a==1 || a==3 || a==5 || a==7 || a==8 || a==10 || a==12)
printf("\nMesec ima 31 dan\n\n");
else if(a==2)
{
printf("Da li je godina prestupna (d/n)?:\t");
scanf("%c",&odg);
scanf("%c",&odg);
if(odg=='d' || odg=='D')
printf("Mesec ima 29 dana\n\n");
else if(odg=='n' || odg=='N')
printf("Mesec ima 28 dana\n\n");
else
printf("Greska, dozvoljen unos d/n !\n\n");
}
else
printf("\nMesec ima 30 dana\n\n");
}
return 0;
}
evo ga i drugi nacin i koji radi, ako se obrise jedan red scanf("%c",&odg); program nece raditi kako treba za unos broja 2
Ja ne kapiram.....
|
|
|
|
Poslao: 06 Sep 2006 09:20
|
offline
- Pridružio: 21 Feb 2004
- Poruke: 111
- Gde živiš: Zrenjanin
|
scanf() funkcija cita sa standardnog ulaza, stdin, i vrsi konverziju onog sto je procitala. Cita do '\n' (novi red, enter) i ono sto je sad za tebe bitno, ne prazni buffer sa kog cita tj. stdin. , vec samo do prvog '\n'. Prvi poziv scanf():scanf("%d",&a); pokupi broj meseca, izvrsi konverziju, i ostavi '\n' u stdin
Drugi poziv scanf(): scanf("%c",&odg); "pokupi" '\n' a tek treci poziv ceka unos sa tastature, zato sto je stdin prazan.
Znaci da bi prilikom poziva scanf() trebao da nekako ispraznis stdin. To mozes da uradis sa __fpurge() (pocenje sa 2xunderscore)
#include <stdio.h> // ovde ti se nalazi __fpurge()
i pre svakog scanf() (mada pre onog prvog ne moras) pozoves __fpurge(stdin);
Sada ima da radi..
#include<stdio.h>
int main()
{
int a;
char odg;
while(1)
{
do
{
printf("Unesite redni broj meseca:\t");
scanf("%d",&a);
}
while(a<1 || a>12);
if(a==1 || a==3 || a==5 || a==7 || a==8 || a==10 || a==12)
printf("\nMesec ima 31 dan\n\n");
else if(a==2)
{
printf("Da li je godina prestupna (d/n)?:\t");
__fpurge(stdin); // ovde da izprazni stdin
scanf("%c",&odg);
if(odg=='d' || odg=='D')
printf("Mesec ima 29 dana\n\n");
else if(odg=='n' || odg=='N')
printf("Mesec ima 28 dana\n\n");
else
printf("Greska, dozvoljen unos d/n !\n\n");
}
else
printf("\nMesec ima 30 dana\n\n");
}
return 0;
}
|
|
|
|
Poslao: 06 Sep 2006 11:36
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
"__fpurge(stdin);"
ovo prvi put vidim u zivotu.... u celom praktikumu se ne nalazi ova komanda... da li je moguce da njima nije trebala ta komanda ?
U svakom slucaju hvala..... mada radio sam neke zadatke gde svakako ima vise scanf od 1-2 komada i nisam ovo koristio....hajde videcu ako nadjem neki kod sa vise scanf-a da ga okacim pa da mi mozda razjasnis zasto tamo nije trebao "__fpurge(stdin);"
|
|
|
|
Poslao: 06 Sep 2006 16:10
|
offline
- Pridružio: 21 Feb 2004
- Poruke: 111
- Gde živiš: Zrenjanin
|
Vazi, a mada cini mi se da kada scanf() vrsi konverziju razlicitu od char i string isprazni buffer.. Da si kojim slucajem ucitavao int ili float (sto u ovom primeru bas nema i mnogo smisla, pogotovo float) __fpurge() ti nebi bio ni potreban.
|
|
|
|
Poslao: 12 Sep 2006 22:44
|
offline
- dejancho
- Novi MyCity građanin
- Pridružio: 23 Sep 2005
- Poruke: 6
|
Svemirko ::"__fpurge(stdin);"
ovo prvi put vidim u zivotu.... u celom praktikumu se ne nalazi ova komanda... da li je moguce da njima nije trebala ta komanda ?
Ja sam na FPI-ju i vas Banjac mi predaje programiranje.
Ma, kupio sam i "The C Programming Language, Second Edition
by Brian W. Kernighan and Dennis M. Ritchie" i A.Hansena "Programiranje na jeziku C", dobavio od Urosevica i par nasih i hrvatskih autora + gomilica skripti sa neta... i, naravno, Lasla Krausa i nigde ne rade tu kombinaciju, te sam i ja ludeo...
Onda nam je Banjac rekao isto sto i kolega sa foruma tebi, samo sto je on koristio fflush(stdin) za 'ciscenje' bafera...
|
|
|
|