Molim pomoć oko zadnjeg printf-a, znači želim da ispis bude samo GENITIV mnozine, a ukoliko je broj negativan da ne ispisuje to isto, ovdje (u zadnjem printf-u)sam morala staviti taj duži tekst jer ne znam, kako da bude točno, drugačije.
Može li se možda ubaciti while petlja npr. while (broj<0) printf("broj je negativan") ili kako već to točno ide? Ima li netko bolje rješenje?
/*
Zadatak: U hrvatskom jeziku uz glavne brojeve dolazi imenica u odgovarajucem padezu koji
ovisi o broju uz koji se nalazi (npr. 101 patuljak, 33 patuljka, 77
patuljaka).
Pravila za odredjivanje padeza su:
* imenica je u nominativu jednine, ako je zadnja znamenka 1, ali
zadnje dvije nisu 11
* imenica je u genitivu jednine u ova tri slucaja:
* ako je zadnja znamenka broja 2, ali zadnje dvije nisu 12
* ako je zadnja znamenka broja 3, ali zadnje dvije nisu 13
* ako je zadnja znamenka broja 4, ali zadnje dvije nisu 14
* imenica je u genitivu mnozine u svim ostalim slucajevima
Napisati program koji ce ucitati broj s tipkovnice, provjeravati da li je
pozitivan i ako je, ispisati padez koji uz njega ide, npr. za uneseni
broj 32 treba ispisati “Genitiv jednine”.
*/
#include<stdio.h>
int main(){
unsigned zadnjaZnamenka;
unsigned zadnjeDvijeZnamenke;
int broj;
printf("Unesite neki cijeli broj: ");
scanf("%d",&broj);
zadnjaZnamenka = broj % 10;
zadnjeDvijeZnamenke = broj % 100;
if (broj < 0) {printf("Broj je negativan!\n");}
if(zadnjaZnamenka == 1 && zadnjeDvijeZnamenke != 11) printf("NOMINATIV jednine!\n");
if(zadnjaZnamenka == 2 && zadnjeDvijeZnamenke !=12 || zadnjaZnamenka == 3 && zadnjeDvijeZnamenke != 13
|| zadnjaZnamenka == 4 && zadnjeDvijeZnamenke != 14) printf("GENITIV jednine!\n");
else //kako izbjeci ovaj ispis, a da ukoliko je brojka negativna ne ispisuje i GENITIV množine??
printf("Ukoliko je negativan nije GENITIV mnozine,\n ukoliko je pozitivan je GENITIV mnozine!\n");
return 0;
}