Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-01-2004, 16:21   #1
xegros
Senior Member
 
L'Avatar di xegros
 
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
Suggerimento C++

Codice:
#include <iostream.h>
using namespace std;

int main()
{
 int liters, gallons;


 cout<<"inserisci il numero dei galloni: ";
 cin>>gallons;
 cin.get();

 liters = gallons * 4;

 cout<<"Liters: "<<liters;
 cin.get();

 return 0;
}
Facendo cosi, sono costretto scrivere cin.get() 2 volte, non c'è un'alternativa.
Magari posizionarlo in qualche posizione strategica. altrimenti non posso "leggere" il programma.
__________________
"The pure and simple truth
is rarely pure and never simple"
xegros è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 18:52   #2
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
L'output di cout e bufferizzato, se vuoi vedere il risultato devi chiamare una flush() sul canale o in alternativa, spedisci un endl che oltre a andaer a capo fa il "flush" automaticamente.
Una cin.get() funziona perche' i due canali sono collegati e una chiamata a cin fa svuotare automaticamente il cout.
Sempreche' non ci sia di mezzo anche un compilatore vecchio e imperfetto (*cough*VC6*cough*) ad aggiungere bugs.
[code]
#include <iostream> // Niente .h !!!
using namespace std;

int main()
{
int liters, gallons;


cout<<"inserisci il numero dei galloni: ";
cout.flush();
cin>>gallons;

liters = gallons * 4;

cout<<"Liters: "<<liters;
cout.flush();
return 0;
}
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 19:21   #3
xegros
Senior Member
 
L'Avatar di xegros
 
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
ma se metto #include <stdlib>, potrei anche fare a meno di inserire namespace std? dato che la libreria in questione include anche quest'ultimo elemento?.

inoltre dato che siamo in tema, a che serve il comando void
e quando c'èè bisogno di usarlo.
(senza usare termini fantascientifici).
__________________
"The pure and simple truth
is rarely pure and never simple"
xegros è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 19:57   #4
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
No, il namespace std e l'intestazione stdlib non sono affatto correlate.
stdlib si riferisce alla libreria standard del C, mentre il namespace std e' una cosa relativa solo al C++.

Il significato del void dipende un po' dal contesto, ma sostanzialmente e' una parola chiave che vuol dire che "non c'e' un tipo".
Ad esempio quando dichiaro una funzione che non ritorna valori, scrivo qualcosa di simile al seguente:

