[ milos036 @ 11.02.2008. 19:07 ] @
Koristim Turbo C i odvratan mi je. Da li postoji neko lepše radno okruženje za razvoj programa u jeziku C? Ako postoji, kako se zove? I odakle mogu preuzeti program?
[ laki_srt @ 11.02.2008. 19:23 ] @
imas borland turbo c++ 4.5(koji ja koristim) mada ima i novijih verzija okruzenje win 95/98,ili microsoft visual studio 2005 ili 2008(koristim ovaj,super je) okruzenje xp
[ milos036 @ 11.02.2008. 19:31 ] @
Da li je njegov compiler isti kao i ovaj u Turbo C okruzenju. Koristim Visual C++ 2008 Express Edition i Turbo C... Kada unesem isti kod u Turbo C i u VS C++ ne radi kako treba u oba programa.
[ obucina @ 11.02.2008. 19:37 ] @
DevC++
www.bloodshed.net/devcpp.html


MS Visual Studio C++ Express
Mislim da nije potrebno :)


CodeGear Turbo C++
www.turboexplorer.com/cpp


Za multiplatform - NetBeans + Cygwin/MinGW.
www.netbeans.org
www.cygwin.com
www.mingw.org
[ laki_srt @ 11.02.2008. 19:47 ] @
Citat:
milos036: Da li je njegov compiler isti kao i ovaj u Turbo C okruzenju. Koristim Visual C++ 2008 Express Edition i Turbo C... Kada unesem isti kod u Turbo C i u VS C++ ne radi kako treba u oba programa.

u visual studio08/visual c++ sam ubacio c kod i radi super. koje ti greske izbaci? ili postavi kod da probam.
[ milos036 @ 11.02.2008. 22:01 ] @
Code:

#include <stdio.h>
void main()

{
    double x,vrednost;
    int brojac=1;
    for (int i=0;i<10;i++)
    {
        for (int brojac=1;brojac<=10;brojac++)
        {
        printf("Unesite broj: ");
        scanf("%lf",&x);
        vrednost = x * 5;
        printf("\n");
        printf("Petostruka vrednost unetog broja je %0.2lf.\n",vrednost);
        printf(" Broj je unet %d put/a.\n",brojac);
        printf("\n");
        }
    }
}


[Ovu poruku je menjao milos036 dana 11.02.2008. u 23:17 GMT+1]
[ laki_srt @ 11.02.2008. 22:20 ] @
ovo kod mene radi dobro i u vs i u borland c++ 4.5.
sta ce ti dve for petlje?
u ovaj program se max unosi neki proj 100X
i posto je tako,onda nemas potrebe za dve for petlje,jedino ako posle 10tog unosenja ne zelis da nuliras counter.
i for (int counter=1;counter<=10;counter++) nije ti potrebno int counter=1; u for petlji posto si ga vec definisao na pocetku prog:main(){
double x,vrednost;
int counter=1;
/*...*/
[ butcher87 @ 11.02.2008. 22:24 ] @
for (int i=0;i<10;i++)

for (int counter=1;counter<=10;counter++)

Pretpostavljam da je u brojacu * i * problem, deklarisi/inicijalizuj ga na pocetku main-a, jer koliko se ja secam, profa je rekao da C ne podrzava ovakav nacin deklaracije/inicijalizacije, isto to je i slucaj sa counter brojacem a i vec si deklarisao/inicijalizovao counter na pocetku main-a. pozz
[ butcher87 @ 11.02.2008. 22:26 ] @
A mozda i nisam u pravu... :/
[ milos036 @ 12.02.2008. 08:58 ] @
Zelim posle desetog unosa da nuliram brojac i da me program pita "Da li zelite da nastavite?", ako kazem da da nastavim opet sa unosenjem brojeva i kad dodjem do desetog opet, i tako u krug.

Jel moze neko da napise to, posto sam pokusavao i nikako da uspem, ili bar da objasni.

Hvala
[ butcher87 @ 12.02.2008. 09:57 ] @
Nadam se da je to ovo sto ti treba...

Code:

#include <stdio.h>

void main()

{
    double x, vrednost;
    int brojac;
    char odg;
    
    while(1)
    {
        for (brojac=0;brojac<10;brojac++)
        {
            printf("Unesite broj: ");
            scanf("%lf",&x);
            vrednost = x * 5;
            printf("\n");
            printf("Petostruka vrednost unetog broja je %0.2lf.\n",vrednost);
            printf(" Broj je unet %d put/a.\n",brojac+1);
            printf("\n");
        }
        printf("\nDa li zelite da nastavite (d ili n)? ");
        fflush(stdin);
        odg=getchar();
        if(odg=='d')
            brojac=0;
        else
            break;
    }
}
[ laki_srt @ 12.02.2008. 14:13 ] @
sta radi funkcija fflush();?
[ karas @ 12.02.2008. 15:38 ] @
http://www.cplusplus.com/reference/clibrary/cstdio/fflush.html
[ butcher87 @ 12.02.2008. 15:44 ] @
F-ja fflush(); "cisti" standardni ulazni/izlazni tok (stdin/stdout), tj. "cisti" bafer od zaostalih karaktera. Konkretno u ovom slucaju sluzi za ciscenje ulaznog toka, jer kad se unese opcija 'd', mora da se pritisne enter, e pa taj enter( prelaz u novi red ) (za)ostaje u baferu, pa moze doci do manjih komplikacija. Koristi se i u radu sa datotekama. Mada, umesto getchar(); fflush(stdin); je moglo samo getch(); .
pozz!
[ laki_srt @ 12.02.2008. 16:34 ] @
@butcher87 Hvala!
a evo i pomocu stringova:
Code:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
void main()

{
     double x,vrednost;
     int brojac=1;
     char da_ne[3];
while(1){
            clrscr();
          for (int brojac=1;brojac<=5;brojac++)
          {
                printf("Unesite broj: ");
                scanf("%lf",&x);
                vrednost = x * 5;
                printf("\n");
                printf("Petostruka vrednost unetog broja je %0.2lf.\n",vrednost);
                printf(" Broj je unet %d puta.\n",brojac);
                printf("\n");
          }
      printf("povratak na pocetak     -DA\nizlaz\t\t\t-NE\n\n");
      scanf("%s",&da_ne);
      da_ne[0]=tolower(da_ne[0]);
      da_ne[1]=tolower(da_ne[1]);
      if(strcmp(da_ne,"da")!=0)
        break;

     }
}
[ karas @ 12.02.2008. 19:28 ] @
scanf() može da upiše i više od dva karaktera u da_ne, to bi trebalo sprečiti. Takođe, umesto strcmp() često je sigurnije koristiti strncmp().