|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 5
|
Help programma in C
i metto il testo di un programma che sto facendo per esercizio in vista dell'esame di informatica. Il problema è che devo farlo partire da terminale e questo mi incasina un po'. Ho qualche problemino a terminarlo e non riesco ad andare avanti. Scusatemi ma sono nuovo al mondo della programmazione. Qualcuno mi darebbe delle delucidazioni su come possa far stampare i risultati presenti in un file di testo partendo da terminale? Thanks
Si vuole realizzare un programma in linguaggio C di nome AGENDA.EXE che gestisca un’agenda elettronica per un anno solare. Gli appuntamenti sono memorizzati uno per riga nel file AGENDA.TXT col seguente formato: Giorno Ora Appuntamento Il campo Giorno indica il giorno (partendo dal 1 gennaio) usando una codifica da 1 a 366. Il campo Ora indica l’ora dell’appuntamento, codificata su due cifre (00-23). Il campo Appuntamento è una stringa di caratteri (al massimo 50) e non contiene spazi. Si noti che (A) il numero di righe nel file non è noto a priori, (B) ci possono essere più appuntamenti per lo stesso giorno, ma non alla stessa ora e (C) non esiste nessun tipo di ordinamento nel file. Il programma deve poter eseguire le seguenti azioni, specificate da opzioni sulla riga di comando: − Visualizzare tutti gli appuntamenti di un giorno, dato il codice del giorno indicato sulla riga di comando dopo l’opzione -v: AGENDA -v numero_del_giorno − Inserire un nuovo appuntamento se possibile, dati il codice del giorno, l’ora e la descrizione dell’appuntamento indicati sulla riga di comando dopo l’opzione -i: AGENDA -i numero_del_giorno ora descrizione Si noti che non è possibile fissare due appuntamenti per lo stesso giorno e per la stessa ora, e che l’inserimento consiste nell’aggiungere in fondo al file la riga relativa all’appuntamento. − Cercare un appuntamento data una parola da cercare come sottostringa nelle descrizioni degli appuntamenti: AGENDA -s sottostringa il programma deve visualizzare il giorno e l’ora corrispondenti all’appuntamento cercato; se esistono più appuntamenti contenenti la stessa sottostringa, il programma deve stamparli tutti. Esempi: C:\> AGENDA -v 123 123 10 esame_info 123 15 riunione C:\> AGENDA -i 123 10 riunione Appuntamento già esistente, impossibile aggiungerlo. C:\> AGENDA -i 233 10 riunione Inserito appuntamento "riunione" alle ore 10 del giorno 233 C:\> AGENDA -s riunione 123 15 riunione 212 21 riunione_casa 233 10 riunione 311 13 prossima_riunione
__________________
La storia non è quello che accade, ma quello che ti raccontano dopo "Smettere di fumare è semplicissimo. Io ad esempio ho smesso centinaia di volte" O. Wilde World Jump Day Saltate!!!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Ma il problema dove sta? Prova a fare qualcosa e poi se hai problemi torni e ci dici, mica possiamo fartelo noi il programma, anche xkè altrimenti non impari...
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 5
|
Il problema principale sta nel fatto che non riesco a farlo partire da terminale poichè non riesco a far stampare dal programma le istruzioni immesse dall'utente. Ad esempio per il primo comando io ho fatto qualcosa del tipo
while( fgets( riga, MAX, f ) != NULL ) { r = sscanf(riga, "%d %d %s", &giorno, &ora, app); if(r!=3) printf("Errore!\n"); else { for(i=0; i<giorno, i++) { if(argv[1]=="-v" && argv[2]==giono) { printf("%d %d %s", giorno, ora, app); } ........ } ........ } ........ } ma non mi stampa il risultato e il file lo avevo aperto con la fopen in lettura.
__________________
La storia non è quello che accade, ma quello che ti raccontano dopo "Smettere di fumare è semplicissimo. Io ad esempio ho smesso centinaia di volte" O. Wilde World Jump Day Saltate!!!! |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
if(argv[1]=="-v" && argv[2]==giono) è sbagliato, in quanto stai comparando gli indirizzi delle stringhe, non il loro contenuto.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 5
|
Quote:
__________________
La storia non è quello che accade, ma quello che ti raccontano dopo "Smettere di fumare è semplicissimo. Io ad esempio ho smesso centinaia di volte" O. Wilde World Jump Day Saltate!!!! |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:08.



















