Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Aufgabe!!! Datei Auslesen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
03.05.2004, 22:58 Uhr
~Hilfesucher
Gast


So tach erstma

Nettes Forum hier.

So dann ma das Problem ich soll für meinen C++ Kurs ein Programm schreiben das aus einer Datei 20 Werte ausliest diese sollen in Kelvin angegeben sein. Soweit kein Problem ich bekomme die Werte aus der Datei mit:

ret = fscanf(pfile,"%s",kdat);

geht auch.

So jetzt kommt der Hacken an der Sache ich soll alle kdat in Grad Celsius umrechnen. Wie stelle ich das an? Habe versucht einfach kdat * wert zu nehmen (Wert steht für den umrechenfaktor schreib ich hier nur nich hin weil ich ihn grad nicht weis ) .

Wie mach ich das oder muss ich das auslesen schon anders gestalten.

Währ für eine kleine Hilfe sehr Dankbar wens geht aber nur eine kleine da ich das schon irgendwie selbst hinbekommen möchte. Allerdings habe ich C++ vor 4 Wochen das erste ma gesehen und es gibt ja noch andere Dinge zu tuen.

Merci vielmals......
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.05.2004, 23:51 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also mehrere dinge
wenn du c++ verwenden darfst. wäre es vielleicht einfacher gewesen auch c++-funktionen (also mit streams einlesen) zu nehmen statt c-funktionen...

ich vermute mal das kdat bei dir ein char-array ist, da du im formatstring %s angegeben hast....
wenn du den zahlenwert eines char-arrays haben willst gibt es die funktionen atoi (ascii to integer) und atof (ascii to float ) die dir das von dir gewünschte lieferen sollten...

du kannst aber auch gleich als zahl einlesen statt als string... also mit


C++:
double wert;
fscanf(pFile,"%lf",&wert);



umwandeln von Kelvin nach Celsius ist dann am ende ja nur noch ein einfaches 273,16 drauf addieren (wenn ich die zahl gerade richtig im kopf habe)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.05.2004, 12:22 Uhr
~Hilfesucher
Gast


laut meinem Prof isses C das wir programmieren obwohl ich das nich ganz verstehe soll aber hier nichts suchen.

ok ich teste das ma aus danke ma erst so *g* boooaaahhh ich bin ein wenig verwiert
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.05.2004, 23:52 Uhr
~hilfesucher
Gast


Also ich blicke das leider garnicht habe auch das problem das mir grade alles flöten gegangen is keinen Code mehr (das is nich gut) hhhmm ich weis das is viel verlangt aber kann mir jemand irgendwie was zukommen lassen? Ich komme auf keinen grünen Zweig. BTW wie iss de Funktion um bis zum ende eines Files einzulesen das es was mit EOF zu tuen hat is mir bekannt aber wie schreibe ich das auf?

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.05.2004, 01:01 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wie sieht deine datei aus, aus der du die werte einliest?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.05.2004, 14:49 Uhr
~Hilfesucher
Gast


Die Datein ist eine ganz normale .txt Datei in der 20 Werte untereinander stehen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.05.2004, 15:08 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
double values[20];
FILE* fp=fopen("werte.txt","r");
for(i=0;i<20;++i)fscanf(fp,"%lf\r\n",&values[i]);
fclose(fp);


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.05.2004, 15:11 Uhr
~thaflo
Gast



Zitat:
~Hilfesucher postete
Die Datein ist eine ganz normale .txt Datei in der 20 Werte untereinander stehen.


mit der funktion getline kannst du eine zeile einlesen.

also:

C++:

.....

ifstream dat_ein;
char array[20];
short i = 0;
dat_ein.open("werte.txt", ios_base::in);
while(!dat_ein.eof())
{
    dat_ein.getline(array[i]);
    i++;
}

......



und dann multiplizierst du array[i] mit dem wert von fahrenheit oder was weiß ich.

gruss,
florian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.05.2004, 18:31 Uhr
~hilfesucher
Gast


Thx

also für
C++:
double values[20];
FILE* fp=fopen("werte.txt","r");
for(i=0;i<20;++i)fscanf(fp,"%lf\r\n",&values[ i ]);
fclose(fp);




dann

values[i] += 217,0;
oder
erg = values[i] += 217,0;

for(i=0;i<20;++i)fprintf(fp,"%lf\r\n",&values[i]);
oder
for(i=0;i<20;++i)fprintf(fp,"%lf\r\n",&erg);

hhmm dann wöhre ich fast schon bedient sag ich mal aber ich komme wieder muss da dann noch den Bubble Sort einbauen das der die Werte von klein nach groß sortiert. aber wen ich da (was 100% eintritt) nich weiter komme melde ich mich wieder .
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.05.2004, 20:00 Uhr
~hilfesucher
Gast


ok das passt jetzt alles jetzt noch bubble sort ... ist es sinnvoll die eingelesenen Werte zu sortieren und dann umzurechnen oder erst die umgeechneten zu sortieren ?????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: