Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-01-2007, 12:29   #1
Pillus
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!!!!
Pillus è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2007, 12:55   #2
MEMon
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...
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2007, 15:23   #3
Pillus
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!!!!
Pillus è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2007, 15:47   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Pillus
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 [...]
Già questo:

if(argv[1]=="-v" && argv[2]==giono)

è sbagliato, in quanto stai comparando gli indirizzi delle stringhe, non il loro contenuto.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2007, 16:15   #5
Pillus
Junior Member
 
Iscritto dal: Apr 2006
Messaggi: 5
Quote:
Originariamente inviato da andbin
Già questo:

if(argv[1]=="-v" && argv[2]==giono)

è sbagliato, in quanto stai comparando gli indirizzi delle stringhe, non il loro contenuto.
Ok, ti ringrazio è vero. Scusa ma ho delle difficoltà perchè non ho mai programmato prima ad ora. Ho sostituito con una stringa ma poichè in lettura ho appena dopo anche una variabile intera non riesco a farle leggere entrambe. Il problema mio è proprio far partire da terminale, prima di adesso facevo si che si leggesse passo dopo passo ogni dato inserito dall'utente. Ti ringrazio cmq, sei stato gentile. Continuo a provare cmq, prima o poi devo imparare! Grazie
__________________
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!!!!
Pillus è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
Dal microscopio all'IA: un cervello di i...
Cyberpunk 2077 arriverà su Battle...
Altro che divieto: interi pallet di GeFo...
QNAPTS-h966TX, il NAS per chi fa editing...
Il trucco semplicissimo per installare W...
Apple rinvia due novità di iOS 27...
Una memoria ferroelettrica raggiunge 10 ...
Honor Magic 9, Pro Max e Super Edition: ...
24 offerte Amazon da non perdere, dalla ...
Apple starebbe progettando i propri cont...
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: 14:36.


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