Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-01-2005, 17: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, 21: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, 21: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, 07: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, 08: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, 14: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, 16: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, 18: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, 19: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, 19: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 19:45.
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2005, 19: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, 20: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, 23: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


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Lian Li si è inventata il primo a...
Amazon in raptus sconti: ogni 24 ore nov...
44 idee regalo sotto i 50€: con le offer...
Super Sconti Amazon Haul: ribassi fino a...
Cloudflare ha bloccato 416 miliardi di r...
Prezzo mai visto: POCO F7 12/256GB in su...
Svuotano tutto: super sconto su due scop...
Warner-Netflix, l'accordo riaccende le s...
6 robot al prezzo del Black Friday e non...
Russia, i cani randagi diventano hotspot...
Ogni giorno sconti nuovi: oggi iPhone 17...
Non solo Mac: anche alcuni futuri iPhone...
La costruzione del telescopio spaziale N...
HBO ha cancellato la produzione della se...
OpenAI ha pensato a una partnership (o a...
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: 10:50.


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