Allink
v0.1
|
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