Program aa wyświetlac obiekt (na razie * ale powinna to byc tablica znaków) poruszający się po krzywej, z czyszczeniem ekranu i funkcją zatrzymującą ekran. Co jest źle? Bardzo prosze o pomoc
kod:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <windows.h>
#define S 60
#define W 60
float wx(float t);
float wy(float t);
float t;
int t_min, t_max, x, y;
void drukuj();
char plaszczyzna[S][W];
char plaszczyzna_pusta[S][W];
int main(){
printf("Podaj poczatek zakresu t: ");
scanf("%d",&t_min);
printf("Podaj koniec zakresu t: ");
scanf("%d",&t_max);
float step = 0.01;
for (t=t_min; t<=t_max; t+=step){
x=(int)round(wx(t)) + S/2;
y=(int)round(wy(t)) + W/2;
for(x = 0; x < S; x++){
for(y = 0; y < W; y++){
plaszczyzna[x][y]=' ';
}
}
printf("\n");
drukuj();
Sleep (1000);
wyczysc();}
}
void drukuj(){
float step = 0.01;
for(t=t_min; t<=t_max; t+=step){
x=(int)round(wx(t)) + S/2;
y=(int)round(wy(t)) + W/2;
if (x >=0 && x < S && y >= 0 && y< W){
plaszczyzna[x][y]='*';
}
}
for (y=W-1; y>=0; y--){
for (x=0; x<=S; x++){
printf("%c",plaszczyzna[x][y]);
}
printf("\n");
}
}
void wyczysc(char plaszczyzna_pusta[S][W]){
x=(int)round(wx(t)) + S/2;
y=(int)round(wy(t)) + W/2;
for(x = 0; x < S; x++){
for(y = 0; y < W; y++){
plaszczyzna[x][y]=' ';
}
}
printf("\n");
}
float wx(float t){
return x = 16*sin(6*t);
}
float wy(float t){
return y = 16*sin(5*t + 1.57);
}