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

if-else pocetnicki problem

[es] :: C/C++ programiranje :: C/C++ za početnike :: if-else pocetnicki problem

[ Pregleda: 4219 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

goran-ets
Goran Culibrk

Član broj: 75804
Poruke: 24
*.168.EUnet.yu.



Profil

icon if-else pocetnicki problem23.03.2006. u 08:59 - pre 191 meseci
Pozdrav svima.... E ovako, uradio sam jedan zadatak, vezan za skolu. Sve mi izgleda ok ali mi kompajler uvek prijavljuje gresku na "if"-u. Stalno mi javlja "if statement missing". Napominjem da radim u TurboC 3.0. Jos uvek sam pocetnik i ne znam sta da radim...


Code:

#include<stdio.h>
#include<conio.h>
#include<math.h>

void main(void)
{
    
    unsigned a, b, c, xu, yu, p, o, s;
    char izbor;
    
    textmode(3);
    textbackground(0);
    textcolor(15);
    clrscr();

    printf("Program na osnovu unetih stranica trougla izracunava po zelji korisnika Obim, Povrsinu i tip trougla.");
    printf("\nUnesite stranice trougla:");
    printf("\n\ta=");
    scanf("%a",&a);
    printf("\tb=");
    scanf("%a",&b);
    printf("\tc=");
    scanf("%a",&c);
    
    printf("\n\nIzaberite jednu od opcija:");
    printf("\n\tP Povrsina trougla");
    printf("\n\tP Obim trougla");
    printf("\n\tT Tip trougla");
    

    printf("Vas izbor je:");
    textbackground(3);
    cprintf("    ");
    
    xu=wherex() -4;
    yu=wherey();
    
    do{    gotoxy(xu, yu);
        cprintf("    ");
        scanf("%c",izbor);
        }while(izbor!='p'&&izbor!='P'&&izbor!='o'&&izbor!='O'&&izbor!='t'&&izbor!='T');

    s=(a+b+c)/2;
    p=sqrt(s*(s-a)*(s-b)*(s-c));
    o=a+b+c;

    switch(izbor)
    {    case 'p': printf("\n\n\tPovrsina trougla je P=%.3u", p);
            break;
        case 'o': printf("\n\n\tObim trougla je O=%u", o);
            break;
        case 't': if(a+b>c&&b+c>a&&a+c>b)
                {     if(a==b==c)
                    {    if(a==b!!b==c!!a==c)
                        {    if(a!b!c) printf("Trougao je nejednakostranican");
                        }    else printf("Trougao je jednakokraki");
                    }    else printf("Trougao je jednakostranican");
                }    else printf("Stranice ne mogu obrazovati trougao");
                    
        break;
        
        }
    
    getch();

}
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: if-else pocetnicki problem23.03.2006. u 09:43 - pre 191 meseci
Ono sto na prvi pogled vidim je sledece:

Code:

int a=5, b=5, c=5;
(a==b==c) = FALSE;    (nece dati ovo sto si ti hteo)
(a==b&&b==c) = TRUE; (ovo si hteo da ispitas)

Code:

if(a==b!!b==c!!a==c) Ne valja
if(a==b||b==c||a==c) Valja  ( || umesto !!, upotrebi vertikalne crte umesto uzvicnika)

Code:

if(a!b!c) Nece moci, ali to sto zelis je sledeci red
if(a!=b && b!=c)

idb
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: if-else pocetnicki problem23.03.2006. u 16:41 - pre 191 meseci
Da, i samo da objasnimo coveku zasto ne moze onako da se proverava trostruka jednakost recimo ( ono a=b=c ).

Razlog je u tome sto ce ti uporedjivanje krenuti sa desne strane na levu i to tako sto ce pogledati da li je b=c, pa ako jeste rezultat tog uporedjivanja ce biti 1, pa ce ti onda tu jedinicu uporedjivati sa promenljivom a. Zato neces dobiti dobar rezultat.

Isto ti se odnosi i na "!=" i na sve ostale varijante ovakvih uporedjivanja .
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: if-else pocetnicki problem

[ Pregleda: 4219 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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