Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] grafico istogramma con lib. graphics.h

    codice:
    void disegnaGrafico(float arrayFrequenze[])   //FUNZIONE DISEGNA GRAFICO
     {      
    int accumulatore = 0;            
    nitwindow(700,580);      
    line(50,20,50,520);      
    line(50,520,550,520);      
    setcolor(4);      
    settextstyle(10,HORIZ_DIR,1);      
    setlinestyle(0, 4, 3);          
    for(int i= 0; i<dimensione;i++)       
    {               
         accumulatore+=60;               
         setcolor(4);                line(30+accumulatore,520,30+accumulatore,520-(arrayFrequenze[i]*5));               setcolor(6);               
    outtextxy(30+accumulatore,540,"Cl.");               outtextxy(10,520-(arrayFrequenze[i]*5),"Fr.");       
    }       
    while(!ismouseclick(WM_LBUTTONDBLCLK));       
    closegraph(); 
    }
    questa funzione genera un istogramma con valori contenuti nell' array arrayFrequenze.
    il problema è che non conosco l' esistenza di una funzione che nel grafico nell asse delle ordinate..accanto alla rispettiva frequenza..mi stampi il valore della frequenza....quindi sono costretto a passare alla funzione outtextxy() le coordinate e poi "Fr.", che sta per frequenza.

    Infatti outtextxy(int,int,char)...restituisce 2 interi e un char.

    io infatti cercavo una funzione che,
    prendendo ad esempio la mia

    codice:
    outtextxy(10,520-(arrayFrequenze[i]*5),"Fr.");
    dovrebbe fare questo un po questo

    codice:
    outtextxy(10,520-(arrayFrequenze[i]*5),arrayFrequenze[i]);
    La domanda è: esiste una funzione che fa ciò, nella libreria graphics.h?

    e se esiste qulcuno mi potrebbe spiegare come funziona?

    grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'unica cosa che ho capito è che confondi un semplice file header come

    graphics.h

    con una libreria (che è ben altra cosa ...).

    Inoltre, la outtextxy non "restituisce" affatto quei dati ma, semmai, li "accetta" come parametri (e il terzo è un puntatore a char, non un char).

    Forse vuoi convertire il valore numerico di

    arrayFrequenze[i]

    in stringa per utilizzarla con la outtext (nell'ultimo parametro). Per farlo dovresti usare una funzione come

    sprintf

    e un buffer opportuno.

    Ti consiglio uno studio "approfondito" con un libro del linguaggio, perché non puoi andare avanti con esempi, forum e tentativi ...

    Per la sprintf leggi (anzi "studia")

    http://www.cplusplus.com/reference/c...stdio/sprintf/
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    anche il tipo string non lo accetta, vuole solo char

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puntatore a char !

    Un vettore di char, una stringa del C insomma ...

    char stringa[100];

    Non si può programmare in C senza conoscere le "stringhe" del C ovvero i vettori di char ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.