Allink  v0.1
Segnali.cpp
00001 #include "Segnali.h"
00002   int NSegn=1000;
00003   int Periodi=10000;
00004   double Passo = .5;
00005   double MediaSu=1.;
00006   double ScartoSu=1.;
00007   double MediaGiu=30.;
00008   double ScartoGiu=1.;
00009   double Incr=.01;
00010 int main(int argc,char **argv){
00011   char *NomeMedia;
00012   char *Comando;
00013   NomeMedia = new char[30];
00014   Comando = new char[50];
00015   Legenda();
00016   Variabili *v1 = new Variabili(NSegn,Periodi,MediaSu,ScartoSu,MediaGiu,ScartoGiu,Passo,Incr);
00017   for(int i=0;i<argc;i++){
00018     if(!strcmp(*(argv+i),"-help")){
00019       return 0;
00020     }
00021     if(!strcmp(*(argv+i),"-sim")){
00022       (void)time(&ti);
00023       v1->Simula();
00024       (void)time(&tf);
00025       printf("Il tutto dopo %d [s] ovvero %.1f [min]\n",
00026         (int)(tf-ti),(double)(tf-ti)/60.);
00027       //      delete v1;
00028       printf("Te ve be te e`?\n");
00029       return 0;
00030     }    
00031   }
00032   while(strcmp(Comando,"esci") ){
00033     printf("Segnali> ");
00034     scanf("%s",Comando);
00035     if(!strcmp(Comando,"num")){
00036       printf("Introdurre il numero di segnali: ");
00037       scanf("%d",&NSegn);
00038       v1->Cambia(Comando,NSegn);
00039     }
00040     else if(!strcmp(Comando,"?") ){
00041       Legenda();
00042     }
00043     else if(!strcmp(Comando,"!") ){
00044       printf("Introdurre il comando per la shell");
00045       scanf("%s",Comando);
00046       system(Comando);
00047     }
00048     else if(!strcmp(Comando,"per")){
00049       printf("Introdurre i periodi: ");
00050       scanf("%d",&Periodi);
00051       v1->Cambia(Comando,Periodi);
00052     }
00053     else if(!strcmp(Comando,"pas")){
00054       printf("Introdurre il passo di campionamento: ");
00055       scanf("%lf",&Passo);
00056       v1->Cambia(Comando,Passo);
00057     }
00058     else if(!strcmp(Comando,"mSu") ){
00059       printf("Introdurre la media: ");
00060       scanf("%lf",&MediaSu);
00061       v1->Cambia(Comando,MediaSu);
00062     }
00063     else if(!strcmp(Comando,"sSu") ){
00064       printf("Introdurre lo scarto: ");
00065       scanf("%lf",&ScartoSu);
00066       v1->Cambia(Comando,ScartoSu);
00067     }
00068     else if(!strcmp(Comando,"mGiu") ){
00069       printf("Introdurre la media: ");
00070       scanf("%lf",&MediaGiu);
00071       v1->Cambia(Comando,MediaGiu);
00072     }
00073     else if(!strcmp(Comando,"sGiu") ){
00074       printf("Introdurre lo scarto: ");
00075       scanf("%lf",&ScartoGiu);
00076       v1->Cambia(Comando,ScartoGiu);
00077     }
00078     else if(!strcmp(Comando,"incr") ){
00079       printf("Introdurre l'incremento: ");
00080       scanf("%lf",&Incr);
00081       v1->Cambia(Comando,Incr);
00082     }
00083     else if(!strcmp(Comando,"sim") ){
00084       (void)time(&ti);
00085       v1->Simula();
00086       (void)time(&tf);
00087       printf("Il tutto dopo %d [s] ovvero %.1f [min]\n",
00088         (int)(tf-ti),(double)(tf-ti)/60.);
00089     }
00090     else if(!strcmp(Comando,"esci") );
00091     else {
00092       printf("Comando non valido, scrivere ?\
00093  per la lista dei comandi\n");
00094     }
00095   }
00096   //  delete v1;
00097   printf("Te ve be te e`?\n");
00098   return 0;
00099 }
00100 void Legenda(){
00101   printf("\n\
00102 *****************************************************************\n\
00103 (                                                               )\n\
00104 )    Qui inizia il programma che pasticcia con i segnali        (\n\
00105 (    Mettetevi comodi che saran ore di conti                    )\n\
00106 )                                                               (\n\
00107 (-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-)\n\
00108 (   num %%d imposta in numero di segnali  (pred=%d)              )\n\
00109 )   per %%d impsta per il numero di periodi    (pred=%d)         (\n\
00110 (   pas %%lf imposta il numero di passi (%.1f)                   )\n\
00111 (   mSu %%lf imposta la media dei segnali  (%.1f)                )\n\
00112 )   sSu %%lf imposta lo scarto su cui son distribuiti (%.1f)     (\n\
00113 (   mGiu%%lf imposta la media dei segnali  (%.1f)                )\n\
00114 )   sGiu%%lf imposta lo scarto su cui son distribuiti (%.1f)     (\n\
00115 )   incr%%lf imposta lo l'incremento (%.1f)                      (\n\
00116 (   sim simula                                                  )\n\
00117 (   ! esegue un comando (come cambiare cartella)                )\n\
00118 (   esci ...                                                    )\n\
00119 *****************************************************************\n",
00120     NSegn,Periodi,Passo,MediaSu,ScartoSu,MediaGiu,ScartoGiu,Incr);
00121 }
00122