|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
[C]aiutate un niubbo
Salve a tutti. E' il mio primo messaggio in questo forum e spero di disturbarvi il meno possibile riguardo i miei problemi. Sono proprio all'inizio e mi servirebbe qualche consiglio da voi esperti.
Il problema è questo: Devo fare una semplice applicazione in C che faccia in modo che quando si inserisce un numero (ad es. 12345), venga memorizzato in un file di testo l'ora e la data in cui questo numero è stato memorizzato. In più, se questo numero viene digitato due volte in un determinato arco di tempo (ad es. 24h), la seconda volta dovrebbe essere memorizzato in un file di testo a parte. Io sono arrivato soltanto a pensare come far inserire il numero: Codice:
#include <stdio.h>
int a;
int main()
{
printf("\nInserire il numero", a);
scanf("%d", &a);
return 0;
}
Mi dareste una mano? |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Scusatemi se pongo anche un'altra domanda:
Si potrebbe fare anche in visual basic questa cosa? In caso affermativo, come potrei cominciare visto che anche questo linguaggio lo consoco pochissimo? |
|
|
|
|
|
#3 |
|
Registered User
Iscritto dal: Dec 2001
Messaggi: 890
|
lanciando il visual basic!
(sembra una cazzata ma ti assicuro che il vb e' talmente semplice - all'inizio - che per cominciare a buttare giu' qualcosa basta veramente lanciarlo!) |
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Quote:
In verità non l'ho ancora acquistato perchè in molti (ed ho avuto anche conferma leggendo dei post su questo forum) mi hanno suggerito di non dedicarmi troppo ad imparare un linguaggio che poi risulti utile solo per un ambiente (windows) ma di imparare linguaggi che possano essere adatti anche per altri sistemi operativi come unix o linux. A tal proposito mi hanno suggerito c++ e java, ma, dato che ho visto che su questa sezione del forum ci sono già molte altre discussioni in merito, non entro nel merito per non finire OT. |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
cercando su internet, forse mi spiego meglio se dico che quest'applicazione, dovrebbe assomigliare un pò alla creazione di un file LOG.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sai lavorare sui file ?
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Quote:
Ma sto dando uno sguardo al link che gentilmente mi hai segnalato, solo che non ci sto capendo molto, ma ci sto provando Potresti farmi un esempio a livello di codice in modo che possa seguire meglio le guide che hai indicato? Grazie mille!! |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
C'è scritto in alto "An example"
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Prima di imparare a programmare devo necessariamente imparare a leggere! Non l'avevo visto l'esempio. Grazie!
Però ho un piccolo problema, uso un editor che si chiama dev-C++ e mi ha compilato l'esempio senza errori, però, quando lancio l'applicazione, mi appare per un secondo una schermata tipo prompt e subito scompare! Sicuramente sbaglio qualcosa...ma cosa? Scusami se ti faccio perdere tempo! |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Metti in fondo al programma questa riga:
system("Pause"); e includi stdlib in alto... Altrimenti usa questo IDE che IMHO è migliore: http://www.simtel.net/product.php?id...eID=simtel.net http://www.parinya.ca/ è il sito originale... |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Grazie mille!
Ora, il codice che viene fuori è questo: Codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ifilename[] = "h:/prova.txt";
char ofilename[] = "h:/prova.txt";
char name[30];
int idNum;
FILE *ofp, *ifp;
/* Open file for input */
ifp = fopen(ifilename,"r");
/* Read data */
fscanf(ifp,"%s %d",name,&idNum);
/* Open file for output */
ofp = fopen(ofilename,"w");
/* Write out data */
fprintf(ofp,"%d %s\n",idNum, name);
/* Close Files */
fclose(ifp);
fclose(ofp);
return 0;
system("Pause");
}
Non ho modo comunque di inserire nulla. Es.: dovrei fare in modo che se lancio "prova" mi chieda :"inserisci il numero"(12345 per esempio) una volta inserito il numero, dovrebbe salvarmelo in "prova.txt" in modo che io possa leggere: "12345 , 13/02/2004 , 12.43" E' una cosa complessa da fare secondo te o ci posso arrivare anche io? |
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Ho già fatto un primo piccolo passo, e cioè ho capito che se alla funzione fopen setto il metodo a+, mi scrive i dati sullo stesso file senza sovrascriverli, cioè, li scrive di seguito.
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non avevi fatto prima il programma che ti chiedeva un numero ? Combinali insieme...
|
|
|
|
|
|
#15 | |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
Quote:
Ora provo a "miscelare" i due codici. Non so come ringraziarti per i sufferimenti che mi stai dando!! |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quando sei riuscito a miscelarli (la frptinf si usa come la printf)
|
|
|
|
|
|
#17 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
con questo codice:
Codice:
#include <stdio.h>
#include <stdlib.h>
int a;
int main()
{
char ifilename[] = "c:/prova.txt";
char ofilename[] = "c:/prova.txt";
char name[30];
int idNum;
FILE *ofp, *ifp;
printf("\nInserire il numero: ", a);
scanf("%d", &a);
/* Open file for input */
ifp = fopen(ifilename,"r");
/* Read data */
fscanf(ifp,"%s %d %d",name,&idNum,&a);
/* Open file for output */
ofp = fopen(ofilename,"a+");
/* Write out data */
fprintf(ofp,"%d %d %s\n",idNum, name, a);
/* Close Files */
fclose(ifp);
fclose(ofp);
return 0;
system("Pause");
}
Codice:
2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293728 2293544 ÿÿÿÿ´ðcyÈŽby |
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
ho modificato così:
Codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ifilename[] = "c:/prova.txt";
char ofilename[] = "c:/prova.txt";
int idNum;
FILE *ofp, *ifp;
/* Open file for input */
ifp = fopen(ifilename,"r");
/* Read data */
fprintf(ifp,"inserisci il numero %d", idNum);
fscanf(ifp,"%d", &idNum);
/* Open file for output */
ofp = fopen(ofilename,"a+");
/* Write out data */
fprintf(ofp,"%d",idNum);
/* Close Files */
fclose(ifp);
fclose(ofp);
return 0;
system("Pause");
}
|
|
|
|
|
|
#19 |
|
Member
Iscritto dal: Feb 2004
Messaggi: 75
|
OK!! adesso mi inserisce il numero che inserisco:
Codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ifilename[] = "c:/prova.txt";
char ofilename[] = "c:/prova.txt";
int a, idNum;
FILE *ofp, *ifp;
/* Open file for input */
ifp = fopen(ifilename,"r");
/* Read data */
printf("inserisci il numero: ", a);
scanf("%d", &a);
/* Open file for output */
ofp = fopen(ofilename,"a+");
/* Write out data */
fprintf(ofp,"%d %d\n",idNum, a);
/* Close Files */
fclose(ifp);
fclose(ofp);
return 0;
system("Pause");
}
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
L'esempio leggeva un file di input e lo riscriveva...
A te non serve aprire il file di input (quindi puoi eliminare ogni riferimento a ifp)... Visto che stai facendo progressi veloci, guarda questo: Codice:
#include <time.h>
#include <stdio.h>
struct tm *newtime;
time_t aclock;
void main( void )
{
time( &aclock ); /* Get time in seconds */
newtime = localtime( &aclock ); /* Convert time to struct */
/* tm form */
/* Print local time as a string */
printf( "The current date and time are: %s", asctime( newtime ) );
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:04.



















