Jump to content

Програмирање - лекција бр. 1

Оцени ову тему


Препоручена порука

пре 8 минута, Juanito рече

Низови који чувају производе су ти унутар while петље?

Nisam ni formirao nikakve nizove.Definisao sam promenljive kao string(proizvod) i kao float(količina,cena) pa onda tri upita u toj while petlji sa ispisom(proizvod količina cena).

Најдубља молитва јесте  молитва без икаквих речи када у тишини ума једноставно живимо у присуству Божијем. Архимандрит Сава Јањић

Link to comment
Подели на овим сајтовима

пре 7 минута, Кратос рече

Nisam ni formirao nikakve nizove.Definisao sam promenljive kao string(proizvod) i kao float(količina,cena) pa onda tri upita u toj while petlji sa ispisom(proizvod količina cena).

Мораш да имаш низове као што је Гризли објаснио. Један стринг или један флоат могу да држе једно име или једну цену, а ти мораш да чуваш све те прозводе које додајеш како би могао да их испишеш на екрану. Овако не може више од једног. 

Претпостављам да некако мислиш да екран може све то да чува и да само додаје производе које уносиш. Не. Екран само скуп пиксела. Податке мораш да чуваш у нечему конкретном (низовима на пример) и да онда исцртаваш екран кад год додаш нови производ у те низове. 

Link to comment
Подели на овим сајтовима

пре 16 минута, Juanito рече

Мораш да имаш низове као што је Гризли објаснио. Један стринг или један флоат могу да држе једно име или једну цену, а ти мораш да чуваш све те прозводе које додајеш како би могао да их испишеш на екрану. Овако не може више од једног. 

Претпостављам да некако мислиш да екран може све то да чува и да само додаје производе које уносиш. Не. Екран само скуп пиксела. Податке мораш да чуваш у нечему конкретном (низовима на пример) и да онда исцртаваш екран кад год додаш нови производ у те низове. 

Al recimo kad formiram string recimo strings [] proizvod =new string[100]

i unesem upit:

 

Console.Writeline("Unesi proizvod");

pa onda 

proizvod =Console.Readline(); 

ovde mi pokazuje  grešku ne možete implicitno prebaciti tip string to string 

 

Најдубља молитва јесте  молитва без икаквих речи када у тишини ума једноставно живимо у присуству Божијем. Архимандрит Сава Јањић

Link to comment
Подели на овим сајтовима

пре 6 минута, Кратос рече

Al recimo kad formiram string recimo strings [] proizvod =new string[100]

i unesem upit:

 

Console.Writeline("Unesi proizvod");

pa onda 

proizvod =Console.Readline(); 

ovde mi pokazuje  grešku ne možete implicitno prebaciti tip string to string 

 

Ne može tako. ReadLine() vraća string. Tvoj proizvod je niz stringova (i pošto je tako, bilo bi bolje da ga preimenuješ u proizvodi da bi kod bio razumljiv). U nastavku ću podrazumevati da se niz zove proizvodi. Ono što ReadLine() vrati, moraš da dodaš u taj niz na trenutnu poziciju koju takođe moraš da čuvaš u nekoj promenljivoj. Nešto ovako:

proizvodi[n] = ReadLine();

gde je n int koji kreće od nule i koga uvećaš za 1 svaki put kad završiš dodavanje novih proizvoda cena i količine. 

Link to comment
Подели на овим сајтовима

@Kratos

Само да се јавим кратко, имао сам изузетно напоран дан, такмичили смо се на окружном нивоу. Покупили смо три друга места, тако да ћу прежалити умор. ;)

Definiši proizvod kao string, količinu i cenu kao float. Ja sam definisao i Ukupno kao float, pa sam posle računao Ukupno = Ukupno + kolicina*cena. Moglo je i bez toga.

Definiši i nizove 

            string[] Proizvod = new string[100];
            float[] Kolicina = new float[100];
            float[] Cena = new float[100];
          (  float[] Ukupno = new float[100]; ) ovo ne mora.

Obavezno definiši i jedan brojač као int, koji je Grizli nazvao brojproivoda ili kako već. 

BrojProizvoda = 0 ;

Kad uneses proizvod, količinu i cenu kao

Console.WriteLine("Unesite proizvod:");
                proizvod = Console.ReadLine();

Console.WriteLine("Unesite kolicinu:");
                kolicina = float.Parse(Console.ReadLine());

                Console.WriteLine("Unesite cenu:");
                cena = float.Parse(Console.ReadLine());

onda podatke smestaš u odgovarajuće nizove. 

Proizvod[BrojProizvoda] = proizvod;
                Kolicina[BrojProizvoda] = kolicina;
                Cena[BrojProizvoda] = cena;

i povećaš brojač za 1

BrojProizvoda = BrojProizvoda + 1;

I onda ćeš posle u for petlji da prođeš kroz ceo niz i da ištampaš. Pre for petlje ubaci onaj deo sa štampanjem sa tekstom za Proizvod, količinu, cenu i Ukupno. Možeš i onu isprekidanu liniju da ubaciš u Console.WriteLine.  

Надам се да сам ти довољно помогао, а да не испадне да сам рекао све. Ни мени није било јасно, али је Гризли дао изузетно битне смернице тако да сам их ишчитавао више пута док нисам покапирао шта и како. 

Питање за @Grizzly Adams Још треба да искочим из ове while петље. Пробаћу сам да се снађем чим стигнем, јер ово што сам пробао са Total, памти ми податке од раније, па испадају повећи рачуни. Крадем на каси, па убијам. :) Ово пискарање ми је данашњи рад, сад морам да будем у царству писмених задатака, не замерите што сам лош ђак. 

