Pillus
21-01-2007, 12:29
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
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