Hi,
ich hab vor kurzem mit C angefangen und wollte ein Programm schreiben, dass von einer gegebenen Funktion f(x)=ax^2+bx+c die Nullstellen berechnen kann. Um mich einzuarbeiten, hat ich erst mal ein Programm vor zu schreiben, das das ganzzahlige X links und rechts von der ersten Nullstelle der Parabel berechnet, indem ich so lange von der y- Achse aus nach rechts gehe, bis y das Vorzeichen wechselt. Hier ist der Quellcode:
Es ist nun folgendes: wenn ich die vorletzte geschweifte Klammer weglasse, dann funktioniert das Programm für c>0. MIT der vorletzten geschweiftel Klammer erhalt ich folgenden Fehler:
45 C:\Dev-Cpp\include\vari.cpp expected constructor, destructor, or type conversion before ';' token
46 C:\Dev-Cpp\include\vari.cpp expected unqualified-id before "return"
46 C:\Dev-Cpp\include\vari.cpp expected `,' or `;' before "return"
47 C:\Dev-Cpp\include\vari.cpp expected declaration before '}' token
Es wäre nett, wenn sich jemand die Fehlermeldungen anschauen könnte und mir sagen könnte, woran der Fehler liegt oder wie ich danach suche, weil ich ehrlich gesagt gar nichts mit "constructor, destructor, or type conversion" anfangen kann.
Danke im Vorraus.
CU![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
ich hab vor kurzem mit C angefangen und wollte ein Programm schreiben, dass von einer gegebenen Funktion f(x)=ax^2+bx+c die Nullstellen berechnen kann. Um mich einzuarbeiten, hat ich erst mal ein Programm vor zu schreiben, das das ganzzahlige X links und rechts von der ersten Nullstelle der Parabel berechnet, indem ich so lange von der y- Achse aus nach rechts gehe, bis y das Vorzeichen wechselt. Hier ist der Quellcode:
Code:
#include<stdio.h>
#include<conio.h>
int main()
{
int i,y,y1,y2,y0,x1,x2,x3,x4,x0,x,a,b,c;
printf("Programm zur Nullstellenbestimmung von Funktionen der Form ax^2+bx+c\n\n");
printf("Bitte a, b und c eingeben.\n");
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
printf("c=");
scanf("%d",&c); /*Definition der Koeffizienten*/
/*wenn c>0, dann f(0)>0, wenn c=0, dann f(0)=0 und wenn c<0, dann f(0)<0*/
if (c>0) {
y=c;
x=0;
while(y>0)
{
y=(a*(x*x)+b*x+c);
x++;
}
x2=--x;
x1=--x;
printf("(x1|y1) => (%d|%d)\n",x1,y=(a*x1*x1+b*x1+c));
printf("(x2|y2) => (%d|%d)\n\n\n",x2,(y=a*x2*x2+b*x2+c)); /*Annäherung an erste Nullstelle*/
}
y=c;
x=0;
while(y>0)
{
y=(a*(x*x)+b*x+c);
x--;
}
x4=++x;
x3=++x;
printf("(x3|y3) => (%d|%d)\n",x3,y=(a*x3*x3+b*x3+c));
printf("(x4|y4) => (%d|%d)\n\n\n",x4,(y=a*x4*x4+b*x4+c)); /*Annäherung an zweite Nullstelle*/
}
getch();
return 0;
}
Es ist nun folgendes: wenn ich die vorletzte geschweifte Klammer weglasse, dann funktioniert das Programm für c>0. MIT der vorletzten geschweiftel Klammer erhalt ich folgenden Fehler:
45 C:\Dev-Cpp\include\vari.cpp expected constructor, destructor, or type conversion before ';' token
46 C:\Dev-Cpp\include\vari.cpp expected unqualified-id before "return"
46 C:\Dev-Cpp\include\vari.cpp expected `,' or `;' before "return"
47 C:\Dev-Cpp\include\vari.cpp expected declaration before '}' token
Es wäre nett, wenn sich jemand die Fehlermeldungen anschauen könnte und mir sagen könnte, woran der Fehler liegt oder wie ich danach suche, weil ich ehrlich gesagt gar nichts mit "constructor, destructor, or type conversion" anfangen kann.
Danke im Vorraus.
CU
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)