Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-01-2005, 16:30   #1
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
[c++]visualizzazione file

Salve a tutti.
Un po per sfizio sto cercando di sviluppare una semplice agenda in c++ che chieda i nomi e le date da tastiera e le scriva su un file.
Fino qua il programa funzione egregiamente...
Poi pero' voglio mostare a schermo anche il contenuto di quale file...e qui iniziano i problemi , non funziona la funzione visualizzazione();.
Vi posto il codice(metto php cosi nono perde l'indentazione):
Codice PHP:
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

void inserimento();     //prototipo delle
void visualizzazione(); //funzioni

FILE *save;

int main(void)
{
save=fopen("save.txt","w+"); //creo il file save.txt
fputs("~Nomi~  ~Date~",save);
char risp[4],risp2[4];
cout<<"Benvenuti in AGENDA V 0.1"<<endl;
cout<<"Si desidera proseguire? (yes or no)";
gets(risp);
if(!
strcmp("yes",risp))
    {
    
inserimento();
    }
cout<<"Desideri vedere il contenuto del file?(yes or no)";
cin>>risp2;
if(!
strcmp("yes",risp2))
    {
    
visualizzazione();
    }
getchar();
}
//Funzione per l'inserimento
void inserimento()
{
const 
int righe=5,lettere=20;
char nome[righe][lettere];
char date[righe][lettere];
int i;
for(
i=0;i<righe;i++)
    {
    
cout<<"Inserire il nome di posto "<<i<<endl;
    
gets(nome[i]);
    
cout<<"Inserire la data di nascita di "<<nome[i]<<endl;
    
gets(date[i]);
    
fputs("\n",save);
    
fputs(nome[i],save);
    
fputs(" ",save);
    
fputs(date[i],save);
    }        
return;
}
//Funzione per la visualizzazione
void visualizzazione()
{
char str[20];
fgets(str,255,save);
cout<<str;
return;

__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2005, 20:29   #2
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
io da programmatore consiglierei di implementare una struttura composta da un campo Nome e da un campo Data
Codice:
typedef struct DatiPersona
{
    char Nome[20];
    char _1;              // Spazio
    char Data[10];    // Rispettando la strutura __/__/____
    char CR;              // Legge il carattere CR
    char LF;               // Legge il carattere LF
} Record;
poi per l'acquisizione puoi fare così
Codice:
fread (&Record,sizeof (DatiPersona),1,save);
per la stampa
Codice:
puts (Record.Nome);
printf (" ");
puts (Record.Data);
printf ("\n");
PS ovviamente buttando giù 2 idee, prova a vedere se il codice funziona
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2005, 20:50   #3
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
decisamente non sono a quel livello...mi potresti dire perchè la funzione visualizzazione non funziona?
Intanto ho modificato il codice...:
Codice PHP:
/****************************** 
**  Creare un'agenda in C++  **
**  Version 0.2              **
*******************************/

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

void inserimento();     //prototipo delle
void visualizzazione(); //funzioni

FILE *save;

int main(void)
{
system("/bin/sh -c clear");  
save=fopen("save.txt","w+"); //creo il file save.txt
fputs("~Nomi~ | ~Date~",save);
int risp;
char risp2[4];
cout<<"Benvenuti in AGENDA V 0.2"<<endl;
do
{
cout<<"[1]-Inserire nomi e date nel file"<<endl;
cout<<"[2]-Visualizzare il contenuto del file"<<endl;
cin>>risp;
}while(
risp<&& risp>2);
switch(
risp)
    {
    case 
1:{inserimento();}break;
    case 
2:{visualizzazione();}break;
    };
getchar();
}

//Funzione per l'inserimento
void inserimento()
{
const 
int righe=5,lettere=20;
char nome[righe][lettere];
char date[righe][lettere];
int nomi,i;

do
{
cout<<"Quanti nomi vuoi inserire? ";
cin>>nomi;
}while(
nomi>4);

for(
i=0;i<nomi;i++) //non mi fa inserire il nome di posto 0!! perchè??
    
{
    
cout<<"Inserire il nome di posto "<<i;
    
gets(nome[i]);
    
cout<<"Inserire la data di nascita di "<<nome[i]<<endl;
    
gets(date[i]);
    
fputs("\n",save);
    
fputs(nome[i],save);
    
fputs(" ",save);
    
fputs(date[i],save);
    }        
return;
}

//Funzione per la visualizzazione
void visualizzazione() //questa non va
{
char str[30];
fgets(str,255,save);
cout<<str;
return;

__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 06:21   #4
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
up
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 07:41   #5
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Cosa vuol dire non funziona? Si blocca? Non scrive niente?
Forse è perchè devi dichiarare più grande la stringa, del tipo char str[255]; In più, fgets ti mostrerà solo la prima riga del file, quindi dovresti porre così la funzione:

Codice:
void Visualizzazione()
{
    while(!feof(save))
    {
         char str[255];
         fgets(str,255,save);
         cout<<str;
    }
}
Infine, non hai bisogno di un return alla fine della funzione void.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 13:27   #6
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
Ti ringrazio..pero' ho un altro problema nella funzione iserimento();

Codice PHP:
void inserimento()
{
const 
int righe=5,lettere=20;
char nome[righe][lettere];
char date[righe][lettere];
int nomi,i;

do
{
cout<<"Quanti nomi vuoi inserire? ";
cin>>nomi;
}while(
nomi>4);

for(
i=0;i<nomi;i++) //non mi fa inserire il nome di posto 0!! perchè??
    
{
    
cout<<"Inserire il nome di posto "<<i;
    
gets(nome[i]);
    
cout<<"Inserire la data di nascita di "<<nome[i]<<endl;
    
gets(date[i]);
    
fputs("\n",save);
    
fputs(nome[i],save);
    
fputs(" ",save);
    
fputs(date[i],save);
    }        
return;

Come da commento non mi fa inserire il nome di posto 0! Perchè
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 15:17   #7
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Prova a partire da -1...
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 17:11   #8
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
Niente da fare....neanche se parto da 1 e neanche da -1 funziona
Vorrei proprio capire perchè.....tra l'altro ho portato il programma su una macchina windows e funziona -__________________________-
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 18:33   #9
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
prova a passarlo con gdb o un altro debugger e guarda che cosa fa.

ciao!
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 18:40   #10
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
Quote:
Originariamente inviato da NA01
prova a passarlo con gdb o un altro debugger e guarda che cosa fa.

ciao!
Ottima idea! nn ci avevo pensato...
Grazie ora provo


EDIT: ma come si usa? Io da shell faccio $ gdb a.out
ed ecco l'output:
Codice:
GNU gdb 6.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb)
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX

Ultima modifica di -Yara- : 27-01-2005 alle 18:45.
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 18:44   #11
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
fammi sapere cosa era!!!
l'ultima votla che ho passato la mia giornata davanti a un debugger mi sono accorto alla fine che in fooooooooooooooooooooooondo al programma più lungo che avessi mai scritto c'era una uguale in meno del previsto
molto più divertente la volta che un banale i++ faceva passare il mio long int da 127 a -127 non ho mai capito il perchè
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 19:15   #12
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
Ho editato sopra
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 22:25   #13
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
mmmmh se non lo hai mai usato usa ddd (è un front end).
imposti il break alla linea che vuoi con il pulsante e poi vai di step.
con il mouse vedi il valore delle variabili (ci passi sopra)

ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
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: 11:53.


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