Witam mam problem z poniższym programem . Cały czas wyskakuje mi error C2143: syntax error : missing ';' before 'type' chociaz pozmienialem typy zmiennych i pozornie wszystko jest dobrze.
(program ten tworzy sygnal i wyswietlka go w google chart)
Z góry dzieki za pomoc.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void wykres(int,float*, float*, char*);
void wykres15(float*,float*,float,float,float,float,float,int,int,int);
int main(void)
{
float *tabx,*taby;
float time,ferq,T,dt,ampl; //T - okres, dt - skok czasu, taby - wskaznik na tablice wartosci
int i,ind,allsamp,nP,lP,samp; //nP - liczba okresow
int p1,p2; //przedzialy, w ktorych generowany jest jeden okres
int a;
//obliczanie parametrow sygnalu
T = 1/ferq; //okres
dt = T / samp; //skok czsu
nP = (int)ceil(time / T); //liczba okresow
allsamp = sampnP; //liczba wszystkich probek
//wprowadzanie zmiennych
printf("Podaj parametry sygnalu: \n");
printf("Amplituda: ");
scanf("%f",&l);
printf("Czestotliwosc [Hz]: ");
scanf("%f",&ferq);
printf("Czas trwania: ");
scanf("%f",&time);
printf("Liczba probek na okres (liczba calkowita, np. 200): ");
scanf("%d",&samp);
//dynamiczna alokacja tablicy z wyzerowaniem
tabx = (float*)calloc(allsamp, sizeof(float));
taby = (float*)calloc(allsamp, sizeof(float));
//generowanie osi czasu
for(i=0;i<allsamp;i++)
{
tabx[i] = i*dt;
}
wykres15(taby,tabx,ampl,ferq,time,T,dt,samp,allsamp,nP); // WYKRES 15
wykres(allsamp,tabx,taby,"wykres.html");
//GENEROWANIE WYKRESU 15
void wykres15(float *tabx,float *taby,float ampl,float dt,float T,float time,float ferq,int nP,int samp,int allsamp)
{
int i,ind,lP,p1,p2;
for(lP=0;lP<nP;lP++)
{
p1 = samp/2;
p2 = samp;
for(i=0;i<p1;i++)
{
ind = i+samp*lP;;
taby[ind]=ampl*i;
}
for(i=p1;i<p2;i++)
{
ind = i+samp*lP;
taby[ind]=(((p1+1)-i)*(p2-i));
}
}
}
void wykres(int l,float *tx, float *ty, char nazwa[]) //funkcja generujaca kod html dla wykresu Google Chart
{
FILE *fp;
int i;
printf("Rysuj %s\n",nazwa);
fp = fopen(nazwa,"w");
fprintf(fp,"<html>\n");
fprintf(fp,"<head>\n");
fprintf(fp,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
fprintf(fp,"<script type=\"text/javascript\">\n");
fprintf(fp,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
fprintf(fp,"google.setOnLoadCallback(drawChart);\n");
fprintf(fp,"function drawChart() {\n");
fprintf(fp,"var data = google.visualization.arrayToDataTable([\n");
fprintf(fp,"['i', 'Wartosc'],\n");
for(i=0;i<l;i++){
fprintf(fp,"[%f, %f],\n",tx[i],ty[i]); //przekazanie danych na wykres
}
fprintf(fp,"[%f, %f]\n",tx[i-1],ty[i-1]);
fprintf(fp,"]);\n");
fprintf(fp,"var options = {\n");
fprintf(fp,"title: 'Wybrany sygnal'\n");
fprintf(fp,"};\n");
fprintf(fp,"var chart = new google.visualization.LineChart(document.getElementById('chart_div'));\n");
fprintf(fp,"chart.draw(data, options);\n");
fprintf(fp,"}\n");
fprintf(fp,"</script>\n");
fprintf(fp,"</head>\n");
fprintf(fp,"<body>\n");
fprintf(fp,"<div id=\"chart_div\" style=\"width: 900px; height: 500px;\"></div>\n");
fprintf(fp,"</body>\n");
fprintf(fp,"</html>\n");
fclose(fp);
system(nazwa); //uruchomienie pliku html
}