Codice:
void foo(int c);
(potrebbe sembrare piu' ragionevole evitare del tutto di indicare il tipo di ritorno, ma storicamente nel C una funzione dichiarata senza tipo di ritorno era una funzione che ritornava un intero)

In alternativa potresti trovare una dichiarazione di funzione C del tipo
Codice:
int foo(void);
che e' un modo per indicare che la funzione non ha parametri. Nel C++ la dichiari semplicemente
Codice:
int foo();
Infine puoi trovare un "puntatore a void", che indica che stai trattando memoria grezza, non riferita ad un tipo particolare. L'esempio classico e' la funzione C malloc che alloca la memoria richiesta e ritorna un puntatore ad una zona di memoria non inizializzata.

spero di averti chiarito le idee
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 20:38   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Se non sbaglio le librerie C senza il ".h" sono equivalenti alle altre, ma importate nel namespace std...
Quindi #include <stdlib.h> diventa:

#include <cstdlib>
using namespace std;

sempre che si voglia avere visibili tutte le funzioni di stdlib...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 22:09   #6
xegros
Senior Member
 
L'Avatar di xegros
 
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
Potreste dirmi, che cos'è che non va nel mio codice.
Parte (0 errori), ma al posto dei caratteri "finali"(cioè quelli che dovrebbe rilevare dalla tastiera) visualizza le "p". e " "(il vuoto)

Codice:
#include <iostream.h>
#include <stdio.h>

int main()
{

char carattere;
char numero;

printf("inserisci un carattere, e poi premi INVIO: ");
scanf("%c",& carattere);
printf("inserisci un numero: ");
scanf("%d",&numero);
printf("il carattere da te digitato è :%c\n",carattere);
printf("il numero da te inserito è : %d\n",numero);
cin.get();
cin.get();

return 0;
}
__________________
"The pure and simple truth
is rarely pure and never simple"
xegros è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2004, 22:39   #7
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Che compilatore stai usando?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 08:23   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Però stai usando cin solo per la get()...usalo anche per l'input...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 14:15   #9
xegros
Senior Member
 
L'Avatar di xegros
 
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
uso Devcpp4

ho provato anche con cin e cout, ma è risulatato ancora peggio.
in pratica, immetto il carattere e il numero, e quando schiaccio INVIO, miappare solo il numero (senza i 2 cout, e il carattere) spostato un pò a destra.
__________________
"The pure and simple truth
is rarely pure and never simple"
xegros è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 14:15   #10
xegros
Senior Member
 
L'Avatar di xegros
 
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
ma a che serve mettere int davanti a main. Tanto, quest'ultimo non è mica un numero. Illuminatemi.
__________________
"The pure and simple truth
is rarely pure and never simple"
xegros è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 22:13   #11
pinzi
Member
 
L'Avatar di pinzi
 
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
è solo una questione stilistica. In pratica tu potresti usare anche void main ma il compilatore ti direbbe che questa scrittura non è molto elegante. Invece è preferita la notazione con int main e return 0 (in pratica la funzione main da sempre in uscita il numero zero che è il codice di una funzione che è stata eseguita correttamente).
pinzi è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 22:28   #12
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originariamente inviato da xegros
ma a che serve mettere int davanti a main. Tanto, quest'ultimo non è mica un numero. Illuminatemi.
In realta' lo standard ora prevede che il main debba ritornare un intero (che e' poi il valore di ritorno dell'eseguibile), mentre una volta era facoltativo. Come caso particolare se non viene specificato un return viene ritornato 0, ma non ne sono sicuro, fai una prova.
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 22:34   #13
xybercom
Senior Member
 
L'Avatar di xybercom
 
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
La notazione penso sia presa da Unix, se un programma viene eseguito senza errori dà il valore 0 alla shell, un valore diverso da 0 indica un errore.

il programma funziona (con g++ sotto linux) ma devi dichiarare numero come un int oppure cambiare il parametro di formato (d si riferisce a un intero). Così come l'hai scritto tu invece mi dà problemi.
In ogni caso stai mischiando funzioni di input di C e di C++ , il che non è sensato penso.
__________________
powered by GNU/Linux [ Debian Sid ]
xybercom è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2004, 22:42   #14
xybercom
Senior Member
 
L'Avatar di xybercom
 
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
La versione C++ "sistemata" (e a prova di warning :-) ) sarebbe :

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
char carattere;
int numero;

cout << "\ninserisci un carattere, e poi premi INVIO: ";
cout.flush();
cin >> carattere;

cout << "\ninserisci un numero: ";
cout.flush();
cin >> numero;

cout << "\nil carattere da te digitato e' : " << carattere;

cout << "\nil numero da te inserito e' : " << numero << endl;

return 0;
}
__________________
powered by GNU/Linux [ Debian Sid ]
xybercom è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2004, 19:23   #15
xegros
Senior Member
 
L'Avatar di xegros
 
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
vi ringrazio delle risposte che mi avete saputo dare.

p.s. a cosa serve "endl" (end line)?
__________________
"The pure and simple truth
is rarely pure and never simple"
xegros è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2004, 19:47   #16
xybercom
Senior Member
 
L'Avatar di xybercom
 
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
endl =>
Quote:
Originariamente inviato da /\/\@®¢Ø
L'output di cout è bufferizzato, se vuoi vedere il risultato devi chiamare una flush() sul canale o in alternativa, spedisci un endl che oltre a andare a capo fa il "flush" automaticamente.
__________________
powered by GNU/Linux [ Debian Sid ]
xybercom è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Le tute spaziali AxEMU di Axiom Space pe...
Dongfeng sfida la NATO: navi dalla Cina ...
5G Standalone per il mondo marittimo: Er...
Nova Lake-S: configurazioni fino a 52 co...
Baxi presenta la pompa di calore Alya E ...
PC ASUS e Acer vietati in Germania: il t...
Stellantis rilancia il diesel in Europa:...
Truffa per utenti Trezor e Ledger: lette...
Wi-Fi 7 conveniente: FRITZ! lancia 4630,...
La Formula 1 dei robot tagliaerba miglio...
Il nuovo gioco del creatore di God of Wa...
Grok arriva sulle Tesla in Europa: l'int...
Assassin's Creed IV: Black Flag Remake p...
Il padre di God of War attacca Sons...
È operativo il primo computer qua...
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: 01:03.


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