Poslao: 02 Apr 2016 22:41
|
offline
- kepach
- Novi MyCity građanin
- Pridružio: 02 Apr 2016
- Poruke: 3
|
Pozdrav svima, imam jedan problem vezan za zadatak koji radim. Problem je taj što promeljiva "prod" u ovom slučaju treba da se iznova unosi i čuva. Bio bih vrlo zahvalan kad bih dobio neki predlog za rešavanje.
mycity.rs/must-login.png
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 03 Apr 2016 09:23
|
offline
- Njubara
- Građanin
- Pridružio: 05 Mar 2016
- Poruke: 88
|
Претпостављам да те интересује укупна продата количина. У том случају додај горе променљиву: ukupna_kolicina
float prod, prihod, ukupna_kolicina = 0, regCena = 80.00;
Е сад израз prod += prod; ти се налази после break; тако да ни не стигне да додели вредност променљиви prod.
Ценим да је следећи израз оно што би ти одговарало:
1. Обриши prod += prod;
2. додај на овом месту
ukupna_kolicina += prod; <---------
} while (m >= 1 && m <= 12);
3. Замени променљиву prod у овом изразу ---> printf("Ukupna kolicina prodatog brasna je %.2f kg\n", prod);
са printf("Ukupna kolicina prodatog brasna je %.2f kg\n", ukupna_kolicina);
Има ту још ствари за преправку, али мислим да је ово оно што ти треба.
|
|
|
|
Poslao: 03 Apr 2016 11:03
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Jedno pitanjce... u zadatku piše da treba da napišeš program u C jeziku, ti si napisao u naslovu "Zadatak C++" kao da ti treba u C++. U kom jeziku treba da bude program?
|
|
|
|
Poslao: 03 Apr 2016 20:26
|
offline
- kepach
- Novi MyCity građanin
- Pridružio: 02 Apr 2016
- Poruke: 3
|
Napisano: 03 Apr 2016 21:25
Njubara ::Претпостављам да те интересује укупна продата количина. У том случају додај горе променљиву: ukupna_kolicina
float prod, prihod, ukupna_kolicina = 0, regCena = 80.00;
Е сад израз prod += prod; ти се налази после break; тако да ни не стигне да додели вредност променљиви prod.
Ценим да је следећи израз оно што би ти одговарало:
1. Обриши prod += prod;
2. додај на овом месту
ukupna_kolicina += prod; <---------
} while (m >= 1 && m <= 12);
3. Замени променљиву prod у овом изразу ---> printf("Ukupna kolicina prodatog brasna je %.2f kg\n", prod);
са printf("Ukupna kolicina prodatog brasna je %.2f kg\n", ukupna_kolicina);
Има ту још ствари за преправку, али мислим да је ово оно што ти треба.
Uradio sam tako kao što si rekao. Pojavljuje se problem što na kraju ispisuje veću vrednost ukupne kolicine, i to kao da mi neku unetu vrednost poduplava. Npr. ako se unese za prva tri meseca vrednost po 10 kg, na kraju će biti ispisano 40 kg.
Dopuna: 03 Apr 2016 21:26
Srki_82 ::Jedno pitanjce... u zadatku piše da treba da napišeš program u C jeziku, ti si napisao u naslovu "Zadatak C++" kao da ti treba u C++. U kom jeziku treba da bude program?
U C jeziku treba da bude, amaterska greška
|
|
|
|
Poslao: 03 Apr 2016 20:58
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Evo jednog jednostavnog rešenja, pa ga prilagodi svojim potrebama:
#include <stdio.h>
void main()
{
const char* mesec[] = { "januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar" };
const double koeficijent[] = { 1, 1, 1, 1, 1, 0.67, 1, 1, 2, 1, 0.67, 0.67 };
const double cena = 80;
double kolicina, ukupnaKolicina = 0, ukupnaVrednost = 0;
for (int i = 0; i < 12; ++i)
{
printf_s("Unesite kolicinu prodatog brasna za %s: ", mesec[i]);
scanf_s("%lf", &kolicina);
ukupnaKolicina += kolicina;
ukupnaVrednost += kolicina * koeficijent[i];
}
printf_s("Ukupna kolicina: %f\nUkupna vrednost: %f\n", ukupnaKolicina, ukupnaVrednost);
}
|
|
|
|
|
Poslao: 03 Apr 2016 21:32
|
offline
- kepach
- Novi MyCity građanin
- Pridružio: 02 Apr 2016
- Poruke: 3
|
Srki_82 ::Evo jednog jednostavnog rešenja, pa ga prilagodi svojim potrebama:
#include <stdio.h>
void main()
{
const char* mesec[] = { "januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar" };
const double koeficijent[] = { 1, 1, 1, 1, 1, 0.67, 1, 1, 2, 1, 0.67, 0.67 };
const double cena = 80;
double kolicina, ukupnaKolicina = 0, ukupnaVrednost = 0;
for (int i = 0; i < 12; ++i)
{
printf_s("Unesite kolicinu prodatog brasna za %s: ", mesec[i]);
scanf_s("%lf", &kolicina);
ukupnaKolicina += kolicina;
ukupnaVrednost += kolicina * koeficijent[i];
}
printf_s("Ukupna kolicina: %f\nUkupna vrednost: %f\n", ukupnaKolicina, ukupnaVrednost);
}
Zaboravio si samo u for petlji u poslednjem izrazu da pomnožiš sa cenom, ali to je to. Hvala na rešenju.
Da li je const ispred tipova podataka neophodno, obzirom na to da su podaci definisani? I na šta se odnosi zvezdica kod char* mesec?
|
|
|
|
Poslao: 03 Apr 2016 22:27
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
To je pokazivač.
https://en.m.wikipedia.org/wiki/Pointer_(computer_programming)
Pokazivač "pokazuje" na niz karaktera (a niz karaktera je string). C nema ugrađen string kao tip podatka.
Ali obrati pažnju:
const char* string = "Januar"; // string
const char* nizStringova[] = { "Januar", "Februar", "Mart" }; // niz od više stringova
|
|
|
|
|