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 ]
010
11.05.2004, 00:04 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ist wirklich sch**ss egal wierum du es machst, da du allen werten nur ein gleichmässigen offset verpasst, kommt im ergebnis auch das gleiche raus...

und deine 217 sieht mir verdächtig falsch aus, wenn die werte in kelvin angeben sind und du nach Grad Celsius umrechnen willst musst du 273,16 abziehen, oder wenns umgekehrt ist halt draufaddieren...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
11.05.2004, 09:14 Uhr
~hilfesucher
Gast


alles klar danke jo das mit den 217 is falsch .... war ja bis dato schnurtz egal was da stand hauptsache das Programm hat irgendwas gemacht ....

werde mich dann heute mal an den bubble sort ransetzen und euch hier dann spätestens morgen nomma löchern *g*

aber ihr macht das echt toll sonne ruhe hätte ich nich weg.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
11.05.2004, 18:22 Uhr
~hilfesucher
Gast


hehe ich ma wieder *g*

Also mein Problem is wie ich das:

C++:
void bubble_sort (void)

{
    do
    {
    j = 1;
    for(i=0;i<MAX-1;i++);
    {
        if (values[i] > values[i +1]);                //grosser Wert steht vor kleinem
        {
            tausch= values[i];                            //also vertauschen
            values[i]= values[i + 1];
            values[i + 1]= tausch;
            j= 0;                                        //bis keine Vertauschungen mehr
        }
    }
while (!j);
}



richtig ein baue.

der restliche Code sieht aus wie folgt:

C++:
    int main()
{
FILE* fp=fopen("eingabe.txt","r");                        //öffnen der Datei mit lese berechtigung
for(i=0;i<20;++i)fscanf(fp,"%lf\r\n",&values[ i ]);        //auslesen der eingegebenen Werte
fclose(fp);                                                //datei schliessen
    for(i=0;i<20;i++)values [i] += 217;                    //addieren der werte

}

{

    FILE* fp2=fopen("ausgabe.txt","w");                    //öffnen und erstellen der ausgabe Datei
    for(i=0;i<20;i++)fprintf(fp2,"%lf\n",values[ i ]);    //schreiben der Werte in ausgabe datei
    fclose(fp2);                                        //ausgabe Datei schliessen

    return (void)
}

}



