Come realizzare un software gestionale in C

di il
25 risposte

25 Risposte - Pagina 2

  • Re: Come realizzare un software gestionale in C

    Andrea Quaglia ha scritto:


    Un progetto del genere, fatto in C, è una specie di tortura. Però se riesci a farlo stare in piedi, è un banco di prova notevole.
    La prima cosa da fare è quella di disegnare la base dati. Ti serve carta e matita. Devi identificare tutti gli elementi e dividerli nelle varie tabelle. Attenzione alle cose che la traccia del progetto dice tra le righe. Dopo aver disegnato la base dati, la sua implementazione è solo a tua discrezione. Se non conosci i puntatori, farai degli array di strutture. I dati andranno salvati su file. Se non conosci i file, inizia a fare pratica.
    Dopo dovrai identificare le funzioni necessarie. Più o meno la traccia del progetto le esplicita tutte:
    • funzione di login
    • aggiungi/modifica/revoca un operatore
    • aggiungi/modifica/rimuovi un utente
    • aggiungi un evento per utente
    • calcoli statistici vari
    • ...
    Si tratta di tanta roba: puoi anche fare un file unico, ma verrebbe poco gestibile. Se usi un qualunque IDE (Visual Studio, Code::Blocks, CLion, ecc.) la parte di gestione dei file la farà lui. Parti da un progetto Console, poi aggiungerai i file man mano che sarà necessario.
    Grazie mille per i suggerimenti Andrea, mi avete già schiarito molto le idee
  • Re: Come realizzare un software gestionale in C

    Andrea Quaglia ha scritto:


    Un progetto del genere, fatto in C, è una specie di tortura. Però se riesci a farlo stare in piedi, è un banco di prova notevole.
    La prima cosa da fare è quella di disegnare la base dati. Ti serve carta e matita. Devi identificare tutti gli elementi e dividerli nelle varie tabelle. Attenzione alle cose che la traccia del progetto dice tra le righe. Dopo aver disegnato la base dati, la sua implementazione è solo a tua discrezione. Se non conosci i puntatori, farai degli array di strutture. I dati andranno salvati su file. Se non conosci i file, inizia a fare pratica.
    Dopo dovrai identificare le funzioni necessarie. Più o meno la traccia del progetto le esplicita tutte:
    • funzione di login
    • aggiungi/modifica/revoca un operatore
    • aggiungi/modifica/rimuovi un utente
    • aggiungi un evento per utente
    • calcoli statistici vari
    • ...
    Si tratta di tanta roba: puoi anche fare un file unico, ma verrebbe poco gestibile. Se usi un qualunque IDE (Visual Studio, Code::Blocks, CLion, ecc.) la parte di gestione dei file la farà lui. Parti da un progetto Console, poi aggiungerai i file man mano che sarà necessario.
    Grazie mille Andrea, mi avete già schiarito parecchio le idee
  • Re: Come realizzare un software gestionale in C

    Il FATTO che qualcosa non sia stato spiegato (in un PRIMO corso di programmazione ci sta')
    NON E' sinonimo che E' VIETATO studiarlo da un libro, o che uno non possa acquisire conoscenze da fonti alternative O che NON LE POSSA USARE!!!

    SE speri che l'universita' ti fornisca il 100% o anche solo il 50% delle conoscenze "spicciole" neccessarie a sviluppare codice, STAI FRESCO!
    Se ti forniscono l'10% e' ""grasso che cola"". Il rimanente 90% (ma anche il 99%) TE LO DEVI STUDIARE per conto tuo!

    Quindi, ""bando alle ciance""
  • Re: Come realizzare un software gestionale in C

    Hai ragione e il vostro aiuto vorrei considerarlo una parte di quel "devi studiare per conto tuo/fonti alternative".
  • Re: Come realizzare un software gestionale in C

    Secondo me avete ragione entrambi. La passione e l'approfondimento personale per un informatico sono la quotidianità, così come il fatto che non puoi basare la tua carriera su un professore.
    È anche vero, però, che il proiettore all'università potrebbe essere usato in modo più proficuo: meno power point e un po' di compilatore in più non guastano. Ma soprattutto bisogna far esercitare gli studenti, perché quando hai la sicurezza riesci a tirare su qualcosa anche con solo gli argomenti che conosci.
    Poi due corsi di C senza vedere bene i puntatori...
  • Re: Come realizzare un software gestionale in C

    Alexv ha scritto:


    Poi due corsi di C senza vedere bene i puntatori...
    Si, tanto vale studiare il basic.
    Comunque, non mi esprimo sulla didattica. Il nostro amico ha ricevuto un compito e quel che è stato è stato. Più che altro io gli chiederei: quanto tempo hai a disposizione?
    Questa mi sembra una questione importante perché un progetto di questo tipo in C non può richiedere meno di un certo tempo, soprattutto se chi lo scrive non ha esperienza e non possiede parti di codice già scritte in precedenza da poter riadattare al caso specifico.

    Per l'organizzazione del programma hai già ricevuto consigli molto utili. Il consiglio che ti do anche io è quello di dividere il progetto in moduli, che sono costituiti da un file di implementazione "nome.c" e un file di interfaccia "nome.h" attraverso il quale il modulo può comunicare con gli altri e/o con l'entry point. Una unità di traduzione diventa modulo quando il suo funzionamento è indipendente dal resto del codice, un accorgimento che ti è già stato consigliato. Questo ti consente non solo di prendere un modulo e adattarlo ad un altro progetto, ma quando è scritto bene e funziona, non ti devi più preoccupare di esso quando fai pasticci in altre parti del codice. In questo modo ti metti al riparo da certe grane e intanto ti abitui anche ad organizzare il codice con una struttura modulare. Ad esempio ti servirà un modulo basedati (BaseDati.c + BaseDati.h) per gestire i dati e la loro memoria, un modulo parser (Parser.c + Parser.h) per gestire il file in lettura e scrittura. Puoi anche suddividere ulteriormente e dedicare un parser per la lettura e un writer per la scrittura. Ti servirà un core, o model (chiamalo come vuoi) capace di implementare le funzionalità centrali e specifiche del tuo progetto. Il tuo core o model sarà il nocciolo centrale del progetto e dunque il tuo Model.c dovrà includere le interfacce degli altri moduli (BaseDati.h, Parser.h, UsuerInteraction.h ...ecc.). Fatti uno schema di progetto.

    Un ulteriore consiglio: ti capiterà, strada facendo di capire che alcuni codici possono essere scritti meglio e organizzati meglio. Dovrai scendere a compromessi e prediligere l'aspetto pratico a quello estetico, perché altrimenti il tuo progetto lo finirai per la tesi di laurea.
  • Re: Come realizzare un software gestionale in C

    Da adesso ho esattamente un mese di tempo. Comunque già dopo tutti questi consigli ho una situazione più chiara, spero di riuscire a fare qualcosa di dignitoso e di non disturbarvi troppo
  • Re: Come realizzare un software gestionale in C

    Inizia ad esercitarti con la scrittura di file di struct su disco. Fatto quello, si tratta di mettere insieme le solite cose con if e cicli.
  • Re: Come realizzare un software gestionale in C

    Wow.
    Incredibbile: esistono università che non insegnano a programmare.

    Taglio corto
    Sul blabla di strutturare un programma in molti file diversi, la domanda è perché.
    Intendo non perché me lo hanno detto a lezione, non perché letto su un libro.

    Ma perché.
    Se si conosce la storia della programmazione e magari si sono scritti programmi 30 20 10 anni fa la risposta cambia.

    Su file etc la questione è molto, ma molto più complessa.
    Come gestisco un file contabilità.dat?

    Ovvio che questo sia ambito didattico, ma sono curioso di vedere cosa ne vien fuori
  • Re: Come realizzare un software gestionale in C

    Aggiungo solo un dettaglio : nel mondo normale universitario informatico (anni 90) era del tutto normale che gli studenti dovessero risolversi da soli il 90% dei problemi (non esisteva internet e stackoverflow e simili)
    Costretti a imparare 1000 volte più che con libri e lezioni (alla... Noi siamo Sparta!)

    Comunque resisti: alla fine è più facile di quanto sembri
  • Re: Come realizzare un software gestionale in C

    Comunque andiamo con qualche consiglio adatto al livello-principiante.
    Lascia stare i puntatori, non ti servono (per ora).

    Usa la struttura dati più "umile", ma maneggevole, il vettore o array che dir si voglia a dimensione fissa (sì, per iniziare va bene anche questo)

    Per memorizzare i dati (tra l'altro c'è scritto età e non data di nascita, ma vabbè) inizia a modellare delle strutture (vere e proprie struct) come fossero una sorta di entità (=record).

    Quindi inizia con la struttura utente (ps lascia stare maiuscole minuscole e StiCazzi.c son solo problemi quando devi portare il programma) e mettila qui.

    Ovviamente sarà un archivio denormalizzato, ma va bene ugualmente.
    Essenzialmente avrai tre tipi di dati: la stringa, il numero intero, e la data.
    Anche qui "data" avrebbe, nel mondo normale, una rappresentazione complessa, che non ti interessa (essenzialmente un numero intero, per facilitare differe
    Dunque per semplicità data non sarà altro che una stringa lunga 10 caratteri (più uno zero alla fine)
    tipo 12/06/2021.

    Siccome le date son delle gran rotture di @@, se puoi evitale.
    Cioè non usarle del tutto, sono molto più facili da gestire stringhe generiche e numeri interi

    =============
    Siccome sei a livello "base base" non utilizzerai una sorta di database su disco, bensì vettori in memoria.
    Dunque avrai funzioni del tipo
    "leggi-tutti-i-vettori-da-disco-in-memoria"
    (li lavori da programma)
    "scrivi-tutti-i-vettori-da-memoria-a-disco"

    Questo impedisce un funzionamento da parte di più utenti contemporaneamente, ma non lo vedo tra i requisiti, quindi da solo ti dimezza ed anche più la complessità
Devi accedere o registrarti per scrivere nel forum
25 risposte