hallo allerseits.
ich soll in c wertepaare aus einer datei einlesen die dort folgendermaßen abgespeichert seien sollen:
000.0 000.0
012.0 044.0
002.0 005.0
046.0 013.0
(beispielsweise)
maximal sollen 20 wertepaare eingelesen werden. liegt einer der werte außerhalb des erlaubten bereichs zwischen 0 und 100 soll dem benutzer mitgeteilt werden welcher der werte außerhalb des erlaubten bereichs liegt....
ich habe daraufhin angefangen zu programmieren und mir die datei einfach mal im windows editor erstellt und gespeichert (int mehreren formaten .dat .txt)
leider liest mein programm keine werte ein![Mad :mad: :mad:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f621.png)
hier einfach mal mein code des unterprogrammes einlesen:
ich bin c anfänger und muss für die uni programmieren...
ich hoffe einfach mal ganz dreist dass mir hier eventuell jemand weiterhelfen kann....
mittlerweile raucht mir der kopf!![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
ich soll in c wertepaare aus einer datei einlesen die dort folgendermaßen abgespeichert seien sollen:
000.0 000.0
012.0 044.0
002.0 005.0
046.0 013.0
(beispielsweise)
maximal sollen 20 wertepaare eingelesen werden. liegt einer der werte außerhalb des erlaubten bereichs zwischen 0 und 100 soll dem benutzer mitgeteilt werden welcher der werte außerhalb des erlaubten bereichs liegt....
ich habe daraufhin angefangen zu programmieren und mir die datei einfach mal im windows editor erstellt und gespeichert (int mehreren formaten .dat .txt)
leider liest mein programm keine werte ein
![Mad :mad: :mad:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f621.png)
hier einfach mal mein code des unterprogrammes einlesen:
Code:
#include <stdio.h>
int einlesen (double *x[20], double *y[20], int i)
{
/* Variablen Deklaration*/
int count, erfolg, err, n;
char *datei[30];
FILE *daten;
i=0;
count=2;
/* Hier muss noch die Schleife hin die max 5x eingeben lässt! */
do
{
/* Bildschirmmeldung zur Eingabe des Dateinamens */
count=count+1;
printf ("Bitte geben Sie den Namen der Datei ein aus der dir Koordinaten eingelesen werden sollen!\n\n");
scanf ("%c", &datei[30]);
getchar ();
/*Öffnen der Datei*/
daten = fopen ("*datei[30]","r");
/* Einfache Verzweigung beim erfolgreichen öffnen ist die Fehlervar daten != NULL */
if (daten != NULL)
{
/* schleife mit austrittsbed um werte aus der datei einzulesen */
do
{
err = fscanf (daten, "%lf%lf", &x[i], &y[i]);
/*einfache verzw um zu gucken ob x kleiner 100 ist */
if (*x[i] < 100)
{
/*einfache verzw um zu gucken ob y kleiner 100 ist */
if (*y[i] < 100)
{
i++;
}
/* ende einfache verzw um zu gucken ob y kleiner 100 ist */
else
{
erfolg=0;
printf ("Die Koordinate %d liegt ausserhalb des erlaubten Bereiches!\n", y[i]);
}
}
/*ende einfache verzw um zu gucken ob x kleiner 100 ist*/
else
{
erfolg=0;
printf ("Die Koordinate %d liegt ausserhalb des erlaubten Bereiches!\n", x[i]);
}
/* ende schleife mit austrittsbed*/
} while (err != EOF && i < 20 && erfolg != 0);
fclose(daten);
/* einfache Verzweigung um zu testen ob erfolg=0 d.h. keine berechnung möglich */
if (erfolg==0)
{}
else
{
/*einfache verzw um zu gucken ob die datei am ende war */
if (err == EOF)
{
i--;
n=i;
erfolg=1;
}
else
{
printf ("Nur die ersten 20 Zeilen der Datei wurden eingelesen, da die Datei zu lang ist!\n\n");
n=20;
erfolg=1;
}
}
}
else
{
erfolg=0;
printf ("Die von Ihnen angegebene Datei konnte leider nicht geoeffnet werden. Versuchen Sie es erneut!\n\n\n");
getchar ();
}
/*Ende der Schleife die max 5x eingeben lässt! */
} while(count != 5 && erfolg != 1);
return erfolg;
}
ich bin c anfänger und muss für die uni programmieren...
ich hoffe einfach mal ganz dreist dass mir hier eventuell jemand weiterhelfen kann....
mittlerweile raucht mir der kopf!
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)