Accantonato (per ora, la richiesta resta comunque "attiva") il problema delle dll, chiedo aiuto per organizzare in modo efficiente questa serie di programmini di supporto alla mia attività.
Ricordo che non sono un programmatore, quindi tenete presente che avete a che fare con un ignorante, quindi non date niente per scontato.
Credevo di conoscere in maniera discreta c++ al momento della pubblicazione del mio primo messaggio, in realtà devo ricredermi.
Il mio main, è una sequenza infinita di istruzioni, mentre in giro leggo che bisognerebbe cercare di avere dei main più brevi possibili, e per fare questo è necessario ricorrere alle funzioni.
Poi scopro la comodità delle (o degli?) struct (quindi mi metto a modificare quanto già scritto sfruttando questa caratteristica), poi però scopro l'esistenza delle classi...
Per evitare questo continuo rimetter mano al codice, vi chiedo consiglio su come organizzare il mio lavoro per non dover ogni volta rimetter mano al codice già scritto.
Cercherò di spiegare brevemente quali sono le mie esigenze:
1) decido la normativa di riferimento (ad una norma è associato un metodo di calcolo, in alcuni casi di più)
Faccio un esempio, per la vecchia normativa italiana, c'era solo il metodo1, poi possibilità di scegliere moetodo1 o metodo2.
2) a questo punto si sceglie il materiale e ne restano definite le caratteristiche utili ai fini delle verifiche (valori delle resistenze)
Ad esempio, un certo tipo di calcestruzzo, avrà resistenza 1 col metodo 1, resistenza 2 col metodo 2.
Va precisato che all'aggiornamento della normativa da parte del legislatore, valore 2 può cambiare, pur rimanendo nell'ambito di metodo2.
3) si definisce la geometria del problema. Certe geometrie saranno ricorrenti (rettangolo, a T, circolare, ecc)
4) definizione dei carichi/sollecitazioni.
Ad esempio, il carico legato a un solaio, si compone di diversi contributi (carico1, carico2, carico3).
Le sollecitazioni si ricaveranno partendo dai carichi elementari che dovranno essere opportunamente moltiplicati
per coefficienti che dipendono dalla normativa e dal metodo di calcolo.
5) Le verifiche possono essere eseguite con opzioni diverse.
Ad esempio per il calcestruzzo armato, considerare o no la sua resistenza a trazione.
Sfruttereste le classi per gestire quanto sopra? Oppure è indifferente organizzare il tutto in file .h e .cpp diversi in cui definisco le strutture dati e le funzioni che mi servono?
Non chiedo "codice scritto in forma pappa pronta", ma semplicemente come suddividereste il problema per poterlo gestire in maniera comoda.
Ad esempio, secondo voi è meglio definire per ogni materiale una classe diversa per ogni normativa, oppure creata la classe materiale, al suo interno definire quanto serve ad ogni normativa?
Ad esempio, per il calcestruzzo, in cui ha caratteristiche diverse in normativa1, normativa2 e normativa3,
è meglio definire tre classi distinte per ciascuna normativa, opppure una sola classe in cui al suo interno definisco poi le tre normative?
Spero di essermi spiegato.
Grazie.
Conoscete inoltre un qualche software che possa aiutare a tenere sotto controllo le funzioni/strutture dati che uno scrive, ma anche i programmi veri e propri ad esempio tramite diagrammi di flusso (se open source li preferisco). Magari CodeBlocks da una mano in questo senso e io non lo so...
Grazie ancora.