Wpis z mikrobloga

Hej mirki, kolejny raz mam problem z programowaniem. Mam napisać program, który będzie rozwiązywał równanie kwadratowe, ale współczynniki mają być wczytywane z pliku. Napisałem coś takiego i nie wiem gdzie coś schrzaniłem, bo nie działa.
#include
#include
int main(){
FILE *dane;
dane=fopen("./plik.txt","r");
if(dane==NULL){
printf("Wystapil blad");
}
float a,b,c,delta,x1,x2,x;
int i=0;
int tab[9];
while(!feof(dane))
{
a=tab[i];
b=tab[i+1];
c=tab[i+2];
fscanf(dane,"%d,%d,%d",a,b,c);
printf("Wczytano wartosc %d\n",tab[9]);
delta=pow(b,2)-4*a*c;
if(a==0)
{
printf("To nie jest rownanie kwadratowe\n");
}
else{
if(delta<0)
{
printf("Rownanie nie ma rozwiazan\n");
}
else{
if(delta==0)
{
x=(-b/2*a);
printf("Rozwiazaniem rownania jest %f\n",x);
}
else{
if(delta>0);
{
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
printf("Rozwiazaniami rownania sa x1=%f i x2=%f\n",x1,x2);
}
}
}
}
i++;
}
fclose(dane);
return 0;
}

#informatyka #programowanie
  • 6
@SawyerM: po pierwsze program nie kompiluje się:
- funkcja fopen zwraca FILE*, więc zmienna 'dane' musi być typu FILE* a nie FILE
- wyrażenia typu 4ac i 2a - tu pewnie chodziło Ci o mnożenie - w C mnożenie zapisujemy za pomocą operatora '*', więc te wyrażenia powinny wyglądać tak: 4 * a * c i 2 * a
Jak to poprawisz to popatrzymy dalej co nie działa.