Program liczacy pole trojkata/jezyk C

Program liczacy pole trojkata/jezyk C
0

Witam,
Chce napisac program liczacy pole trojkata ktory dodatkowo bedzie:
1)sprawdzal czy pobrane liczby sa wieksze od 0 (tutaj probowalam sprawdzanie dla wyniku czy jest wiekszy od 4, gdyz nie wiem jak zabrac sie za pobrane liczby)
2)pobieral dane z pliku
3)obliczanie dla wiekszej ilosci danych (ten punkt pominelam, gdyz nie wiem jak sie za niego zabrac)
4)rownanie obliczone w postaci funkcji

Moj program:

Kopiuj
 #include<stdio.h>

#include<stdlib.h>

#include<math.h>


//trokajt

trojkat (int a, int h)

{float g=0;
g=(a*h)/2;

}


main()

{FILE* f;
float a, h;


f=fopen("dane","r");

while(!feof(f));

{fscanf(f, "%f %f", &a,&h);


printf("Pole trojkata to %.2f\n", a*h/2);

fclose(f);

return 0;

}


{
int wynik=(a*h)/2;

scanf("%d", &wynik);

if (wynik>4)

printf("Pole trojkata %d jest wieksze od 4\n",wynik);

else

printf("Pole trojkata %d jest mniejsze lub rowne 4\n",wynik);

return 0;

}


}

Bardzo prosze o pomoc

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:7 dni
0

Zacząć od byle kursa C, po jego przeczytaniu będziesz przynajmniej umieć napisać sensownie post z prośbą o pomoc.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Szczecin
2

edytowany 1x, ostatnio: kq
gswidwa
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 5 lat
  • Postów:839
0

Zformatowałem:

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


//trokajt

trojkat (int a, int h)
{
    float g = 0;
    g = (a*h)/2;

}


main()
{
    FILE* f;
    float a, h;


    f=fopen("dane","r");

    while(!feof(f));
    {
        fscanf(f, "%f %f", &a,&h);
        printf("Pole trojkata to %.2f\n", a*h/2);
        fclose(f);
        return 0;
    }

    {
        int wynik=(a*h)/2;
        scanf("%d", &wynik);
        if (wynik>4)
         printf("Pole trojkata %d jest wieksze od 4\n",wynik);
        else

        printf("Pole trojkata %d jest mniejsze lub rowne 4\n",wynik);
        return 0;
    }
}

I teraz tak:

Kopiuj
trojkat (int a, int h) 

http://we.pb.edu.pl/~jforenc/2012_2013_02/INF1_07Z.pdf

Kopiuj
while(!feof(f));
    {
        fscanf(f, "%f %f", &a,&h);
        printf("Pole trojkata to %.2f\n", a*h/2);
        fclose(f);
        return 0;
    } 

Nie wiem co Ci daje ten średnik po while(!feof(f)).
http://cpp0x.pl/kursy/Kurs-C++/Poziom-3/Petla-while/354
Polecam też się zapoznać z:
Return
Break

A teraz o programie.

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

///funkcja obliczajaca pole trojkata zwracajaca wartosc typu double/float/int
///http://we.pb.edu.pl/~jforenc/2012_2013_02/INF1_07Z.pdf

int main()
{
    int wynik, a, h;
    ///otworzenie pliku
    ///http://www.fizyka.umk.pl/~grochu/wiki/doku.php?id=zajecia:jpr:zajecia10
    ///http://grafika.weii.tu.koszalin.pl/c/w10.pdf
    
    ///petla "while"/"do while" odczytujaca liczby z pliku i zapisujaca je do zmiennych a, h
    ///http://cpp0x.pl/kursy/Kurs-C++/Poziom-3/Petla-while/354
    {
        wynik = ///wywołanie funkcji obliczajacej pole trojkata wykorzystujac jako argumenty a, h
        
        ///sprawdzenie zmiennej wynik za pomocą instrukcji if()
        ///http://mikrokontrolery.blogspot.com/2011/02/if-warunkowa-instrukcja-sterujaca.html

        ///warunek kończący petlę jeżeli uzywasz while(). Poczytaj o:
        ///http://4programmers.net/C/Break
    }
    ///zamkniecie pliku
}
Jesli czegoś nie rozumiesz, pisz.
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Szczecin
2

Funkcja musi mieć zadeklarowany typ zwracany. Przed C89 był to domyślnie int (w takim trybie - sprzed 27 lat - musisz kompilować, bo inaczej kompilacja by się zakończyła błędem). Jeśli funkcja zwracająca typ inny niż void nie ma instrukcji return to jest to UB (wyjątek: main w C99 i C11). Także to też do poprawy.


gswidwa
Ma link do kursu gdzie jest pokazane jak tworzyc funkcje i jak zwracać wartość.
kq
No to teraz tylko czekać aż przeczyta :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.