Wczytywanie wyrażenia w nawiasie do struktury

0

Witam mam w pliku jakies wyrażenie, np liczbę zespoloną :

(1.2+2i)   

Chcę to wczytać do struktury :

 struct LZespolona {
	 float re;
	 float im;
	}; 

Przeciążyłem wejście i otwarłem poprawnie plik , teraz zaczęły się kłopoty, nie mam pojęcia jak z tym sobie poradzić, jedyne co mi się udało to wczytac za pomoca funkcji getline całe to wyrażenie :

 istream & operator  >> ( istream & IStream , LZespolona & Liczba){



char liczba[20];
IStream.getline(liczba,20);
0

Wytnij tekst od ( do +, zamień na liczbę i zapisz do części re.
Wytnij tekst od + do i) (ale już bez tego i), zamień na liczbę i zapisz do części im.

0
Patryk27 napisał(a):

Wytnij tekst od ( do +, zamień na liczbę i zapisz do części re.
Wytnij tekst od + do i) (ale już bez tego i), zamień na liczbę i zapisz do części im.

gdybym miał chociaż pojęcie jak to zrobić ... zauwaz też że liczby są typu float

0

Założmy się się udało i liczbę typu float 123.456 zapiszę w dwóch tablicach znakowych tak oto :

char ra[5]="123";
char da[5]="456"; 

Jak z tego zrobic jedną liczbę float ?

 float b = (float)ra.(float)da; 

Ten sposób nie działa

1
istream &operator>>(istream &s,LZespolona &L)
  {
   if(s.get()!='(') s.setstate(ios::failbit);
   s>>L.re>>L.im;
   if((s.get()!='i')||(s.get()!=')')) s.setstate(ios::failbit);
   return s;
  }
0

Dobra , a teraz mam takie pytanie, co jesli chce to zrobić w drugą stronę ?
Czyli zamiast wczytywania z pliku gotowego wyrażenia, które już tam jest, chce je wczytać ze standardowego wejscia, czyli różnica polega na tym, że program czeka aż ja ja wpiszę w klawiaturze ( schemat taki sam tj. (a+bi) .)

Takie operacje odpadają:

IStream.get() 

Jest jakieś wyjście czy muszę wczytać to wyrażenie to tablicy znakowej i potem odpowiednio to odczyać ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1