Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-01-2007, 13: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, 13: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, 16: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, 16:47   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
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, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2007, 17: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


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Eureka J15 Evo Ultra in super sconto: or...
Robot aspirapolvere in super sconto per ...
Black Friday Amazon: le migliori occasio...
Il nuovo Esplora file per Windows 11 &eg...
Black Friday e Apple: qui tutte le offer...
Il CEO di Epic contro l'etichetta 'conte...
A causa di un problema durante il lancio...
Per il responsabile delle Porsche 911 e ...
Ritorno di fiamma tra Apple e Intel: gal...
Horses è stato 'bannato': l'horro...
Truffe finanziarie sui social, scatta il...
Tesla inaugura a Busto Arsizio la postaz...
Barriere autostradali fotovoltaiche: Ana...
Accordo Gruppo FS-Microsoft: l'IA dell'a...
Prezzo mai visto: le Sony WH-1000XM5 Spe...
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: 10:08.


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