[ Poppas @ 22.02.2009. 22:58 ] @
Pozdrav...

Intezivno ucim C kako bih pripremio ispit a i kako bih nesto znao o tome. Krenuo sam od nule na privatne casove jer predavanja nisam posecivao :(. E sad, na tim casovima sam dobio domaci zadatak(hehe) koji me jako muchi, uradio sam vise od pola i zakucao jer kao sto kazem, nov sam u svemu i krenuo sam u ovo bez ikakvog predznanja...

Dakle, imam Code koji sam sam uradio i testirao i koji funkcionise za sada. Medjutim u daljem radu treba da ubacim neke operacije i funkcije koje ne znam a zadatak vec sutra treba da predam sve pa ako je moguce neko da mi pomogne i ispise ono malo sto je preostalo... :((

Zadatak je sledeci, imam ZOO vrt ;) i pisem program koji obracunava broj posetilaca u toku dana i koji racuna zarade po cenama karata za odrasle, penzionere i maloletne... Ovoliko sam napisao:



Code:

#include "stdio.h"
#define ime_fajla "cena.txt"

int main() {
  int cena1,cena2,cena3;
  
  //ucitavnaje informacija cena ulaznica iz fajla
  FILE *file1;
  file1=fopen(ime_fajla, "r");
  if(!file1) {
    fprintf(stderr, "***GRESKA***  Ne mozemo otvoriti fajl \"%s\" za podesavanja\n", ime_fajla);
    exit(1);
  }
  if(!fscanf(file1, "o:%i\nd:%i\np:%i", &cena1, &cena2, &cena3)) {
    fprintf(stderr, "***GRESKA***  U \"%s\" fajlu za podesavanja nisu tacno unesene cene\n", ime_fajla);
    fclose(file1);
    exit(1);
  }
  fclose(file1);

  if(cena1 <= 0) {
    fprintf(stderr, "***GRESKA***  U \"%s\" fajlu za podesavanja cena je negativna ili nula\n");
    exit(1);
  }
  if(cena2 <= 0){
    fprintf(stderr, "***GRESKA***  U \"%s\" fajlu za podesavanja cena je negativna ili nula\n");
    exit(1);
  }
  if(cena3 <= 0){
    fprintf(stderr, "***GRESKA***  U \"%s\" fajlu za podesavanja cena je negativna ili nula\n");
    exit(1);
  }
    

  int posetilac1, posetilac2, posetilac3;
  //ucitavnaja br. posetioca sa tastatura
  printf("Molimo Vas unesite broj odraslih posetilaca\n");
  if(!scanf("%i", &posetilac1)) {
    fprintf(stderr, "Pogresno ste uneli broj posetilaca\n");
    exit(2);
  }
  if(posetilac1<0) {
    fprintf(stderr, "Pogresno ste uneli broj posetilaca - negativan broj\n");
    exit(2);
    }
  printf("Molimo Vas unesite broj maloletnih posetilaca\n");
  if(!scanf("%i", &posetilac2)) {
    fprintf(stderr, "Pogresno ste uneli broj posetilaca\n");
    exit(2);
  }
  if(posetilac2<0) {
    fprintf(stderr, "Pogresno ste uneli broj posetilaca - negativan broj\n");
    exit(2);
    }
  if(!scanf("%i", &posetilac3)) {
    fprintf(stderr, "Pogresno ste uneli broj posetilaca\n");
    exit(2);
  }
  if(posetilac3<0) {
    fprintf(stderr, "Pogresno ste uneli broj posetilaca - negativan broj\n");
    exit(2);
    }

  //rezultat
  printf("Danasnja zarada je %u din.\nPo ceni od %u i %u din\n", cena1*posetilac1+cena2*posetilac2+cena3*posetilac3, cena1, cena2, cena3 );

  exit(0);
}



Ono sto ja ne mogu da uradim sam je sledece:

1. odrediti procente odraslih,maloletnih i penzionera u broju poseta ako znamo da je bilo 50 odraslih gostiju, 10 maloletnih i 40 penzionera...
2. Izracunati koliko procenata od koga sam dobio od zarade (koliko procenat od penzionera,maloletnih i odraslih...)
3. Izracunati realnu zaradu ako je PDV na svaku prodatu kartu 18%

Ako neko moze da mi pomogne pa samo ubaci ova 3 "problema" u moj kod, tu sam stao i ne mogu dalje ;)






Drugo pitanje je vezano za rad sa programskim jezikom C na Mac-u odnosno na Mac OsX... Ako neko zna kako funkcionise kompajler pod nazivom "Xcode", da li je dobar za pocetnike, kako radi, kako testiram Code, itd... Ovo verovatno mogu da mi pomognu samo oni koji rade na Macu...


Hvala svima unapred ;)
[ Helionprime @ 28.02.2009. 10:35 ] @
ok, vjerovatno je već kasno za odgovor, ali dobro. Što se tiče prvog pitanja..

Code:


int ukupnoPoseta;
int procTemp;

ukupnoPoseta=posetilac1+posetilac2+posetilac3;
procTemp=100/ukupnoPoseta;


printf("Odraslih posetilaca %d %", posetilac1*procTemp;);
printf("Maloletnih posetilaca %d %", posetilac2*procTemp;);
printf("Penzionera %d %", posetilac3*procTemp;);



Što se tiče drugog pitanja:

Code:

int zaradaTemp1, zaradaTemp2, zaradaTemp3, ukupnaZarada;
int procZarada;

zaradaTemp1=cena1*posetilac1;
zaradaTemp2=cena2*posetilac2;
zaradaTemp3=cena3*posetilac3;

procZarada=100/ukupnaZarada;

printf("Zarada od odraslih posetilaca je %d %", zaradaTemp1*procZarada);
printf("Zarada od maloletnih posetilaca je %d %", zaradaTemp2*procZarada);
printf("Zarada od penzionera je %d %", zaradaTemp3*procZarada);



Što se tiče trećeg pitanja:

Code:

printf("Realna zarada je %d.", ukupnaZarada-ukupnaZarada*0.18);