Мир, браћо и сестре!

 

Не брините се, дакле, за сутра; јер сутра бринуће се за се. Доста је сваком дану зла свога.

(Мт.6, 34)

Link to comment
Подели на овим сајтовима

пре 26 минута, БанеЛ рече

Питање за @Grizzly Adams Још треба да искочим из ове while петље.

То није био захтев у задатку. :)

Из петље можеш да искочиш у било ком тренутку са "break;".

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

пре 22 часа, Grizzly Adams рече

Јављајте како иде, чисто да знамо.

Има ли некога да је ово све прошао и треба му материјал за даље?

Можда @uros, @Снежана?

Ja sam malocas seo za mashinu, danas smo ceo dan morali oko baste - freziranje, krcenje zarasle vrzine, sejanje luka. Nastavljam sad polako, i sutra - ako Bog da - zavrsavam konacno i prvo poglavlje. U svakom slucaju, nedeljni je dan, nadam se da nece da bude nikakvih smetnji, pa cu da se sasvim posvetim ucenju.

:)

Edit: da, i ja sam na if-u trenutno, i uglavnom nisam nista zaboravio do sad.

"Ви морате упознати земаљско да би сте га волели, а Божанско се мора волети да би се упознало." Паскал "Свако искључиво логичко размишљање је застрашујуће: без живота је и без плода. Рационална и логична особа се тешко каје." Шмеман "Always remember - your focus determines your reality." Qui-Gon Jinn

Link to comment
Подели на овим сајтовима

пре 12 минута, obi-wan рече

U svakom slucaju, nedeljni je dan, nadam se da nece da bude nikakvih smetnji, pa cu da se sasvim posvetim ucenju.

Шта кажу Оци и Канони о програмирању недељом?

Link to comment
Подели на овим сајтовима

пре 1 минут, Juanito рече

Шта кажу Оци и Канони о програмирању недељом?

Ne valja jedino ako si pun ko brod, a ipak radis u nedelju. :smeh1:

"Ви морате упознати земаљско да би сте га волели, а Божанско се мора волети да би се упознало." Паскал "Свако искључиво логичко размишљање је застрашујуће: без живота је и без плода. Рационална и логична особа се тешко каје." Шмеман "Always remember - your focus determines your reality." Qui-Gon Jinn

Link to comment
Подели на овим сајтовима

On 2017-03-23 at 9:25, Grizzly Adams рече

Што се "центрирања" тиче, ту треба након сваког уноса обрисати цео екран и исписати све производе из почетка. Треба ти "бесконачна петља" у којој ћеш стално исписивати производе и враћати се на унос.

За брисање екрана: Console.Clear();

Бесконачна петља:

while(true)
{
    // Ovde tvoj kod
}

Исписивање свих производа:

    for (int i = 0; i < brojProizvoda; i++) {
        Console.WriteLine( ... );
        // itd.
    }

@Grizzly Adams Zaglav :(

Nesto ne sljaka, kasni mi za 1, mozda moram da inkrementujem na vrhu odmah ispod while() ?

Kod:

using System;

public class Program
{
    static void Main(string[] args)
    {
        int i = 0;
        int j = 0;
        string proizvod;
        float kolicina;
        float cena;
        string[] proizvodi = new string[100];
        float[] kolicine = new float[100];
        float[] cene = new float[100];

        // System.Threading.Thread.Sleep(5);
        while(true)
        {
            Console.WriteLine("Unesi proizvod:");
            proizvod = Console.ReadLine();

            Console.WriteLine("Unesi kolicinu:");
            kolicina = float.Parse(Console.ReadLine());

            Console.WriteLine("Unesi cenu:");
            cena = float.Parse(Console.ReadLine());


            proizvodi[i] = proizvod;
            kolicine[i] = kolicina;
            cene[i] = cena;

            Console.Clear();
            Console.WriteLine("Proizvod\tKolicina\tCena");
            Console.WriteLine("================================");

            for (j=0; j<i; j++)
                Console.WriteLine(proizvodi[j] + "\t\t" + kolicine[j] + "\t\t" + cene[j]);
            i++;
        }
        Console.ReadLine();
    }
}

 Nisam se jos bavio dodavanjem cena, to cu na kraju kad proradi osvezavanje + printanje kako treba

Link to comment
Подели на овим сајтовима

пре 25 минута, uros рече

Nesto ne sljaka, kasni mi za 1, mozda moram da inkrementujem na vrhu odmah ispod while() ?

Мислим да ти треба прво да инкрементујеш "i" (јер већ си додао производ) пре "фор" петље. Овако:

            i++;

            for (j=0; j<i; j++)
                Console.WriteLine(proizvodi[j] + "\t\t" + kolicine[j] + "\t\t" + cene[j]);
            

 

  • Волим 1

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

пре 30 минута, uros рече

Nesto ne sljaka, kasni mi za 1, mozda moram da inkrementujem na vrhu odmah ispod while() ?

Штампање мора да иде на почетку петље. Значи све од Console.Clear() па до i++ помери на почетак.

И да, користи молим те {} за једнолинијске блокове, већ видим багове у најави... :)

Link to comment
Подели на овим сајтовима

пре 2 часа, Juanito рече

Шта кажу Оци и Канони о програмирању недељом?

Само ако није за паре... ;)

Па после наплати у понедељак... :smeh1:

  • Волим 1

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

×
×
  • Креирај ново...