Hallo!
Ich hoffe ihr könnt mir helfen. Ich studiere Bau- und Umweltingenieurwissenschaften im ersten Semester und lerne dort auch zu programmieren. Leider bin ich im Programmieren offensichtlich eine absolute Null und konnte bis jetzt nur 2 der 6 Hausübungen lösen und wenn ich noch 6 mehr nicht schaffe, kann ich das Semester in diesem Fach nicht beenden.
Die Angabe zur Hausübung habe ich angehängt und hier folgt meine Lösungsidee:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define EXP 2.718281
int main()
{
int x, fak, n;
double zwischenwert, expwert;
printf("Bitte Zahl eingeben:");
scanf("%d", &x);
do
{
if(x<=-100)
return EXIT_FAILURE;
if(x<=0)
{
printf("Negative Zahl eingegeben. Bitte positive Zahl eingeben:");
scanf("%d", &x);
}
}
while (x>0);
{
expwert=0;
fak=1;
n=1;
if(x<=30)
{
zwischenwert = pow(x,n) / fak;
expwert = expwert + zwischenwert;
n++;
fak = fak * n;
printf("Der angenäherte Wert ist: %.4lf\n", expwert);
printf("Der reale Wert ist: %.4lf\n", pow(EXP, x));
}
}
}
Die beiden ersten "ifs" Funktionieren, also diejenigen, die bei einer Zahl, die kleiner als 0 ist, eine Fehlermeldung ausgeben sollen. Bei der letzten allerdings hänge ich dann in einer Endlosschleife drinnen, in der Terminal kein Ergebnis ausrechnen kann und ich mit "ctrl c" abbrechen muss.
Ich wäre euch sehr dankbar, wenn mir jemand helfen und mir meine(n) Fehler erklären könnte.
LG Daniel
daniel92 (12) 2x Beste Antwort
|