+ - ein paar Klammern ({) da ich es aus dem versuch beides zusammen zufriemeln raus copiert habe!!

währe Klasse wens anregungen oder gar Lösungen gäbe....

MfG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
11.05.2004, 19:31 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
int main(){

FILE* fp=fopen("eingabe.txt","r");                        //öffnen der Datei mit lese berechtigung
for(i=0;i<20;++i){
    fscanf(fp,"%lf\r\n",&values[ i ]);        //auslesen der eingegebenen Werte
    values [ i ]+=273.16;
}
fclose(fp);                                                //datei schliessen
//for(i=0;i<20;i++)values [ i ] += 217;         ist überflüssig die schleife nochmal durchzulaufen

}



ungetestet einfach so ins forum gehackt so

C++:
void swap(double *x,double *y){double h=*x;*x=*y;*y=h;}

void bubbleSort(double *a,int n){
    for(int j=n-1;j>0;--j)
        for(int i=0;i<j;++i)
            if(a[i]>a[i+1])swap(&a[i],&a[i+1]);
        
}



--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 11.05.2004 um 19:31 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
12.05.2004, 01:55 Uhr
~hilfesucher
Gast


da sach ich erst ma danke werde das morgen austesten sieht aber ganz gut aus (als ob ich ne Ahnung hätte) ...

warum is das bei dir so klein und bei mir so gross ??????


C++:
//for(i=0;i<20;i++)values [ i ] += 217;         ist überflüssig die schleife nochmal durchzulaufen




warum is das nich nötig ich muss ja mit 217 (bzw. nem anderen Wert) addieren da brauch ich doch nomma die schleife damit der alles werte macht ???

Mfg

hilfesucher (---DOC---)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
12.05.2004, 13:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


das ist unnötig weil du beim einlesen die schleife ja schon einmal durchläufst...
da kannst du es innerhalb der schleife schon gleich draufaddieren....

hab ich doch oben gepostet

C++:
for(i=0;i<20;++i){
    fscanf(fp,"%lf\r\n",&values[ i ]);        //auslesen der eingegebenen Werte
    values [ i ]+=273.16;    //warum nochmal die schleife durchlaufen wenn du es eh schon einmal machst...
}




Zitat:

warum is das bei dir so klein und bei mir so gross ??????


der trick liegt darin sich aufs wesentliche zu beschränken
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 12.05.2004 um 13:18 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
12.05.2004, 21:09 Uhr
~hilfesucher
Gast


error C2601: 'bubbleSort' : Lokale Funktionsdefinitionen sind unzulässig
error C2601: 'swap' : Lokale Funktionsdefinitionen sind unzulässig


ich hab da jetzt diese beiden Fehler (nur noch *g*)


C++:
#include <stdio.h>
#define MAX 450

int main();
void bubbleSort (void);
int ausgabe();
double values[20];
int i,j,tausch;

int main(){

FILE* fp=fopen("eingabe.txt","r");                        //öffnen der Datei mit lese berechtigung
for(i=0;i<20;++i){
    fscanf(fp,"%lf\r\n",&values[ i ]);        //auslesen der eingegebenen Werte
    values [ i ]+=273.16;
}
fclose(fp);          

    void swap(double *x,double *y){double h=*x;*x=*y;*y=h;}
    {
void bubbleSort(double *a,int n){
    for(int j=n-1;j>0;--j)
        for(int i=0;i<j;++i)
            if(a[ i ]>a[i+1])swap(&a[ i ],&a[i+1]);
        
}

    FILE* fp2=fopen("ausgabe.txt","w");                    //öffnen und erstellen der ausgabe Datei
    for(i=0;i<20;i++)fprintf(fp2,"%lf\n",values[ i ]);    //schreiben der Werte in ausgabe datei
    fclose(fp2);                                        //ausgabe Datei schliessen

    //return (void)
}

}



und so sieht das ganze dann aus... was passt da noch nich???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
13.05.2004, 00:06 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


na du bist ja vielleicht ein Kobold
natürlich nicht die funktionen in main definieren sondern da aufrufen...

wie hat Tommix das mit den lokalen funktionen genannt

Zitat:

das ist ein Pascal-und-Konsorten-only-Feature.





C++:
void swap (double *x,double *y);
void bubbleSort(double *a,int n);

int main(){
double values[20];
int i;
FILE* fp;
fp=fopen("eingabe.txt","r");                        //öffnen der Datei mit lese berechtigung
for(i=0;i<20;++i){
    fscanf(fp,"%lf\r\n",&values[ i ]);        //auslesen der eingegebenen Werte
    values [ i ]+=273.16;
}
fclose(fp);          

bubbleSort(values,20);

fp=fopen("ausgabe.txt","w");                    //öffnen und erstellen der ausgabe Datei
for(i=0;i<20;i++)fprintf(fp,"%f\n",values[ i ]);    //schreiben der Werte in ausgabe datei
fclose(fp);                                        //ausgabe Datei schliessen

return 0;
}



void swap(double *x,double *y){double h=*x;*x=*y;*y=h;}

void bubbleSort(double *a,int n){
    for(int j=n-1;j>0;--j)
        for(int i=0;i<j;++i)
            if(a[ i ]>a[i+1])swap(&a[ i ],&a[i+1]);
        
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 13.05.2004 um 00:07 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
13.05.2004, 06:23 Uhr
~Hilfesucher
Gast


autsch dessshalb hat das nie getan .... mist ich hatte da ein ziemlich damisches Bsp. wies scheint da ham die das so gemacht .... oder au nich.

Na gut und als alter Kobold raff ich dann mein Gold *MünzezuWindalfwerfund denendiegeholfenhaben* und verschwinde hinter meinem Regenbogen oder so ....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
14.05.2004, 18:51 Uhr
~Hilfesucher
Gast


Is es Ok seinen Prof die Pest annen Hals zu wünschen ich glaube nich egal is off Topic

naja er hatte ne tolle Idee 3 Tage vor abgabe und ich hab partou keinen Bock mehr.
Es dreht sich weiterhin um das gleiche kleine Programm. Und zwar möchte er jetzt doch die Ausgabe auf dem Monitor und in EINER Datei. Soll heissen man schreibt die zu berechnenden Werte in die eine Datei rein und das Programm soll dann die umgerechneten daneben schreiben. Was für mich dann auch bedeutet das man als erstes die Ausgelesenen Werte sortieren muss sonst isses ja kauderwelsch (blödes Wort) Achja und auch aufem Monitor *g*.
Ich dreh somit also langsam komplett durch.

ok das ganze soll nebeneinander in der Form:

Fahrenheit: Celsius:
10 blob
11 blob +1

stehen (blob is nich ernst gemeint)

der bissher erwirtschaftete Code (THX Windalf) sieht so aus:


C++:
#include <stdio.h>
#define MAX 450

void swap (double *x,double *y);
void bubbleSort(double *a,int n);

int main(){
double values[20];
int i;
FILE* fp;
fp=fopen("eingabe.txt","r");                                    //öffnen der Datei mit lese berechtigung

if (!fp) { printf("Fehler beim Öffnen der Datei! (Lesen)");        //Datei testen (Sicherheit)
return 0; }

for(i=0;i<20;++i){
    fscanf(fp,"%lf\r\n",&values[ i ]);
    printf("%.3f\n",values[ i ]);                                
    
    values [ i ]-=32;
    values [ i ]/=1.8;
  }
fclose(fp);        

bubbleSort(values,20);                                            //hier wird bubble sort gestartet

fp=fopen("ausgabe.txt","w");                                    //öffnen und erstellen der ausgabe Datei

if (!fp) { printf("Fehler beim Oeffnen der Datei! (Schreiben)\n"); //Datei testen (Sicherheit)
return 0; }

for(i=0;i<20;i++)fprintf(fp,"%f\n",values[ i ]);                //schreiben der Werte in ausgabe datei
fclose(fp);                                                        //ausgabe Datei schliessen

printf("Celsius\n");                                            //Ausgabe der Umgerechneten Werte
for(i=0;i<20;i++)printf("%f\n",values[ i ]);                    //auf dem Monitor

return 0;
}

//TauschAlgorithmus für Bubble Sort
void swap(double *x,double *y){double h=*x;*x=*y;*y=h;}            //tausch Algorithmus

//bubble sort starten

void bubbleSort(double *a,int n){
    for(int j=n-1;j>0;--j)                                    
        for(int i=0;i<j;++i)                                
            if(a[ i ]>a[i+1])swap(&a[ i ],&a[i+1]);                //wen grösser tausch
        
}



Merci vielmals schon im Vorraus

P.S. wie könnt ihr euch nur mit sowas freiwillig beschäftigen ... hab am Anfang auch gedacht hey toll das ma zu können aber das is mir echt ein bischen viel was man da können muss naja vielleicht nebenbei mal *g* "Hello World" *g das war noch schön einfach :-(

Naja Danke ne (viel zu viel OT)
 
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: