Soluzione Programma i c sharp

mikael2
Salve , non riesco a risolvere il seguente esercizio,non ho capito bene sopratutto come creare la matrice per i posti.Aspetto una vostra risposta.

E’ necessario scrivere un’applicazione desktop che simula il sistema informativo della biglietteria di un
cinema. Il cinema ha varie sale in cui vengono organizzate proiezioni di film. Per ciascuna proiezione è
necessario rappresentare il titolo del film, la data e l’ora. Ogni sala contiene un certo numero di posti a
sedere. I posti sono organizzati in N righe di M posti ciascuno (es: 10 file di 12 posti ciascuno). Sale diverse
possono avere numeri diversi di posti. Ciascun posto è identificato da un identificatore fatto da una lettera
(che identifica la fila) e un numero (che identifica il posto nella fila); es: il posto C7 è il settimo posto della III
fila. Ogni biglietto si riferisce ad un unico posto e ad un’unica proiezione. Sul biglietto è necessario
rappresentare la fila e il numero di posto.
L’applicazione deve consentire di eseguire i seguenti casi d’uso.
“Avvio Applicazione”
Scenario principale
• All'avvio dell'applicazione, il sistema carica l'archivio dei dati dal disco
"Operatore registra acquisto biglietto"
Scenario principale
• Il sistema visualizza l'elenco delle proiezioni in corso
• L’utente seleziona la proiezione
• Il sistema visualizza l’elenco dei posti a sedere per la proiezione in corso. Per ciascun posto, segnala se è
libero o occupato (NOTA: si suggerisce di visualizzare i posti sotto forma di tabella bidimensionale)
• L'utente seleziona un posto a sedere tra quelli liberi ed emette il biglietto
• Il sistema visualizza i dati del biglietto
• Il sistema registra l'acquisto del biglietto nell’archivio
Scenario alternativo: il posto selezionato non è disponibile
• Il sistema segnala l'errore e il caso d'uso si interrompe
Svolgere i seguenti passi:
• costruire e documentare il modello concettuale dell'applicazione
• sviluppare il frammento di applicazione che implementa i casi d'uso descritti
Nello sviluppo dell'applicazione rispettare i seguenti requisiti non funzionali:
• utilizzare la tecnologia .NET Windows Forms
• adottare un’architettura di tipo Modello-Vista-Controllo
• sviluppare un progetto basato sui modelli di file di build di Nant forniti
• utilizzare log4net per gestire il logging
NOTA: per velocizzare le operazioni, si suggerisce di
• utilizzare un "mock object" per simulare il funzionamento del DAO che carica i dati dall'archivio
• utilizzare uno degli ambienti RAD a disposizione per lo sviluppo dell'interfaccia

Risposte
apatriarca
Direi che si tratta di un'applicazione decisamente complicata da discutere nella sua interezza. Hai qualche domanda più specifica?

mikael2
come creare la matrice per i posti

apatriarca
Potresti essere più chiaro? Che cosa non riesci a fare esattamente? Visualizzare su schermo la griglia dei posti liberi e occupati?

mikael2
Si,questa parte qui:
Il sistema visualizza l’elenco dei posti a sedere per la proiezione in corso. Per ciascun posto, segnala se è
libero o occupato (NOTA: si suggerisce di visualizzare i posti sotto forma di tabella bidimensionale)
• L'utente seleziona un posto a sedere tra quelli liberi ed emette il biglietto

apatriarca
Prima di provare ad implementarlo.. come te lo immagini? Come immagini sia rappresentato un posto vuoto o occupato? Come ritieni che si debba selezionare un posto?

mikael2
immagino tipo una matrice formata da varie celle(di solito nel caso delle tabelle uso datagriedwiew in questo caso non so ), dove selezionando la cella ci dice se il posto è libero oppure occupato

apatriarca
Direi che l'idea è quella, mi chiedevo però come ti immaginavi ogni cella. Pensi di usare tipo un pulsante o qualcosa come un checkbox? Per disporle come una matrice ti direi che un TableLayoutPanel possa fare al caso tuo.

mikael2
non l'ho mai usata come viene impostato il codice in questo caso, mi puoi fare vedere qualche esempio pratico.Con datagriedview creo una classe datatable con le risp colonne e righe.

mikael2
Come creo la matrice bidimensionale per i posti? e come faccia a visualizzarla nella form in modo che cliccando sul posto mi dice se è libero o meno?

apatriarca
Non aprire nuove discussioni per fare esattamente la stessa domanda. Il problema è che la risposta non è univoca. Esistono diversi modi e dipendono da come tu vuoi che la tua applicazione si comporti. Per esempio, i posti potrebbero essere pulsanti colorati in cui il colore rappresenta se il posto è occupato o meno. Oppure i pulsanti dei posti occupati potrebbero apparire disabilitati (o anche tutte e due le cose). Oppure potresti scrivere una x sui posti occupati, oppure potresti non usare affatto dei pulsanti.. Prima insomma di provare a creare questa tua applicazione dovresti insomma avere in mente il suo esatto funzionamento. Per la domanda su TableLayoutPanel, ti consiglio di dare un occhiata alla documentazione che ti ho linkato quando te ne ho parlato. La mia idea era di inserire ad ogni cella di questo panel un pulsante che rappresenta un posto.

mikael2
mi va bene anche la tua idea, se puoi spiegami passo passo come fare

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.