Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2009, 11:21   #1
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
[C++] strutture e funzioni

ciao a tutti, come potrete ben capire dalla tipologia di linguaggi che scrivo, sono alle prime armi....
Dovendo scrivere un programma abbastanza complesso che richiama vari funzioni, volevo passare da semplici array bidimensionali alle strutture (altrimenti ad ogni modifica mi devo ricordare cosa c'è in una data colonna...).

un primo programma che riesco ad eseguire è il seguente:
Codice:
#include <iostream>
#include <string>
#include <vector>
using namespace std;

//Dichiarazione della struttura generale
    struct struttura{
        string nome;
        double valore;
        };

void raddoppia(struttura* StrutturaModificata)
{
    StrutturaModificata->nome="due";
    StrutturaModificata->valore=2;
    }

int main()
{
    //Dichiarazioone della struttura
    struttura numero1;

    //Inizializzazione
    numero1.nome = "uno";
    numero1.valore = 1;

    cout<<"nome del numero : "<<numero1.nome<<endl;
    cout<<"valore del numero : "<<numero1.valore<<endl;

    //Puntatore sulla struttura
    struttura *PuntatoreNumero1 = &numero1;

    //Richiamo della funzione
    raddoppia(PuntatoreNumero1);
    cout<<"scritte dopo funzioni"<<endl;
    cout<<"nome del numero : "<<PuntatoreNumero1->nome<<endl;
    cout<<"valore del numero : "<<PuntatoreNumero1->valore<<endl;


    }
Il problema è che la funzione "raddoppia" volevo metterla in un file separato, ma in questo modo non mi riconosce il puntatore sulla struttura, o meglio la strutttura.
C'è modo di risolvere questo in qualche maniera?

Vi ringrazio anticipatamente!!
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2009, 13:14   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Definisci struttura in un file "struttura.h" e lo includi nel file dove definisci raddoppia e nel main, un'alternativa è la forward declaration.
All'inizio dei file header usi la direttiva del preprocessore:
Codice:
#pragma once
così eviti le doppie inclusioni
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2009, 13:17   #3
Mattiatn
Member
 
Iscritto dal: Jul 2006
Messaggi: 64
ok, grazie mille!!!

scusami se approfitto della tua esperienza, ma poi la funzione la lascio uguale?

ed inoltre, se al suo interno volessi mettere degli array con numero di componenti che ricavo dal programma, è possibile?

Grazie ancora.

Ultima modifica di Mattiatn : 04-05-2009 alle 15:24.
Mattiatn è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
I social network hanno stancato gli ital...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
Draghi scuote l'Europa: 'rischio stagnaz...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v