Zusatzbeispiel Dienstag Gruppe

Antworten
Benutzeravatar
Lelouch
Beiträge: 734
Registriert: 04.12.2008, 13:21
Wohnort: Unlimited Blade Works

Zusatzbeispiel Dienstag Gruppe

Beitrag von Lelouch »

Da er uns ja ein Zusatzbeispiel gegeben hat, denke ich mir es kann nicht schaden das zu programmieren. Dateien und Angabe im Anhang, aber ich poste den Text besser auch so nochmal da der Windows Texteditor die Zeilenumbrüche von unter Linux geschriebenen Files wohl nicht sehr mag.

##########
#include <stdio.h>
#include <stdlib.h>

struct wurzeln
{
double x;
double y;
};

struct wurzeln *lese (char *filename,int *max);
struct wurzeln *lese (char *filename,int *max)
{
FILE *infile;
int k;
double x,y;
struct wurzeln *tabelle;
infile=fopen(filename,"r");
if(!infile) { printf("Lesefehler\n"); exit(1);}
for(k=0;;k++)
{
if(fscanf(infile,"%lf %lf",&x,&y)==EOF) break;
}
*max=k;
rewind(infile);
tabelle=malloc(k*sizeof(struct wurzeln));
for(k=0;;k++)
{
if(fscanf(infile,"%lf %lf",&(tabelle[k].x),&(tabelle[k].y))==EOF) break;
}
fclose(infile);
return tabelle;
}

void printele (char *filename,struct wurzeln *tabelle, int *max, double *hit)
{
int k,l=1;
for (k=0;k<*max;k++)
{
if(tabelle[k].x == *hit)
{
printf("%i.Treffer: sqrt(%g) = %g\n",l,*hit,tabelle[k].y);
l++;
}
}
}

void printliste (char *filename, struct wurzeln *tabelle, int *max)
{
int k=0;
for(k=0;k<*max;k++) printf("sqrt(%g) = %g\n",tabelle[k].x,tabelle[k].y);
}
main (int cmdzahl, char **cmdname)
{
double x;
int i;
struct wurzeln *liste;
liste=lese(cmdname[1],&i);

if (cmdzahl > 3)
{
printf("zuviele Parameter\n");
exit(1);
}
else if (cmdzahl == 3)
{
x=atof(cmdname[2]);
printele(cmdname[1],liste,&i,&x);
}
else if(cmdzahl == 2)
{
printliste(cmdname[1],liste,&i);
}
exit(0);
}
#########

Aufzurufen wie in der Angabe beschrieben. Als Werte habe ich einfach eine Datei mit Wurzelfunktionen genommen.
Musste sie fürs Forum in ein .zip umwandeln weil er die Datei sonst nicht annehmen will.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten

Zurück zu „Datenverarbeitung für TPH I“