Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
Dopo anni di attesa e una lunga fase di sviluppo, Noctua entra nel mercato dei dissipatori a liquido AIO con la nuova serie NL-LC1. Forte dell'esperienza maturata nel raffreddamento ad aria, l'azienda austriaca promette di portare la propria filosofia fatta di qualità costruttiva, attenzione ai dettagli e silenziosità anche in questo segmento. Abbiamo provato il nuovo sistema per scoprire se riesce a distinguersi in un mercato ormai molto competitivo.
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Arrivato sul mercato italiano a fine marzo, la serie Boox Go 10.3 (Gen II) offre Android 15, penna da 4096 livelli e retroilluminazione opzionale (nel modello da noi provato, Lumi, presente). La serie si compone di due tablet ePaper che fanno da e-reader, blocco note digitale e persino browser, tutto a un prezzo che fa dimenticare i prodotti di brand più blasonati
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


MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Dopo la RAM. Framework annuncia l'aument...
Google Home Speaker ufficiale: è il prim...
Spotify: i nomi utente stanno per divent...
Il limite vero dei data center AI sono g...
AMD conferma i nuovi Threadripper: Zen 6...
Stop all'ADSL per WindTre: continua la m...
HPE punta sull'IA agentica e dichiara gu...
macOS avvisa quando si incolla un comand...
Everpure ridisegna lo storage per l’IA: ...
NVIDIA RTX Remix 1.5: realizzare remaste...
Come configurare Windows 11 like a pro, ...
Windows 11 cambia finalmente la gestione...
Arianespace: lanciata la missione Amazon...
iPhone 17 escluso dalle funzioni AI più ...
Rokarolla, il trojan Android che ruba cr...
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: 17:16.


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