Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-02-2004, 21:31   #1
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3992
aiuto su codice c++

Ciao
questo codice sotto in c++ non fa altro che
contare i caratteri di una frase.
Dato che è da pochi giorni che mi sono
dedicato a questo linguaggio (e alla programmazione in genere)
vorrei, per piacere, un paio di consigli su:
1) come e cosa devo cambiare e/o aggiungere al codice
per far visualizzare progressivamente il conteggio dei caratteri inseriti di una frase
(cioè: scrivo "c" e un contatore situato magari più sotto o a lato
mi riporta 1; scrivo "a" e il contatore riporta 2 e cosi via (compresi eventuali spazi). Se è possibile
vorrei aggiungere una scritta (e un beep sonoro) che mi avverta quando il numero
dei caratteri ha raggiunto un TOT da me stabilito

2) il codice sotto una volta compilato con il dev c++ si avvia in una console di windows.
Come si fa, invece a creare una finestra windows?
Infine, se non chiedo troppo, potete suggerirmi siti per esercizi e tutorial semplici
sul c++. Ecco il codice:


#include <iostream.h>
main()
{
//inizializzazioni
const char TAPPO='$';
char ch;
int totCaratteri;

cin.unsetf(ios::skipws);

totCaratteri=0;


cout<< endl <<"Introdurre un testo terminato da "<<TAPPO << endl;

// leggi carattere corrente
cin>>ch;

//while (il testo non è finito)
while (ch!=TAPPO)
{
//numero totale di caratteri ++
totCaratteri++;

// leggi carattere corrente
cin>>ch;

}
//if (numero totale di caratteri >0)
if (totCaratteri>0)
{
//stampa i risultati
cout << "il totale dei caratteri: ";
cout << totCaratteri <<endl;
}
else
{
//stampa "Non sono stati introdotti caratteri"
cout <<endl<<"Non sono stati inseriti caratteri"<<endl;
}
system("PAUSE");
return 0;
}
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2004, 18:42   #2
alderighi
Senior Member
 
L'Avatar di alderighi
 
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
Ecco come farei io:
do
{
clrscr();
ch=getch;
if(ch!=tappo)
totCaratteri++;
if(ch=='S'||totcaratteri==5)//esempio di condizione
cout<<"\a";//bip dell'altoparlante
cout<<"Numero caratteri: "<<totcaratteri;
}
while(ch!=TAPPO);
system("PAUSE");
return 0;
}
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T.
alderighi è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2004, 19:02   #3
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
clrscr e getch non sono funzioni standard, attenzione a prendere brutte abitudini con i compialtori Borland
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2004, 11:05   #4
alderighi
Senior Member
 
L'Avatar di alderighi
 
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
si è vero, si prendono delle bruttissime abitudini però mi sembra che quelle due istruzioni funzionino anche sul devc++, inoltre devo dire che il borland è pieno di bug piccoli e grossi quanto una casa anche se è molto semplice.
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T.
alderighi è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2004, 11:17   #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
Quote:
Originariamente inviato da alderighi
si è vero, si prendono delle bruttissime abitudini però mi sembra che quelle due istruzioni funzionino anche sul devc++
Solo getch...ma se vai su Linux o su qualsiasi altro SO diverso da Windows non funziona...

Non è che ti volevo riprendere, ma credo che sia bene metterlo bene in chiaro...sempre meglio non usarle...
Te lo dico perchè anche io ero abituati ad usarle una decina di anni fa

Ultima modifica di cionci : 15-02-2004 alle 11:22.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2004, 17:34   #6
xybercom
Senior Member
 
L'Avatar di xybercom
 
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
0) Ho un po' sistemato il programma per evitare warnings:
Codice:
#include <iostream>

using namespace std;

const char TAPPO='$';

