Back to index

wims  3.65+svn20090927
test_cond.c
Go to the documentation of this file.
00001 #include<stdio.h>
00002 #include<string.h>
00003 
00004 /* Entrees :
00005        argv[1] = nom du prog
00006        argv[2] = \a
00007        argv[3] = \b
00008        argv[4] = \c
00009        argv[5] = \comparaison1
00010        argv[6] = \vrai1
00011        argv[7] = \faux1
00012        argv[8] = \branchement1
00013        argv[9] = \comparaison2
00014        argv[10]= \vrai2 
00015        argv[11]= \faux2
00016        argv[12]= \branchement2
00017        argv[13]= \comparaison3
00018        argv[14]= \confparm1
00019 */
00020 int main(argc,argv) 
00021        int argc; 
00022        char *argv[];
00023 {
00024        
00025        int a;
00026        int b;
00027        int c; 
00028        int vrai1;
00029        int faux1;
00030        int branchement1;
00031        int vrai2;
00032        int faux2;
00033        int branchement2; 
00034        int niveau;
00035        char comparaison1[7];
00036        char comparaison2[7];
00037        char comparaison3[7];
00038        
00039        sscanf(argv[2],"%d",&a);
00040        sscanf(argv[3],"%d",&b);
00041        sscanf(argv[4],"%d",&c);
00042        strcpy(comparaison1,argv[5]);
00043        sscanf(argv[6],"%d",&vrai1);
00044        sscanf(argv[7],"%d",&faux1);
00045        sscanf(argv[8],"%d",&branchement1);
00046        strcpy(comparaison2,argv[9]);
00047        sscanf(argv[10],"%d",&vrai2);
00048        sscanf(argv[11],"%d",&faux2);
00049        sscanf(argv[12],"%d",&branchement2);
00050        strcpy(comparaison3,argv[13]);
00051        sscanf(argv[14],"%d",&niveau);
00052        
00053        int cmp1 = ((strcmp(comparaison1,"&#62")==0) ? 0 : -1) ;
00054        int cmp2 = ((strcmp(comparaison2,"&#60")==0) ? 0 : 1) ;
00055        int cmp3 = ((strcmp(comparaison3,"&#60")==0) ? 0 : 1) ;
00056 
00057        if (niveau==1) 
00058        {
00059               if (b>a+cmp1)
00060                      b=b+vrai1;
00061        }
00062        
00063        else if (niveau==2) 
00064        {
00065               if (b>a+cmp1)
00066                      b=b+vrai1;
00067               else
00068                      a=a+faux1;
00069        }
00070        
00071        else if (niveau==3) 
00072        {
00073               if (b>a+cmp1) 
00074               {
00075                      b=b+vrai1;
00076                      if (branchement1==1) 
00077                      {
00078                             if (a<c+cmp2 && b<c+cmp2) 
00079                                    c=c-vrai2;           
00080                      }
00081               }
00082               else 
00083               {
00084                      a=a+faux1;
00085                      if (branchement1==0) 
00086                      {
00087                             if (a<c+cmp2 && b<c+cmp2) 
00088                                    c=c-vrai2;           
00089                      }
00090 
00091               }
00092        }
00093        
00094        
00095        else if (niveau==4) 
00096        {
00097               if (b>a+cmp1) 
00098               {
00099                      b=b+vrai1;
00100                      if (branchement1==1) 
00101                      {
00102                             if (a<c+cmp2 && b<c+cmp2) 
00103                                    c=c-vrai2;
00104                             else
00105                             {
00106                                    c=c+faux2;
00107                                    a++;
00108                             }             
00109                      }
00110               }
00111               else 
00112               {
00113                      a=a+faux1;
00114                      if (branchement1==0) 
00115                      {
00116                             if (a<c+cmp2 && b<c+cmp2) 
00117                                    c=c-vrai2;    
00118                             else
00119                             {
00120                                    c=c+faux2;
00121                                    a++;
00122                             }             
00123        
00124                      }
00125 
00126               }
00127        }      
00128        
00129        
00130        else if (niveau==5) 
00131        {
00132               if (b>a+cmp1) 
00133               {
00134                      b=b+vrai1;
00135                      if (branchement1==1) 
00136                      {
00137                             if (a<c+cmp2 && b<c+cmp2) 
00138                             {
00139                                    c=c-vrai2;
00140                                    if (branchement2==1) 
00141                                    {
00142                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00143                                           {
00144                                                  a++;
00145                                                  b++;
00146                                           }
00147                                    }
00148                             }
00149                             else
00150                             {
00151                                    c=c+faux2;
00152                                    a++;
00153                                    if (branchement2==0) 
00154                                    {
00155                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00156                                           {
00157                                                  a++;
00158                                                  b++;
00159                                           }
00160                                    }
00161                             }             
00162                      }
00163               }
00164               else 
00165               {
00166                      a=a+faux1;
00167                      if (branchement1==0) 
00168                      {
00169                             if (a<c+cmp2 && b<c+cmp2) 
00170                             {
00171                                    c=c-vrai2;
00172                                    if (branchement2==1) 
00173                                    {
00174                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00175                                           {
00176                                                  a++;
00177                                                  b++;
00178                                           }
00179                                    }
00180                             }
00181                             else
00182                             {
00183                                    c=c+faux2;
00184                                    a++;
00185                                    if (branchement2==0) 
00186                                    {
00187                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00188                                           {
00189                                                  a++;
00190                                                  b++;
00191                                           }
00192                                    }
00193                             }             
00194                      }
00195               }
00196        }
00197        
00198        else if (niveau==6) 
00199        {
00200               if (b>a+cmp1) 
00201               {
00202                      b=b+vrai1;
00203                      if (branchement1==1) 
00204                      {
00205                             if (a<c+cmp2 && b<c+cmp2) 
00206                             {
00207                                    c=c-vrai2;
00208                                    if (branchement2==1) 
00209                                    {
00210                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00211                                           {
00212                                                  a++;
00213                                                  b++;
00214                                           }
00215                                           else
00216                                           {
00217                                                  a--;
00218                                                  b--;
00219                                           }
00220                                    }
00221                             }
00222                             else
00223                             {
00224                                    c=c+faux2;
00225                                    a++;
00226                                    if (branchement2==0) 
00227                                    {
00228                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00229                                           {
00230                                                  a++;
00231                                                  b++;
00232                                           }
00233                                           else
00234                                           {
00235                                                  a--;
00236                                                  b--;
00237                                           }
00238                                    }
00239                             }             
00240                      }
00241               }
00242               else 
00243               {
00244                      a=a+faux1;
00245                      if (branchement1==0) 
00246                      {
00247                             if (a<c+cmp2 && b<c+cmp2) 
00248                             {
00249                                    c=c-vrai2;
00250                                    if (branchement2==1) 
00251                                    {
00252                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00253                                           {
00254                                                  a++;
00255                                                  b++;
00256                                           }
00257                                           else
00258                                           {
00259                                                  a--;
00260                                                  b--;
00261                                           }
00262                                    }
00263                             }
00264                             else
00265                             {
00266                                    c=c+faux2;
00267                                    a++;
00268                                    if (branchement2==0) 
00269                                    {
00270                                           if ( a+b<c+cmp3 || b-a < cmp3+c-b ) 
00271                                           {
00272                                                  a++;
00273                                                  b++;
00274                                           }
00275                                           else
00276                                           {
00277                                                  a--;
00278                                                  b--;
00279                                           }
00280                                    }
00281                             }
00282                      }
00283               }
00284        }
00285 
00286        printf("%d,%d,%d\n",a,b,c);
00287   return 0;
00288 
00289 }