Advertisement
opolak

zespolone bez wczytania

Oct 18th, 2012
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4.  
  5.  
  6. class zespo
  7. {
  8.     public :
  9.     float wyn3, wyn4,dzze; 
  10.     float a,b,c,d;
  11.     char j,f,e,h;
  12.     void dzialanie(){
  13.    
  14.         scanf("%f %f %c %f %f",&a,&b,&f,&c,&d);
  15.        
  16.         }
  17.     void warunki (){
  18.        
  19.         if (b>=0)
  20.         {
  21.             j='+'; 
  22.         }
  23.         if (d>=0)
  24.         {
  25.             e='+'; 
  26.         }
  27.     }
  28.     void dodaw()
  29.     {
  30.        
  31.         wyn3=a+c;
  32.         wyn4=b+d;
  33.         if (wyn4>0) {
  34.             h='+';
  35.         }
  36.         printf("Wynik dodawania liczby zespolonej (%f%c%fi)+(%f%c%fi)=%f%c%fi", a,j,b,c,e,d,wyn3,h,wyn4);
  37.     }
  38.     void odej()
  39.     {  
  40.         wyn3 = a-c;
  41.         wyn4 = b-d;
  42.         if (wyn4>0) {
  43.             h='+';
  44.         }
  45.  
  46.         printf("Wynik odejmowania liczby zespolonej (%f%c%fi)-(%f%c%fi)=%f%c%fi", a,j,b,c,e,d,wyn3,h,wyn4);
  47.     }
  48.     void mnoz(){
  49.        
  50.         wyn3=(a*c-b*d);
  51.         wyn4=(b*c+a*d);
  52.         if (wyn4>0) {
  53.             h='+';
  54.         }
  55.         printf("Wynik mnozenia liczby zespolonej (%f%c%fi)*(%f%c%fi)=%f%c%fi", a,j,b,c,e,d,wyn3,h,wyn4);
  56.    
  57.     }
  58.     void dzielenie(){
  59.         dzze=(c*c)+(d*d);
  60.         if (dzze==0)
  61.         {
  62.             printf("dzielisz przez zero");
  63.            
  64.            
  65.         }
  66.         else{
  67.         wyn3 = ((a*c)+(b*d))/(c*c)+(d*d);
  68.         wyn4 = ((b*c)-(a*d))/(c*c)+(d*d);
  69.         if (wyn4>0) {
  70.             h='+';
  71.         }
  72.         printf("Wynik dzielenia liczby zespolonej (%f%c%fi)-(%f%c%fi)=%f%c%fi", a,j,b,c,e,d,wyn3,h,wyn4);
  73.  
  74.     }
  75.     }
  76.    
  77.     void wczytanieliczb()
  78.     {
  79.  
  80.         std::ifstream plik("aaa.txt");
  81.         int z,x,y,q;
  82.         plik>>z>>y>>x>>q;
  83.         printf("%d %d %d %d",z,y,x,q);
  84.    
  85.        
  86.     }
  87.                    
  88.                
  89.        
  90.  
  91.    
  92.     bool dzialania()
  93.     {
  94.         dzialanie();
  95.         warunki();
  96.         while (true)
  97.         {
  98.             if (f=='+') {
  99.        
  100.         dodaw();
  101.         return true;
  102.             }
  103.        
  104.         if (f=='-'){
  105.            
  106.         odej();
  107.         return true;
  108.         }
  109.         if(f=='*'){
  110.            
  111.         mnoz();
  112.         return true;
  113.         }
  114.             if(f=='/'){
  115.                
  116.                 dzielenie();
  117.                
  118.                 return true;
  119.             }
  120.            
  121.         if (f=='o')
  122.         {
  123.             wczytanieliczb();
  124.             return true;
  125.            
  126.         }
  127.            
  128.            
  129.         }
  130.     }; 
  131. };
  132.  
  133.  
  134. class plaszczyzna : public zespo
  135. {
  136. public:
  137.     void dzialanie(){
  138.         scanf("%f %f %c %f %f",&a,&b,&f,&c,&d);
  139.     }
  140.    
  141.     void dodaw()
  142.     {
  143.        
  144.         wyn3=a+c;
  145.         wyn4=b+d;
  146.         printf("Wynik dodawania liczby zespolonej (%f,%fi)+(%f,%fi)=%f,%f", a,b,c,d,wyn3,wyn4);
  147.     }
  148.     void odej()
  149.     {  
  150.         wyn3 = a-c;
  151.         wyn4 = b-d;
  152.  
  153.         printf("Wynik odejmowania liczby zespolonej (%f,%fi)-(%f,%fi)=%f,%f", a,b,c,d,wyn3,wyn4);
  154.     }
  155.     void mnoz(){
  156.        
  157.         wyn3=(a*c-b*d);
  158.         wyn4=(b*c+a*d);
  159.         if (wyn4>0) {
  160.             h='+';
  161.         }
  162.         printf("Wynik mnozenia liczby zespolonej (%f,%fi)+(%f,%fi)=%f,%f", a,b,c,d,wyn3,wyn4);
  163.        
  164.     }
  165.    
  166.     bool dzialania()
  167.     {
  168.         dzialanie();
  169.         warunki();
  170.         while (true)
  171.         {
  172.             if (f=='+') {
  173.                
  174.                 dodaw();
  175.                 return true;
  176.             }
  177.            
  178.             if (f=='-'){
  179.                
  180.                 odej();
  181.                 return true;
  182.             }
  183.             if(f=='*'){
  184.                
  185.                 mnoz();
  186.                 return true;
  187.             }
  188.                    
  189.         }
  190.     }  
  191. };
  192.  
  193.  
  194.  
  195. zespo oblicz;
  196. plaszczyzna policz;
  197.  
  198. int main (int argc, char * const argv[])
  199.  
  200. {
  201.     char r;
  202.    
  203.     printf("WITAJ W KALKULATORZE LICZB ZESPOLONYCH WYBIERZ DZIALANIE JAKIE CHCESZ WYKONAC ABY ZAKONCZYC NACISNIJ X \n");
  204.     while (true){
  205.     printf("ABY KORZYSTAC Z KALKULATORA WPISUJAC LICZBY W POSTACI ALGEBRAICZNEJ NACISNIJ 1 ABY W POSTACI PŁASZCZYZNY ZESPOLONEJ 2 ABY ZAKONCZYC X \n");
  206.         scanf("%c", &r);
  207.         if (r=='1') {
  208.             printf("Wybrales z kalkulatora w postaci algebraicznej wpisz rownanie ktore chcesz wykonac \n w postaci a+b+c+d w miejsca a b c d wpisz dowolne liczby, a pomiedzy dowolne dzialanie + - * / \n ");
  209.             oblicz.dzialania();
  210.         }
  211.         printf("Wybrales z kalkulatora na plaszczyznie zespolonej wpisz rownanie ktore chcesz wykonac \n w postaci a+b+c+d w miejsca a b c d wpisz dowolne liczby, a pomiedzy dowolne dzialanie + - * /  \n");
  212.  
  213.         if (r=='2')
  214.         {
  215.             policz.dzialania();
  216.        
  217.         }
  218.         if (r=='3')
  219.         {
  220.            
  221.            
  222.         }
  223.         if (r=='x' || r=='X') {
  224.             return false;
  225.         }
  226.     };
  227.     return 0;  
  228.    
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement