FiSiHRO Geschrieben 5. September 2005 Geschrieben 5. September 2005 Moin Moin. Hier mal mein Code: #include <stdlib.h> #include <string.h> int main(int argc,char *argv[]) { //Variablendeklaration double y = 6009652.527; //Y-Koordinate double x = 4502236.944; //X-Koordinate int BN = 3181; //Blattnummer int BNaktuell = 3181; //Blattnummer zum rechnen int i = 0, j = 0; //Laufvariablen //Variablendeklaration Ende printf("\n\tProgramm zum Berechnen der Koordinaten und in Dateien schreiben\n\n"); for(i=1; i<=15; i++) { if(j==2) { y = y - 250; } if(j==4) { y = y + 250; j = 0; if(i%88!=0) { BNaktuell = BNaktuell + 6; }; } j++; printf("Blattnummer: %i Y: %7.2fl X: %7.2fl\t%i\n",BNaktuell,y,x,i); if(i%88==0) { BNaktuell = BNaktuell + 781; //nach 88 Nummern kommt erhöhung y = y - 500; } else { BNaktuell++; } }; return 0; } Das ganze Ding soll einmal circa 33000 x und y Koordinaten ausrechnen, welche ich alle auf papier habe und nun versuche einen Algorithmus zu entwickeln. Das mit dem Algorithmus klappt schon recht gut. Nur die Anzeige der beiden Float-variablen klappt nicht so ganz. Anstatt bei der Y: 6009652.527 anzuzeigen, zeigt er: 6009652.531 an. Anstatt bei der X: 4502236.944 anzuzeigen, zeigt er: 4502236.941 an. DAs ist natürlich nur die erste Ausgabe als Beispiel. Wollte jetzt mal fragenm ob ihr mir sagen könnt, wo der Fehler ist. Danke im voraus. Gruß FiSiHRO Zitieren
Klotzkopp Geschrieben 5. September 2005 Geschrieben 5. September 2005 Anstatt bei der Y: 6009652.527 anzuzeigen, zeigt er: 6009652.531 an. Anstatt bei der X: 4502236.944 anzuzeigen, zeigt er: 4502236.941 an. Nein, er zeigt 6009652.53l und 4502236.94l. Zwei Nachkommastellen und ein kleines 'L'. Den l-Prefix gibt es nicht für %f, daher wird der Buchstabe normal ausgegeben. Zitieren
FiSiHRO Geschrieben 5. September 2005 Autor Geschrieben 5. September 2005 Funktioniert bestens. Danke. Gruß FiSiHRO Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.