knightL

D

Mar 19th, 2011
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.     double p=-1,V=-1,n=-1,R=8.314,T=-1;
  7.     for(int i=0;i<3;i++)
  8.     {
  9.         char c[10];
  10.         scanf("%s",c);
  11.         if(c[0]=='p')
  12.             scanf("%s%lf",c,&p);
  13.         else if(c[0]=='V')
  14.         {
  15.             scanf("%s%lf",c,&V);
  16.             if(V==0)
  17.             {
  18.                     printf("error\n");
  19.                 return 0;
  20.             }
  21.         }
  22.         else if(c[0]=='n')
  23.         {
  24.             scanf("%s%lf",c,&n);
  25.         }
  26.         else if(c[0]=='T')
  27.         {
  28.             scanf("%s%lf",c,&T);
  29.             if(T==0)
  30.             {
  31.                     printf("error\n");
  32.                 return 0;
  33.             }
  34.         }
  35.     }
  36.     if(V==-1)
  37.     {
  38.         if(p==0)
  39.         {
  40.             if(n==0)
  41.                 printf("undefined\n");
  42.             else
  43.                 printf("error\n");
  44.             return 0;
  45.         }
  46.         V=n*R*T/p;
  47.         if(V==0)
  48.         {
  49.             printf("error\n");
  50.             return 0;
  51.         }
  52.         printf("V = %lf\n",V);
  53.     }
  54.     else if(p==-1)
  55.     {
  56.         p=n*R*T/V;
  57.         printf("p = %lf\n",p);
  58.     }
  59.     else if(n==-1)
  60.     {
  61.         n=p*V/R/T;
  62.         printf("n = %lf\n",n);
  63.     }
  64.     else if(T==-1)
  65.     {
  66.         if(n==0)
  67.         {
  68.             if(p==0)
  69.                 printf("undefined\n");
  70.             else
  71.                 printf("error\n");
  72.             return 0;
  73.         }
  74.         T=p*V/n/R;
  75.         if(T==0)
  76.         {
  77.             printf("error\n");
  78.             return 0;
  79.         }
  80.         printf("T = %lf\n",T);
  81.     }
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment