Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Nel Formula 1 Technology and Media Centre di Biggin Hill, la velocità delle monoposto si trasforma in dati, immagini e decisioni in tempo reale grazie all’infrastruttura Lenovo che gestisce centinaia di terabyte ogni weekend di gara e collega 820 milioni di spettatori nel mondo
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
Il nuovo gimbal mobile DJI evolve il concetto di tracciamento automatico con tre modalità diverse, un modulo multifunzionale con illuminazione integrata e controlli gestuali avanzati. Nel gimbal è anche presente un'asta telescopica da 215 mm con treppiede integrato, per un prodotto completo per content creator di ogni livello
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce
Abbiamo provato il nuovo HUAWEI Pura 80 Pro. Parliamo di uno smartphone che è un vero capolavoro di fotografia mobile, grazie ad un comparto completo in tutto e per tutto, In questa colorazione ci è piaciuto molto, ma i limiti hardware e software, seppur in netto miglioramento, ci sono ancora. Ma HUAWEI ha fatto davvero passi da gigante per questa nuova serie Pura 80. Buona anche l'autonomia e soprattutto la ricarica rapida sia cablata che wireless, velocissima.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-11-2010, 13:02   #1
Sbrocca88
Member
 
Iscritto dal: Nov 2010
Messaggi: 30
[C++] Come attaccare più stringhe sullo stesso file

Ciao a tutti
Vorrei realizzare un programma di questo tipo.
All'inizio immetto il mio nome, cognome e la mia data di nascita. Questi vengono salvati in un file.txt
La volta dopo, vorrei che:
se io digito il mio nome cognome e data di nascita, il mio programma mi dica: utente già registrato.
Altrimenti se digito ad esempio
Immettere nome e cognome
pippo
Immettere data di nascita 25071975

vorrei che il programma andasse ad attaccare in coda il mio file anche i dati
pippo 25071975.
Mi sono spiegato?!
Ecco il mio codice.
un saluto a tutti
Codice:
#include<iostream>
#include<ctype.h> //necessaria per l'utilizzo di tolower()
#include <fstream>
#include<cstring>
#include<stdlib.h>
#define MAX 20
#define data 8
#define lung 100
using namespace std;
int main()
{
char nome_cognome[MAX];
int data_nascita,i=0;
char file_nome[lung];
int file_data;
cout << "Immetti nome e cognome" << endl;
cin.getline(nome_cognome,MAX);
cout << "Immetti data di nascita" << endl;
cin>>data_nascita;
ofstream fout("DATABASE.txt");
ifstream fin ("DATABASE.txt");
while(fin.good())
                  {
                  fin>>file_nome;
                  fin>>file_data;
                  if(strcmp(nome_cognome,file_nome)==0)
                                                  {
                                                  cout << "Utente già registrato" << endl;
                                                  }
                  else
                      {
                      ofstream fout("DATABASE.txt", ios::app);
                      for (int i=0; i<strlen(nome_cognome); i++)
                          {
                          fout << nome_cognome[i];
                          }
                      fout << '\t';
                      for (int i=0; i<1; i++)
                          {
                          fout << data_nascita;
                          }
                      fout << endl;
                      }
                  }
fout.close();
system ("PAUSE");
return 0;
}
Sbrocca88 è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2010, 14:00   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Sbrocca88 Guarda i messaggi
Ciao a tutti
Vorrei realizzare un programma di questo tipo.
All'inizio immetto il mio nome, cognome e la mia data di nascita. Questi vengono salvati in un file.txt
La volta dopo, vorrei che:
se io digito il mio nome cognome e data di nascita, il mio programma mi dica: utente già registrato.
Altrimenti se digito ad esempio
Immettere nome e cognome
pippo
Immettere data di nascita 25071975

vorrei che il programma andasse ad attaccare in coda il mio file anche i dati
pippo 25071975.
Mi sono spiegato?!
Ecco il mio codice.
un saluto a tutti
Codice:
#include<iostream>
#include<ctype.h> //necessaria per l'utilizzo di tolower()
#include <fstream>
#include<cstring>
#include<stdlib.h>
#define MAX 20
#define data 8
#define lung 100
using namespace std;
int main()
{
char nome_cognome[MAX];
int data_nascita,i=0;
char file_nome[lung];
int file_data;
cout << "Immetti nome e cognome" << endl;
cin.getline(nome_cognome,MAX);
cout << "Immetti data di nascita" << endl;
cin>>data_nascita;
ofstream fout("DATABASE.txt");
ifstream fin ("DATABASE.txt");
while(fin.good())
                  {
                  fin>>file_nome;
                  fin>>file_data;
                  if(strcmp(nome_cognome,file_nome)==0)
                                                  {
                                                  cout << "Utente già registrato" << endl;
                                                  }
                  else
                      {
                      ofstream fout("DATABASE.txt", ios::app);
                      for (int i=0; i<strlen(nome_cognome); i++)
                          {
                          fout << nome_cognome[i];
                          }
                      fout << '\t';
                      for (int i=0; i<1; i++)
                          {
                          fout << data_nascita;
                          }
                      fout << endl;
                      }
                  }
fout.close();
system ("PAUSE");
return 0;
}
Ti conviene modularizzare meglio il tuo programma, infatti nel caso tu abbia già inserito qualche record, strcmp (perchè mai non usi string?) fallisce e quindi reinseriresti un record magari già presente.
Prima dovresti eseguire una ricerca esaustiva su tutti i record precedentemente inseriti e poi se non lo trovi lo inserisci.

Inoltre non vedo perchè dichiarare 2 volte fout, la prima dichiarazione non serve ed è solo nociva potrebbe bloccare il file.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
Microsoft e tecnologia immorale: i dipen...
Come stanno andando Fastweb e Vodafone d...
Huawei presenta i nuovi eKit: soluzioni ...
Rockstar spiega i licenziamenti degli sv...
Il "concert phone" definitivo ...
Nintendo punta sul cinema: dopo Mario, a...
Insta360 X4 Air in prova: registra a 360...
PlayStation Portal: arriva lo Streaming ...
iPad Air 13'' (M2) in offerta: sconto di...
Schiaffo al copyright: utilizzare materi...
realme GT 8 Pro porta le fotocamere inte...
JBL Clip 5 a soli 39€ su Amazon: lo spea...
Apple pronta a pagare 1 miliardo l'anno ...
Apple non dimentica gli iPhone più...
Nintendo si prepara a dare il benservito...
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: 13:37.


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