f-ja za promenu boje u C-u
Prikazujem rezultate 1 do 19 od 19

Tema: f-ja za promenu boje u C-u

  1. #1
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano f-ja za promenu boje u C-u

    E,ovako imam problem sa tom f-jom...Stalno mi izbacuje 1 upozorenje ili 2
    d:\vezbe od 7\vezbe_za_2_kol_6\g.c(10) : warning C4716: 'promeni_boju' : must return a value
    i
    d:\vezbe od 7\vezbe_za_2_kol_6\g.c(9) : warning C4761: integral size mismatch in argument; conversion supplied

    Sto se tice ovog 1. ima varijanta da mi f-ja
    izgleda
    void promeni_boju(int boja)
    i u main f-ji da napisem

    system("pause");
    return 0;
    Ali opet mi stalno bleji ovo sugavo prvo upozorenje,trazi mi konverziju,a ja sam pocetnik naravno i nemam pojma na koju misli.Program mi radi inace,ja sam se malo igrala ali necu da imam ovo upozorenje.Iskopiracu zadatak i molim vas ako neko zna neka mi kaze u cemu uporno gresim,nemam toliko znanja da sama pronadjem.
    E druga varijanta je da me zeza (ovo se fino izrazavam a rekla bih nesto mnogo gore) VS
    jer kad kompajliram 2 puta za redom,2. put mi ne izbacuje upozorenje.
    Molim vas pogledajte mi zadatak,trebalo bi to da resim i budem nacisto za 2 dana...
    Hvala puno !




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

    #include <windows.h>
    #define MAX 20
    int promeni_boju ( boja){
    HANDLE Konzola=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(Konzola,boja);
    }


    int provera (char *a, char *b){
    if(strcmp(a,b)==0)
    return 1;
    else
    return 0;
    }
    int provera1 (char *a,char *c){
    if(strcmp(a,c)==0)
    return 1;
    else
    return 0;
    }



    void main () {

    char rec[MAX];
    char *string={"student"};
    char izbor[2];
    char *string1={"srce"};

    do{
    promeni_boju(10);





    puts("Unesi rec");
    scanf("%s",&rec);
    if ((provera(rec,string)) || (provera1(rec,string1)))
    puts ("Pogodili ste");
    else
    puts("Niste pogodili");





    printf("\n\n");
    printf("za nastavak ukucajte \"da\"\n");
    scanf("%s",&izbor);
    }while (izbor[0]=='d'&& izbor[1]=='a');








    }
    С вером у бога, слобода или смрт!!!



  2. #2
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    Ili jos bolje ako postoji neka druga opcija za menjanje boje.
    С вером у бога, слобода или смрт!!!

  3. #3
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    Izgleda da je do VS opet se tripuje...
    С вером у бога, слобода или смрт!!!

  4. #4
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    Citat Original postavio slayer
    E,ovako imam problem sa tom f-jom...Stalno mi izbacuje 1 upozorenje ili 2
    d:\vezbe od 7\vezbe_za_2_kol_6\g.c(10) : warning C4716: 'promeni_boju' : must return a value
    i
    d:\vezbe od 7\vezbe_za_2_kol_6\g.c(9) : warning C4761: integral size mismatch in argument; conversion supplied
    ...
    Kod:
    int promeni_boju ( boja){
    	HANDLE Konzola=GetStdHandle(STD_OUTPUT_HANDLE);
    	SetConsoleTextAttribute(Konzola,boja);
    }
    ...
    [font=Verdana]Uglavnom treba čitati, jer kompajler obično jasno kaže šta je problem.

    Prvo upozorenje kaže da ukoliko funkcija vraća nešto onda u njoj mora da postoji bar jedna naredba return koja vraća isti tip kao što je naveden pri deklaraciji funkcije u ovom slučaju int.

    Drugo [/font][font=Verdana]upozorenje [/font][font=Verdana]se odnosi na argument boja iste funkcije za koju nije dat tip. Tip koji kompajler podrazumeva nije jednak tipu koji SetConsoleTextAttribute očekuje kao parametar za boju, pa je potrebna konverzija.
    [/font]

  5. #5
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    I kada ukucam return,pojavljuje se upozorenje...
    To sam i ja skontala da treba konverizija,sto sam i napisala gore,toliko vidim ali kod tipa...Kako da konvertujem?
    С вером у бога, слобода или смрт!!!

  6. #6
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    [font=Verdana]Ista poruka se pojavljuje i kada imaš return u okviru funkcije promeni_boju? Možeš li da pošalješ taj deo koda da vidimo u čemu je problem?

    Pogledaj kog tipa je drugi argument funkcije SetConsoleTextAttribute, jer očigledno da promenljiva boja nije tip koji ova funckija očekuje.[/font]

  7. #7
    Elita ? (avatar)
    Učlanjen
    09.01.2004.
    Poruke
    15.074
    Reputaciona moć
    0

    Podrazumevano Re: f-ja za promenu boje u C-u

    sta je "HANDLE" ?

  8. #8
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    [font=Verdana]Tip podataka koji se koristi pri radu sa Win32 API funkcijama.

    Kratko objašnjenje o tipovima podataka u Win32 API-ju: http://en.wikibooks.org/wiki/Windows_Programming/Handles_and_Data_Types.[/font]

  9. #9
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    #include <stdio.h>
    #include <string.h>
    #include <windows.h>
    #define MAX 20
    void promeni_boju (int boja){
    HANDLE Konzola=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(Konzola,boja);

    }
    int provera (char *a,char *b){
    if (strcmp(a,b)==0)
    return 1;
    else
    return 0;
    }
    int provera1 (char *a, char *c){
    if(strcmp(a,c)==0)
    return 1;
    else
    return 0;
    }
    int provera2 (char *a, char *d){
    if (strcmp(a,d)==0)
    return 1;
    else
    return 0;
    }

    void main() {
    char rec[MAX];
    char *string={"student"};
    char *string1={"srce"};
    char *string2={"mace"};
    char izbor[2];
    do{
    promeni_boju(10);

    printf("\nUnesite rec\n");
    scanf("%s",&rec);




    if((provera(rec,string))||(provera1(rec,string1))| | (provera2(rec,string2)))
    printf("\n Pogodili ste\n");
    else
    printf(" \nNiste pogodili\n");
    printf(" \nZa nastavak unesite \"da\"\n");
    scanf("%s",&izbor);
    }while(izbor[0]=='d'&& izbor[1]=='a');
    system("pause");
    return 0;
    }





    Ja sam ovu f-ju prepisala sa jednog foruma (sto se promene boje tice).... Mozda negde nesto dobro ne kucam ,stvarno ne znam...Ceo dan se gubim sa bojama i dalje mi nista nije jasno...nista mi ne radi...(sto se boja tice)...Evo ovaj ceo sledeci kod sam prepisala iz jedne knjige i ne prihvata mi #include "graphics.h" ,ne razumem zasto....


    #include <stdio.h>
    #include <conio.h>
    #include "graphics.h"
    #include<dos.h>
    #include<stdlib.h>
    void main () {
    int gd *DETECT,gm,i,j,k,maxx,maxy,midx,midy;
    clrscr ();
    initgraph(&gd,&gm,"");
    setbkcolor(0);
    maxx=getmaxx();
    maxy=getmaxy();
    midx=maxx/2;
    midy=maxy/2;
    setcolor(15);
    //floodfill(0,0, RED);
    rectangle(0,0,maxx,maxy);
    setcolor(2);
    rectangle(5,5,maxx-5,maxy-5);
    setcolor(4);
    settextstyle(10,HORIZ_DIR,2);
    outtextxy(130,10,"by Dunja");
    //FOR FACE SHAPE
    for(i=0;i<40;i++){
    setcolor(4);
    ellipse(300,150,270,330,120,290);
    setcolor(4);
    ellipse(300,150,210,270,120,290);
    setcolor(8);
    ellipse(370,250,320,130,42+i,80+i);
    setcolor(8);
    ellipse(278,255,43,207,90+i,95+i);
    setcolor(8);
    ellipse(300,150,295,330,120+i,290+i);
    setcolor(8);
    ellipse(300,150,210,248,120+i,290+i);
    //FOR BINDI
    setcolor(4);
    ellipse(300,225,0,360,9,9-i);
    //USNE
    setcolor(4);
    ellipse(250,442,60,80,100,50);
    ellipse(350,442,100,120,100,50);
    ellipse(300,313,255,285,80,100);
    ellipse(370,422,145,166,50,50);
    ellipse(230,422,13,35,50,50);

    ellipse(310,390,27,133,12,9);

    ellipse(290,390,27,140,12,9);
    ellipse(264,384,270,358,15,9);
    ellipse(336,384,190,265,15,9);

    //FOR MANG

    setcolor(0);
    line(360,120,345,185);
    line(355,120,340,185);

    //ZA KOSU

    setcolor(8);
    ellipse(390,250,300,120,60,150-i); //right hair
    setcolor(2);
    ellipse(490,440,139,205,90+i,95+i);
    setcolor(8);
    ellipse(278,265,53,223,130,180-i); //left hair
    setcolor(3);
    ellipse(108,440,335,394,90+i,95+i);

    //VRAT
    ellipse(435,440,165,205,90-i,95-i);
    ellipse(168,440,335,372,90-i,95-i);
    }

    //NOS

    setcolor(4);
    ellipse(354,330,150,190,38,100); //FOR LINE

    ellipse(215+i,272,90,270,8,8);
    delay(20);
    //setcolor(BLACK);
    //ellipse(245-i,272,270,90,8,8); //for inner eye
    //delay(20);
    }
    for(i=0;i<=40;i++){
    setcolor(BLACK);
    ellipse(250,300,30,150,30,i); //for left eye
    delay(1);

    setcolor(BLACK); //left EYE
    ellipse(350,300,30,150,30,i);
    delay(1);


    }
    } //TERMINATION FOR WHILE LOOP

    closegraph();
    restorecrtmode();
    getch();









    }
    С вером у бога, слобода или смрт!!!

  10. #10
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    Citat Original postavio slayer
    ...
    Ja sam ovu f-ju prepisala sa jednog foruma (sto se promene boje tice).... Mozda negde nesto dobro ne kucam ,stvarno ne znam...Ceo dan se gubim sa bojama i dalje mi nista nije jasno...nista mi ne radi...(sto se boja tice)...Evo ovaj ceo sledeci kod sam prepisala iz jedne knjige i ne prihvata mi #include "graphics.h" ,ne razumem zasto....
    ...
    [font=Verdana]Dobro i šta sada ne radi u ovoj verziji koju si poslala? Koliko vidim jedino imaš return 0; viška jer je main funkcija void. Ma da, po standardu, prototipi main funkcije su:[/font]
    [font=Courier New]int main(void)[/font]
    [font=Courier New] int main(int, char *[])[/font]
    [font=Verdana]tako da je bolje da napišeš int main() umesto da ukolniš return 0;.[/font]

  11. #11
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    Hvala,u pravu si,pomoglo je.Sada mi samo nije jasna ta konverzija...Ili vise da se manem tih boja,postala sam opsednuta...Radi program ali me nervira to upozorenje...
    С вером у бога, слобода или смрт!!!

  12. #12
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    [font=Verdana]Pogledaj koji je tip drugog argumenta funkcije SetConsoleTextAttribute i uporedi to sa tipom boja u tvojoj funkciji, pa ćeš lako ispraviti i eliminisati i to upozorenje.[/font]

  13. #13
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    Ne znam kog je tipa,ja sam tu f-ju nasla na jednom forumu i bila je jedina koja je radila. Naravno prekopirala sam je bez ikakvog razumevanja,tamo nije objasnjeno,a literaturu koju ja imam nigde se ne spominju f-je za boje,i na netu sam trazila kao manijak ali stalno se vrtim u krug jer mi nista ne radi...kao npr ovaj drugi kod sto sam prepisala iz te knjige,samo mi prijavljuje tu 1 gresku za #include "graphics.h"
    С вером у бога, слобода или смрт!!!

  14. #14
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    [font=Verdana]Ako si funkciju našla na nekom forumu, onda je manji problem da je nađeš u okviru MSDN-a lokalnog ili na MS sajtu i vidiš njen prototip, a uz put i detljan opis šta radi. Sem toga da uneseš njen naziv u nekom pretraživaču sigurno će meću prvih dest ponuđenih strana biti bar jedna koja daje njen opis.
    [/font]

  15. #15
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    Sad bih glavu svoju olupala jer mi to nikad nije palo na pamet...Nasla sam odmah...Odlicno izgubila sam pola dana na lib koja je stara kao rim i pritom je ne podrzava windows...
    Hvala jos jednom,smorila sam te kao kera...
    С вером у бога, слобода или смрт!!!

  16. #16
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: f-ja za promenu boje u C-u

    [font=Verdana]Važno je da si naučila nešto i zapamtila za sledeći put kada ti bude zatrebalo.[/font]

  17. #17
    Elita ? (avatar)
    Učlanjen
    09.01.2004.
    Poruke
    15.074
    Reputaciona moć
    0

    Podrazumevano Re: f-ja za promenu boje u C-u

    za koju skolu ti to treba

  18. #18
    Primećen član slayer (avatar)
    Učlanjen
    26.01.2004.
    Pol
    ženski
    Lokacija
    ЗЕМУН
    Poruke
    623
    Reputaciona moć
    57

    Podrazumevano Re: f-ja za promenu boje u C-u

    Ni za jednu...To sam ja htela van gradiva...
    С вером у бога, слобода или смрт!!!

  19. #19
    Elita ? (avatar)
    Učlanjen
    09.01.2004.
    Poruke
    15.074
    Reputaciona moć
    0

    Podrazumevano Re: f-ja za promenu boje u C-u

    a gde se uci gradivo, tj sta studirash ili koja si shkolica

Slične teme

  1. bol na promenu vremena
    Autor bojanica i aber ged u forumu Zdravlje
    Odgovora: 4
    Poslednja poruka: 15.08.2008., 21:59
  2. BOJE, boje, bojeeee :)
    Autor morphea u forumu Arhiva
    Odgovora: 699
    Poslednja poruka: 28.05.2007., 07:42

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •