prvi digitron :)

2

prvi digitron :)

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Ono sto si prepisao da ne razumes cemu sluzi, nije isto dobro uradjeno
Ideja je da se napusti program kad uneses Q ili q ( skraceno od Quit) a ovde u tvom slucaju se to nikad nece desiti jer petlja kaze "sve dok je sym razlicito od Q ili q tada radi {neki kod} " taj uslov ce uvek biti ispunjen jer ne moze u isto vreme da jedna promenljiva bude i Q i q tako da umesto znaka || treba da stoji && odnosno "i" a ne "ili"

Drugo, jos jedan savet [posto si pocetnik]
r = r + newEntry;
mozes da zamenis sa
r  +=newEntry;
to znaci da na r dodas vrednost newEntry i brze se izvrsava nego da se sabere pa tek onda dodeli ( naravno ni ovo nema smisla puno u malim programima, ali cilj ti je da naucis odmah sto efikasniji kod da pises Smile )

Trenutno ne mogu da vidim zbog cega, nije mi tu debugger, ali problem pravi to sto kad treba na kraju petlje da se ucita novi operator on mu dodeli neku vrednost :S, ne znam koju...
dodavanjem jos jednog scanf-a radi kako treba, dakle sa ovim:
#include <stdio.h> #include <stdlib.h> int main() {         int r;     int newEntry;     char sym;         r = 0.0;         printf("\nUpisi znak/operator: ");     scanf("%c", &sym);     while (sym != 'Q' && sym != 'q')// (ovu lajnu sam prepisao iz koda tacno jer bez nje nije htio da nastavlja da racuna.. pa me isto zanima sta ona radi)    {     switch(sym)     {                case 'c':                case 'C':                         r = 0.0;                case '+':                         printf("Upisi broj: ");                         scanf("%d", &newEntry);                                                 r = r + newEntry;                         break;                case '-':                         printf("Upisi broj: ");                         scanf("%d", &newEntry);                                                 r = r - newEntry;                         break;                case '*':                         printf("Upisi broj: ");                         scanf("%d", &newEntry);                                                 r = r * newEntry;                         break;                case '/':                         printf("Upisi broj: ");                         scanf("%d", &newEntry);                         if (newEntry == 0)                         {                                      printf("\nNe mozete dijeliti sa nulom.");                                      newEntry = 1;                         }                                                 r = r / newEntry;                         break;                default:                        printf("\nUpisali ste pogresan znak");                        break;     }     printf("\nRezultat = %d", r);     printf("\nUpisi znak/operator: ");     scanf("%c", &sym);      scanf("%c", &sym); } }
radi kako treba



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 10 Mar 2009
  • Poruke: 101
  • Gde živiš: Podgorica

Hvala, sad sam shvatio While komandu ili petlju kako vi to kazete
izvrsavace beskonacno dok se neki uslov ne zadovolji, u ovom slucaju uslov je 'q', tako nesto to dodje Very Happy

Koji debugger koristis i gde da ga skinem ?? I kako on to radi...



offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Debugger koristim samo pod linuxom, ne radim puno u c-u i nemam debugger za win.
Kad sam ti kucao poruku, presao sam bio na linux ali nije mi bio instaliran na ovom racunaru...
Mozda ti neko drugi preporuci debugger za win, ja nisam koristio....

Trebalo bi da visual studio ima svoj debugger...
Ja kad ga koristim najvise ga koristim da pratim vrednosti promenljivama i kuda se program krece po kodu....

offline
  • deleue 
  • Novi MyCity građanin
  • Pridružio: 31 Jan 2012
  • Poruke: 3

Ovaj kod kod mene radi ovaj prvi kod u C ++ ali snimljen u C, radi sa milionima. Inače i ja sam apsolutni početnik stigao sam do grafike i nemam instalaciju.
POZDRAV

offline
  • Pridružio: 17 Feb 2012
  • Poruke: 7

Ja ne znam gde je meni u ovom kodu greska?? Zna li mozda neko


#include <stdio.h>
int main(void)
{
float a,b;
char operacija;
printf("Upisati prvi broj: ");
scanf(" %f",&a);
printf("Upisati drugi broj: ");
scanf(" %f",&b);
printf("Upisati operaciju: zbrajanje(z), oduzimanje(o),\n");
printf(" mnozenje(m),dijeljenje(d) :");
scanf(" %c",&operacija);
switch(operacija){
case z:
printf("%f\n",a+b);
break;
case o:
printf("%f\n",a-b);
break;
case m:
printf("%f\n",a*b);
break;
case d:
printf("%f\n",a/b);
break;
default:
printf("Nedopustena operacija!\n");
}
return 0;
}

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

sta dobijas kao gresku u kom delu koda?
u kom koraku pri izvrsavanju?

offline
  • Pridružio: 17 Feb 2012
  • Poruke: 7

error: 'z' undeclared (first use in the function)

u skoli smo radili slican i radio je
radim u Code::blocks-u

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Zaboravio si da stavis apostrofe/kvote oko konstanti:

char operacija; switch(operacija) { case 'z': ... case 'o': ... };

offline
  • Pridružio: 17 Feb 2012
  • Poruke: 7

Probao sam prvo tako ali mi prijavljuje istu gresku...

offline
  • Pridružio: 08 Avg 2011
  • Poruke: 59

Ne moguce ja sam isprobao #include <stdio.h> int main(void) { float a,b; char operacija; printf("Upisati prvi broj: "); scanf(" %f",&a); printf("Upisati drugi broj: "); scanf(" %f",&b); printf("Upisati operaciju: zbrajanje(z), oduzimanje(o),\n"); printf(" mnozenje(m),dijeljenje(d) :"); scanf(" %c",&operacija); switch(operacija){ case 'z': printf("%f\n",a+b); break; case 'o': printf("%f\n",a-b); break; case 'm': printf("%f\n",a*b); break; case 'd': printf("%f\n",a/b); break; default: printf("Nedopustena operacija!\n"); }

Ko je trenutno na forumu
 

Ukupno su 992 korisnika na forumu :: 30 registrovanih, 3 sakrivenih i 959 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: arton, Bane san, cifra, Djokislav, djuradj, Doca, Dorcolac, dozorni, Georgius, Haris, Insan, kikisp, kinez88, LUDI, mane123, Mercury, MiG-29M2, Miki01, Millennium, PEGIN, pein, perko91, prle122, Regrut Boskica, royst33, SR-3m, theNedjeljko, tubular, VJ, ZetaMan