int main()
{
    cout<< "\nIntrodurre un testo terminato da "<<TAPPO << endl;
	cin.unsetf( ios::skipws );
    char ch=' ';
	unsigned int totCaratteri=0;
	//while (il testo non è finito)
	
    while ( ch != TAPPO )
    {
        // leggi carattere corrente
        cin>>ch;
				
		//numero totale di caratteri ++
        totCaratteri++;
		//cout << totCaratteri;
    } 
    
	//if (numero totale di caratteri >0)
    if ( totCaratteri )  // totCaratteri > 0
    {
        //stampa i risultati
        cout << "\nil totale dei caratteri : " << totCaratteri << endl;
    }
    else
    {
        //stampa "Non sono stati introdotti caratteri"
        cout << "\nNon sono stati inseriti caratteri"<< endl;
    }
    	
	//system("PAUSE"); // win only
	
    return 0;
}
1a) i caratteri vengono letti tutti assieme quando si preme enter e non una alla volta (basta togliere il commento alla riga 22 per verificare); forse questo si può evitare con il borland, ma non è certo una bella soluzione...
Il problema (penso) nasca dal fatto che la console passa i caratteri al programma solo quando l'utente ha premuto enter.
Un programma che fa quello che vuoi tu sotto Linux c'è, è showkey di Eric Raymond, usa la libreria termios che non so se è disponibile con Dev.
1b) la else ... con Non sono stati inseriti caratteri non viene mai eseguita, facile da sistemare comunque
3) fare questo in una finestra win non è così semplice, dovresti usare una libreria di widgets come wxWindows o Fltk (o al limite le MFC che ti sconsiglio), guarda nei post in rilievo
__________________
powered by GNU/Linux [ Debian Sid ]

Ultima modifica di xybercom : 15-02-2004 alle 17:42.
xybercom è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2004, 18:37   #7
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3992
ehi grazie!
provo e vi faccio sapere
ciao

gia che ci sono ne approfitto per chiedervi dove posso trovare
tutorial su c++ (in Italiano) e soprattutto sugli array.
(per me che sono all'inizio sono un pò ostici da capire e usare).
Ho provato a cercare qualcosa con google ma niente di
soddisfacente.
Grazie ancora
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2004, 21:32   #8
xybercom
Senior Member
 
L'Avatar di xybercom
 
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
x il C++ di base: http://www.cplusplus.com e in particolare http://www.cplusplus.com/doc/#tutorial
in italiano forse trovi qualcosa su programmazione.it, altrimenti ti segnalo un link interessante http://www.lulli.net/WEB/hack/xximparare-c/ che però riguarda il C
__________________
powered by GNU/Linux [ Debian Sid ]
xybercom è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 18:59   #9
lucas72
Senior Member
 
L'Avatar di lucas72
 
Iscritto dal: Aug 2002
Messaggi: 3992
a proposito del codice sopra
uso l'istruzione "pause" altrimenti la consolle di windows
scompare subito dopo aver dato esegui o cliccato
sul file exe prodotto dal compilatore.
(in merito al codice proposto da
xybercom messaggi di errore non ne ricevo comunque-forse ho capito male! )
un altro problema è che non so come ripetere
tutto il programma.
mi spiego:
una volta portato a termine il compito e dato invio la consolle sparisce e mi ritocca
riavviare il file per far eseguire il conteggio di un'altra frase. Come posso evitare questo fastidio e chiudere il programma solo
su mia istruzione?
grazie ancora
lucas72 è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 21:28   #10
xybercom
Senior Member
 
L'Avatar di xybercom
 
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
Usare la forma #include <header.h> è un modo "deprecato", di solito i compilatori te lo segnalano.
Fai partire il programma da una shell del dos (prompt dei comandi) ed eviti tutti i problemi che hai descritto.
__________________
powered by GNU/Linux [ Debian Sid ]

Ultima modifica di xybercom : 17-02-2004 alle 21:31.
xybercom è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2004, 14:30   #11
alderighi
Senior Member
 
L'Avatar di alderighi
 
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
Se voui fare una cosa un po' seria crei un case switch con un menù, altrimenti alla fine del conteggio chiedi all'utente di premere un tasto (per esempio 0) per uscire e qualsiasi altro per andare avanti, mettendo la condizione di ripetizione dentro un do-while.
Es
do
{
istruzioni varie
char exit;
cout<<"Per uscire digita s o S, per andare avanti un altro tasto qualunque";
cin>>exit;
}
while(exit!='s'&&exit!='S');
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T.
alderighi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Ford: l'elettrico genera una perdita di ...
Ayaneo Next 2: la console portatile Wind...
Il WiFi può vederti senza telecam...
Linux sotto assedio: SSHStalker riporta ...
Stellantis: dopo il crollo di venerd&igr...
Combat Liquid 360 HUD: raffreddamento AI...
Tornano le EVO Sessions della Formula E:...
Moltbook, il social network per AI: i po...
Cina: eseguito il test della navicella M...
Mistral, il rivale europeo di OpenAI, in...
Libri piratati, allarme rosso: 722 milio...
Ayaneo svela quasi tutte le specifiche d...
Sony chiude definitivamente con i regist...
Renault Twingo E-Tech Electric sotto i 2...
Auto elettriche, il freddo non fa pi&ugr...
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: 07:13.


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