Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-12-2007, 16:22   #1
marco.inblu
Member
 
Iscritto dal: Dec 2007
Messaggi: 47
[c++] primo scoglio con la programmazione

Salve a tutti del forum.
Sono alle prime armi con la programmazione in c++ e mi sono ritrovato dfronte a "problemi" che non riesco a superare.
Venamo al dunque:
ho scritto un piccolo progetto in ambiante Windows 2000 con Dev-Cpp composto da tre file:

[main.cpp]
#include <iostream>
#include "time.h"

using namespace std;

int main(int argc, char *argv[])
{
Time t; // instantiate object t of class time
cout << "The initial military time is ";
t.printMilitary();
cout << "\nThe initial standard time is ";
t.printStandard();
t.setTime( 13, 27, 6 );
cout << "\n\nMilitary time after setTime is ";

system("PAUSE");
return EXIT_SUCCESS;
}




[time.h]
class Time {
public:
Time(); // constructor
void setTime( int, int, int ); // set hour, minute, second
void printMilitary(); // print military time format
void printStandard(); // print standard time format
private:
int hour; // 0 - 23
int minute; // 0 - 59
int second; // 0 - 59
};



[time.cpp]
#include <iostream>
#include "time.h"

// Time constructor initializes each data member to zero.
// Ensures all Time objects start in a consistent state.
Time::Time()
{
hour = minute = second = 0;
}

void Time::setTime( int h, int m, int s )
{
hour = ( h >= 0 && h < 24 ) ? h : 0;
minute = ( m >= 0 && m < 60 ) ? m : 0;
second = ( s >= 0 && s < 60 ) ? s : 0;
}

// Print Time in military format
void Time:rintMilitary()
{
cout << ( hour < 10 ? "0" : "" ) << hour;
cout << ":" << ( minute < 10 ? "0" : "" );
cout << minute;
}

// Print time in standard format
void Time:rintStandard()
{
cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 );
cout << ":" << ( minute < 10 ? "0" : "" ) << minute;
cout << ":" << ( second < 10 ? "0" : "" ) << second;
cout << ( hour < 12 ? " AM" : " PM" );
}


Adesso vado a compilare e mi viene segnalato questo errore:
In member function `void Time:rintMilitary()': `cout' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)

In member function `void Time:rintStandard()': `cout' undeclared (first use this function)
[Build Error] [time.o] Error 1


NB: se inserisco in un'unico file tutto il progetto il compilatore non mi da nessun errore e crea l'eseguibile.

COme posso risolvere il problema??

Grazie mille

Ultima modifica di marco.inblu : 13-12-2007 alle 16:25.
marco.inblu è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2007, 16:32   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Ti manca il namespace. In time.cpp includi:
Codice:
using namespace std;
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2007, 16:37   #3
marco.inblu
Member
 
Iscritto dal: Dec 2007
Messaggi: 47
Cavolo!!!
Funziona!!!

Ti ringrazio per la prontezza con cui mi hai risposto.
Era già un pò che ci sbattevo la testa.

GRAZIE MILLE.

....

Vorrei approfondire questa cosa: perchè mettere questa stringa?

using namespace std;

A cosa serve?

Ciao e ancora grazie
marco.inblu è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2007, 19:50   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da marco.inblu Guarda i messaggi
Vorrei approfondire questa cosa: perchè mettere questa stringa?

using namespace std;

A cosa serve?

Ciao e ancora grazie
Se fai questa domanda forse ti servirebbe una lettura di un buon libro sul C++

Comunque, in C++ esistono i namespace che sono dei "contenitori" il cui scopo principale è evitare conflitti nei nomi di classi e funzioni.

Tutta la libreria standard è racchiusa nel namespace std. Senza la specifica using tutte le volte che richiami una classe della libreria devi preporre al nome std::
nel tuo caso avresti dovuto scrivere tutte le volte std::cout.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
ASUS ROG Raikiri II Pro PC: controller d...
SteelSeries Aeon Pro: il primo controlle...
Il suo laptop lo stava 'cuocendo': bambi...
Motorola è pronta a seguire Samsung e Ap...
Cinque ricercatori hanno usato Claude su...
I nuovi Galaxy Z Fold 8 conquistano gli ...
d-Matrix sceglie NVIDIA NVLink Fusion pe...
BenQ MA270S o Apple Studio Display? Entr...
Apple Watch Series 12 e Ultra 4 su Amazo...
Apple AirPods 5 disponibili su Amazon a ...
Bending Spoons colpisce ancora: acquisit...
Il Tesla Cybercab non ha il volante ma p...
AMD aggiorna ancora AM4 e AM5: arrivano ...
Un graffio è sufficiente a far de...
Airbus realizzerà altri 229 satel...
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: 09:12.


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