przekazywanie wartosci

0

witam, mam takie pytanie dotyczące wskazników, mianowicie tworzę program i chce z jednej funkcji
wczytywanie(float *x, char tab); w której wykonuje sie wczytywanie znaków gdzie x konwertuje je z ascii na float a tab odnosi sie do tablicy stringów, nastepnie chce w innej funkcji zapis(); wywołac wartosc tablicy z funkcji wczytywanie i wysłac do pliku, bo z tego co wiem to koniecznie musi byc zamieniona na char.
aha bym zapomniał *x wykorzystuje w return zeby zwracała mi wartosc wiec nie moge jej bodajze wykorzystac jeszcze raz do zwracania wartosci.

pozdrawiam proszę o pilną pomoc, z góry dziękuje

0

Hmm, nie rozumiem. Możesz to opisać po ludzku - staraj się pisać pełne zdania używając znaków interpunkcyjnych i dużych liter ;P

0

a wiec pisze projekt, moze dodam jeszcze ze korzystam z biblioteki <winbgim> i tam mam zadeklarowaną funkcje o nazwie: wczytywanie(float *x, char tab).
w tej funkcji odbywa sie wczytywanie cyfr z klawiatury, te cyfry są zapisywane do tablicy typu char, gdyz w winbgim w porównaniu do konsolowego dzieła nie potrafi wczytywac automatycznie liter czy cyfr, wracając do tematu, *x konwertuje ową tablicę ta zmienną float zeby mogła byc pózniej zwracana przez tą funkcje do innej, nie wazne jakiej. a moje pytanie dotyczy w jaki sposób powinienem przekazac wartosc tablicy char do innnej funkcji, jest mi to bardzo potrzebne poniewaz w tej tablicy są dane które chce zapisac do pliku by następnie je odczytac. tak wiec jeszcze raz chodzi mi w jaki sposób przez wzkaznik bo chyba takka jest mozliwosc zwrócic wartosc, czy przekazac <<tab>> z funkcji: wczytywanie(*x, tab) do innej funkcji np. zapis1()

void zapis1(char zmienna)
{

ofstream wyjscie ;
wyjscie.open("room_1.txt");
wyjscie.write(buffor,10);   // ten bufor powinien zawierac wartosc tablicy z funkcji wczytywanie
}

mam nadzieje ze teraz bardziej jasno opisałem mój problem. ;-)

0

Szczerze to nadal nie jestem pewien 'osochozi' ale wydedukowałem, że nie wiesz jak zwracać wartość przez parametr funkcji.

Prosty przykład:

#include <iostream>

using namespace std;

void a(char** tab)
{
	cout << tab[0] << endl;
	tab[0] = "ble";
}

int main()
{
	char* tab[2];
	tab[0] = "ok";

	a(tab);
	cout << tab[0] << endl;
}
0

no akurat to wiem.. faktycznie to troszke ciezko do wytłumaczenia..sam nie wiem jak najlepiej to wytłumaczyc by ktos mnie zrozumiał..moze zamieszce kod. i bedzie łatwiej dojsc do tego..

float wczytywanie(float *x, char *tab)
{
//char tab[3];

        for (int i=0; i<3; i++)
        {
        while (( *(tab+i)<46 || *(tab+i)>57 )&& *(tab+i) != 13 )
                        {
                         *(tab+i)=getch();
                          *(tab+i+1)= '\0';
                          *(tab+3)=NULL;       if(*tab>50)    // ograniczenie temperatury do 29 st.Celesjusza
       {
       *(tab+i)=NULL;
       }
       if(*(tab+i)== 13)
        { *(tab+i)=NULL;
        break;  }
        }
       *x=atof(tab);
setcolor(YELLOW);
outtextxy(395,110,tab);    // tutaj jest tablica którą chciałbym przekazac do kolejnej funkcji

       }
       return *x;
       }

kolejna funkcja: własnie do tej chce przekazac wartosc: tab- jest to łancuch znaków ograniczony przez te wszystkie ify

void zapis1(char tablica) /// jakas zmienna
{

ofstream wyjscie ;
wyjscie.open("room_1.txt");
wyjscie.write(tablica,10); // w miejscu gdzie jest napis tablica nie jestem pewien jak ma to wlasnie wygladac by z funkcji wczytywanie  parametr czy wartosc została przekazana własnie w to miejsce
}
0

O to chodzi???

void zapis1(const char *tablica) 
{
   if(!tablica)return;
   ofstream wyjscie ;
   wyjscie.open("room_1.txt");
   wyjscie<<tablica<<endl;
}
0
wyjscie.write(wczytywanie(float *x, char *tab),10);

??

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