devo creare un programma dove l'utente scriva per esempio "a" e lo salvi e lo richiami cliccando qualcosa.
qualcuno gentilmente mi potrebbe postare qualcosa di simile per studiarlo.
devo creare un programma dove l'utente scriva per esempio "a" e lo salvi e lo richiami cliccando qualcosa.
qualcuno gentilmente mi potrebbe postare qualcosa di simile per studiarlo.
E SE TUTTO FOSSE SOLO UN RIFLESSO?
So che l'hai chiesto in C++
ma questo codice funziona lo stesso :P
Se qualcosa non ti è chiaro posta purecodice:#include <stdio.h> #include <iostream> #include <string.h> using namespace std; void save(); void load(); struct casa{ int num; char indirizzo[40]; }; int main(){ save(); load(); system("PAUSE"); } void save(){ struct casa c; c.num = 23; strcpy(c.indirizzo,"Via Trionfale"); FILE *f; f = fopen("indirizzo.txt","w"); //"w" specifica che il file è aperto in scittura fwrite(&c, sizeof(c),1, f); fclose(f); } void load(){ struct casa c; FILE *f; f = fopen("indirizzo.txt","r"); //"r" == file apperto in lettura fread(&c, sizeof(c),1, f); fclose(f); cout << "Abiti in: " << c.indirizzo << " n." << c.num << "\n\n"; }
[edit]
Molti programmatori ritengono che non sia una buona cosa fare "fwrite" e "fread" di un intero struct, così perdi la portabilità ad altri OS del file creato.
Essendo questo codice a scopo educativo non mi sono fatto problemi
implicit declaration of function `int system(...)'
mi da questo errore perchè?
E SE TUTTO FOSSE SOLO UN RIFLESSO?
Originariamente inviato da apatico
implicit declaration of function `int system(...)'
mi da questo errore perchè?codice:#include <stdlib.h>
Vinum dolce gloriosum
pingue facit et carnosum
Vinum forte,vinum purum
reddit hominem securum
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
void save();
void load();
struct casa{
int num;
char indirizzo[40];
};
int main(){
save();
load();
system("PAUSE");
}
void save(){
struct casa c;
c.num = 23;
strcpy(c.indirizzo,"Via Trionfale");
FILE *f;
f = fopen("indirizzo.txt","w"); //"w" specifica che il file è aperto in scittura
fwrite(&c, sizeof(c),1, f);
fclose(f);
}
void load(){
struct casa c;
FILE *f;
f = fopen("indirizzo.txt","r"); //"r" == file apperto in lettura
fread(&c, sizeof(c),1, f);
fclose(f);
cout << "Abiti in: " << c.indirizzo << " n." << c.num << "\n\n";
}
mi da 8 errori,dice anche che ci sono alcuni file non dichiarati
E SE TUTTO FOSSE SOLO UN RIFLESSO?
il programma adesso funziona però non è esattamente quello che cercavo.(ma questo che mi avete postato è qualcosa che vale la pena di studiare).
io volevo che fosse l'utentre a scrivere dove abitava memorizzarlo e premendo un certo tasto vedere tutto quello che aveva memorizzato.............
vorrei postato qualcosa così........................................
E SE TUTTO FOSSE SOLO UN RIFLESSO?
Basta sostituire questo pezzo di codice:
con qualcosa che legge l'input dall'user (es. cin)codice:c.num = 23; strcpy(c.indirizzo,"Via Trionfale");
Cmq sia ti consiglio di comprare un libro sulla programmazione C\C++; ci troverai molti esempi utili e sicuramente delle spiegazioni + eusaurienti delle mie
ho cercato di buttare giù qualcosa ma è troppo poco:
codice:#include <stdlib.h> #include <iostream> #include <string.h> #include <stdio.h> using namespace std; void save(); void load(); struct casa{ int num; char indirizzo[40]; }; int main(){ save(); load(); system("PAUSE"); } void save() { //il problema è che qui non so cosa metterci per realizzarlo } void load() { //stessa cosa }
se qualcuno riempisse di codice al posto dei miei commenti..............
E SE TUTTO FOSSE SOLO UN RIFLESSO?
devi creare delle variabili da passare alla funzione, variabile il cui valore viene inserito dall'utente da linea di comando..Originariamente inviato da apatico
io volevo che fosse l'utentre a scrivere dove abitava memorizzarlo e premendo un certo tasto vedere tutto quello che aveva memorizzato.............
usa i file per fare questo.
ti posto un programma che feci all'epoca in cui dovevo fare l'esame di programmazione, dove inserisco da tastiera il vettore in un file e poi vado a leggere il file
#include <iostream.h>
#include <stdlib.h>
#include <fstream.h>
const int nmax = 50;
typedef int vettore[nmax];
void leggi_vettore (vettore& , int&);
void salva_vettore (const vettore& , const int);
void leggi_da_File (vettore& , int&);
void stampa_vettore (const vettore& , const int);
int main()
{
vettore v1 , v2;
int dim1 , dim2;
leggi_vettore ( v1 , dim1 );
salva_vettore ( v1 , dim1 );
cout << "Lettura vettore da file.\n\n";
leggi_da_File ( v2 , dim2 );
stampa_vettore ( v2 , dim2 );
cout << "Vettore inserito da tastiera.\n\n";
stampa_vettore ( v1 , dim1 );
system("PAUSE");
return 0;
}
void leggi_vettore (vettore& a , int& s)
{
do {
cout << "Scegliere la dimensione del vettore ( max "<<nmax<<" elementi) : ";
cin >> s;
cout << endl;
if ( s==0 || s > nmax) cout << "Numero di elementi non accettato!Riprova...\n\n";
} while ( s==0 || s>nmax ) ;
for ( int i=0; i<s ; i++) {
cout << "Elemento " << i+1 << " : ";
cin >> a[i];
cout << endl;
}
}
void salva_vettore (const vettore& a , const int size)
{
cout << "Salvataggio in corso...\n\n";
ofstream out ("vettore.txt");
for (int i=0 ; i<size ; i++) out << a[i] << " ";
system("PAUSE");
cout << "\n\nSalvataggio effettuato con successo!!!\n\n";
out.close();
}
void leggi_da_File (vettore& a, int& size)
{
size = 0;
ifstream in ("vettore.txt");
if(in) {
while( in >> a[size]) size++ ;
}
in.close();
}
void stampa_vettore (const vettore& a, const int size)
{
for (int i=0 ; i<size ; i++) cout << a[i] << " ";
cout << endl << endl;
}
per la scelta devi creare un menu di questo tipo:
Spero di aver capito il tuo problema e di averti aiutato!!
do {
stampaMenu();
cin >> c;
cin.ignore();
switch (c) {
case '1':
//funzione1;
break;
case '2':
//funzione2;
break;
case '3':
break;
default:
cout << "Scelta non valida.\n";
break;
}
} while (c != '3');
return 0;
}
void stampaMenu() {
cout << endl;
cout << "1. Funzione1" << endl;
cout << "2. Funzione2" << endl;
cout << "3. Esci" << endl;
cout << endl;
cout << "Scelta: ";
}
Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)