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

Provjera brojeva i znakova u C-u

[es] :: C/C++ programiranje :: Provjera brojeva i znakova u C-u

[ Pregleda: 3419 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

odwalla
Zagreb

Član broj: 56396
Poruke: 12
*.sava.sczg.hr.



Profil

icon Provjera brojeva i znakova u C-u27.04.2005. u 21:22 - pre 230 meseci
Mene zanima,ako neko moze da mi kaze, kako napraviti funkciju pomocu koje mogu proveriti da li su znakovi uneseni sa tipkovnice brojevi ili neki drugi znak,da se na primer ne bi desilo da program "racuna" sa slovima?
 
Odgovor na temu

zokiiii
Zagreb

Član broj: 47412
Poruke: 174
*.net.t-com.hr.

Sajt: www.logicamera.com


Profil

icon Re: Provjera brojeva i znakova u C-u27.04.2005. u 21:32 - pre 230 meseci
Provjeravaj preko ASCII -a
Znamo da su brojevi od 48 do 57 -ukljucujuci .. a slova od 65 do 122-ukljucujuci
Pa provjeravaj
evo nekakav pseudokod

if ( broj >= 48 && broj <=57) {racunaj nesto
pozovi funckiju;
}
else {
unjeli ste slovo ;
}

valjda sam pogodio ovo vece-jednako i manje-jednako ..
 
Odgovor na temu

george_w

Član broj: 20754
Poruke: 16
*.tel.net.ba.



Profil

icon Re: Provjera brojeva i znakova u C-u27.04.2005. u 21:47 - pre 230 meseci
standardne funkcije c-a:

#include <ctype.h>

int isdigit(int znak);
int isalpha(int znak);
int isalnum(int znak);


ako bas hoces napravit svoju funkciju, npr:

int jelislovo(int znak)
{
return isalpha(znak);
}
 
Odgovor na temu

odwalla
Zagreb

Član broj: 56396
Poruke: 12
*.phy.hr.



Profil

icon Re: Provjera brojeva i znakova u C-u28.04.2005. u 10:46 - pre 230 meseci
Taj isalnum je dobar,ali mi treba nesto sto ce mi provjeriti da li je to broj i ukoliko je da sa njim racunam,a ukoliko nije da mi ne izlazi iz programa nego da me vrati na pocetak programa.U programu imam nesto ovako:

printf("Unesite polumjer kugle\n");
scanf("%f", &veliki_polumjer);
kugla(veliki_polumjer);

I onda bi mi trebalo da proverim koji je znak pre nego ga posaljem u funkciju kugla,i ako je broj sve super,a ako nije da program ponovo trazi da se unese polumjer.Ako je to moguce izvesti?Probavao sam nesto sa petljama i ascii-em ali onda ako unesim broj koji je izmedju ascii vrijednosti slova njega isto tretira kao slovo!
 
Odgovor na temu

george_w

Član broj: 20754
Poruke: 16
*.tel.net.ba.



Profil

icon Re: Provjera brojeva i znakova u C-u28.04.2005. u 17:05 - pre 230 meseci
onda ovako:

Code:

#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>

float kugla(float);

void main()
{
    char broj[5];
    char znak;
    float r;
    int i, pravibroj;

    printf("Unesi poluprecnik --> ");

    do
    {
        gets(broj);

        pravibroj = 1;

        for(i=0; i<strlen(broj); i++)
        {
            if(isalpha(broj[i]))
              pravibroj = 0;
        }

        if(pravibroj == 0)
            printf("\nPogresan broj! Haj ponovo --> ");
    }
    while(pravibroj == 0);

    r = atof(broj);

    printf("Zapremina kugle, poluprecnika %.2f je %.2f", r, kugla(r));
}

float kugla(float r)
{
    return r*r*r;
}

 
Odgovor na temu

george_w

Član broj: 20754
Poruke: 16
*.tel.net.ba.



Profil

icon Re: Provjera brojeva i znakova u C-u28.04.2005. u 17:06 - pre 230 meseci
Ako ti nesto nije jasno u gornjem kodu, pitaj...


Pozdrav!
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.beotel.net.



Profil

icon Re: Provjera brojeva i znakova u C-u28.04.2005. u 19:22 - pre 230 meseci
Citat:
odwalla: Taj isalnum je dobar,ali mi treba nesto sto ce mi provjeriti da li je to broj i ukoliko je da sa njim racunam,a ukoliko nije da mi ne izlazi iz programa nego da me vrati na pocetak programa.U programu imam nesto ovako:

printf("Unesite polumjer kugle\n");
scanf("%f", &veliki_polumjer);
kugla(veliki_polumjer);


A da malo procitas kako se koristi scanf! Da te malo postedim muke... scanf vraca
broj uspesno konvertovanih i dodeljenih polja. U tvom slucaju ovako:

Code:

if ((scanf("%f", &veliki_polumjer) != 1)
{
 // greska...
}
// ovde veliki_polumjer ima korektnu unetu vrednost


scanf je vrlo mocna funkcija jer pametnim opisom input stringa mozes da parsujes
i komlikovanije ulaze. Primer:

Code:
char funkcija[30];
float broj;
scanf("%[^(]( %f )", funkcija, &broj);


cita ulazu obliku sin(3.1415), gde ce funkcija sadzati 'sin', a broj ce biti 3.1415

yooyo

 
Odgovor na temu

odwalla
Zagreb

Član broj: 56396
Poruke: 12
*.math.hr.



Profil

icon Re: Provjera brojeva i znakova u C-u29.04.2005. u 16:25 - pre 230 meseci
Ja to bio resio ovako:

R1:
printf("Unesite polumjer kugle\n");
scanf("%f", &veliki_polumjer);
if((veliki_polumjer>=0.00000)&&(veliki_polumjer>=999999999.99991)
kugla(veliki_polumjer);
else{
printf("Greska!\n");
goto R1;
}

Al mislim da cu se koristiti i vasim odgovorima.Ipak puno vam hvala.Pozdrav svima!

By the way yooyo,a je li znas gde imaju objasnja za sve te funkcije, koliko god znao hteo bi jos!
 
Odgovor na temu

xxxrugby

Član broj: 16068
Poruke: 653
*.ericsson.net.

Sajt: www.zagreb-rugby.hr


Profil

icon Re: Provjera brojeva i znakova u C-u29.04.2005. u 19:39 - pre 230 meseci
Bas najstandardnije
http://cplusplus.com

http://www.acm.uiuc.edu/webmonkeys/book/c_guide/

Google it. Nema boljeg!
A ostalo. Evo i prvi hintovi najbolji!
http://www.google.com/search?h...ce&btnG=Tra%C5%BEi&lr=


xxxrugby: "We are all philosophers, when question is about politics!"
 
Odgovor na temu

[es] :: C/C++ programiranje :: Provjera brojeva i znakova u C-u

[ Pregleda: 3419 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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