Witam,
napisałem (jeszcze niedokończony) program. Jest z nim jeden problem, a mianowicie przy próbie otworzenia 1 opcji w tym programie - rysowanie wykresu, wychodzi błąd : nazwa 'wykres.html' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy .
Czy ktoś mógłby mi wytłumaczyć co z tym zrobić? Szukałem odpowiedzi w Google, próbowałem zmieniać coś w PATH, ale do niczego dobrego nie doszedłem.
Z góry wielkie dzięki, wrzucam kod programu:
#define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
typedef struct Parametry
{
double A,A0,fs,fp,t,fi;
}Parametry;
typedef struct Tablica
{
double *sygnal;
double *czas;
int ilosc;
}Tablica;
void generuj(Parametry *p,Tablica *t);
double wyswietl (Tablica *t);
double zapis (Tablica *t);
double odczyt (Tablica *t);
double menu(Parametry *p, Tablica *t);
float szum();
void odszumianie (Tablica*t);
void wykres(Tablica *t);
int main(void)
{
Parametry p={1,0,1,20,1,0};
Tablica t={0,0,0};
generuj(&p,&t);
menu(&p, &t);
if(t.czas)
free(t.czas);
if(t.sygnal)
free(t.sygnal);
system("PAUSE");
return 0;
}
double menu(Parametry *p, Tablica *t)
{
int znak;
printf("Podaj znak: ");
scanf("%d", &znak);
switch(znak)
{
case 1:
printf("Wyswietlanie tablicy\n");
wyswietl(t);
wykres(t);
system("wykres.html");
break;
case 2:
printf("Zapisywanie tablicy do pliku\n");
zapis(t);
break;
case 3:
printf("Odczytywanie i liczenie linii pliku \n");
odczyt(t);
break;
case 4:
printf("Odszumianie sygnalu \n");
odszumianie(t);
wyswietl(t);
break;
default: printf("zly znak");
break;
}
return 0;
}
void generuj(Parametry *p, Tablica *t)
{
int i;
int ilosc = (int)(p->fp*p->t);
float s;
srand(time(NULL));
t->czas=(double*)malloc(sizeof(double)*ilosc);
t->sygnal=(double*)malloc(sizeof(double)*ilosc);
t->ilosc=ilosc;
for(i=0;i<t->ilosc;i++)
{
i=(rand()%(t->ilosc))+i;
s=(rand()%100+rand()%100+rand()%100+rand()%100+rand()%100+rand()%100+rand()%100+rand()%100+rand()%100+rand()%100)*1.0/5000;
}
for(i=0;i<ilosc;i++)
{
t->sygnal[i]=(p->A0+p->A*sin(2.0*M_PI*p->fs*i/p->fp+p->fi))+s;
t->czas[i]=(double)i/(p->fp);
}
}
double wyswietl (Tablica *t)
{
int i;
for (i=0;i<t->ilosc;i++)
{
printf("%.3lf\t%lf\n", t->czas[i], t->sygnal[i]);
}
return 0;
}
double zapis (Tablica *t)
{
int i;
FILE *plik;
plik= fopen("nazwa.txt", "w");
for (i=0;i<t->ilosc;i++)
{
fprintf (plik, "%.3lf\t%lf\n", t->czas[i], t->sygnal[i]);
}
fclose(plik);
return 0;
}
double odczyt (Tablica *t)
{
char c;
int a=0;
FILE *plik;
plik= fopen("nazwa.txt", "r");
while (!feof(plik))
{
c=fgetc(plik);
if(c=='\n') a++;
}
rewind (plik);
printf("%d\n", a);
fclose (plik);
return 0;
}
void odszumianie (Tablica *t)
{
int i;
t->sygnal[0]=(t->sygnal[0]+t->sygnal[1])/2;
t->sygnal[1]=(t->sygnal[0]+t->sygnal[1]+t->sygnal[2])/3;
for(i=2;i<t->ilosc-1;i++)
{
t->sygnal[i]=(t->sygnal[i-2]+t->sygnal[i-1]+t->sygnal[i]+t->sygnal[i+1]+t->sygnal[i+2])/5;
}
t->sygnal[t->ilosc-2]=(t->sygnal[i-3]+t->sygnal[i-2]+t->sygnal[i-1]+t->sygnal[i])/4;
t->sygnal[t->ilosc-1]=(t->sygnal[i-2]+t->sygnal[i-1]+t->sygnal[i])/3;
}
void wykres(Tablica *t)
{
FILE *plik;
int i;
char kolor[20], tytul[20];
char *nazwa = "wykres.html";
int szerokosc, wysokosc;
printf("Podaj tytul wykresu: ");
scanf("%s", tytul);
printf("Podaj wysokosc wykresu: ");
scanf("%d", &wysokosc);
printf("Podaj szerokosc wykresu: ");
scanf("%d", &szerokosc);
printf("Podaj kolor wykresu: ");
scanf("%s", kolor);
plik=fopen("nazwa.txt","w");
fprintf(plik,"<html>\n");
fprintf(plik,"<head>\n");
fprintf(plik, "<title>%s</title>", tytul);
fprintf(plik,"<script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script>\n");
fprintf(plik,"<script type=\"text/javascript\">\n");
fprintf(plik,"google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n");
fprintf(plik,"google.setOnLoadCallback(drawChart);\n");
fprintf(plik,"function drawChart() {\n");
fprintf(plik,"var data = google.visualization.arrayToDataTable([\n");
fprintf(plik,"['t->czas', 't->sygnal'],\n");
for (i=0;i<t->ilosc;i++)
{
fprintf(plik,"[%.3lf, %lf]\n", t->czas[i], t->sygnal[i]);
}
fprintf(plik,"]);\n");
fprintf(plik,"var chart = new google.visualization.LineChart(document.getElementById('chart_div'));\n");
fprintf(plik,"chart.draw(data, {\n");
fprintf(plik,"colors: ['%s']\n", kolor);
fprintf(plik,"}\n");
fprintf(plik,");\n");
fprintf(plik,"}\n");
fprintf(plik,"</script>\n");
fprintf(plik,"</head>\n");
fprintf(plik,"<body>\n");
fprintf(plik,"<p><center><b>%s</b></center></p>\n", tytul);
fprintf(plik,"<div id=\"chart_div\" style=\"width: %dpx; height: %dpx;\"></div>\n", szerokosc, wysokosc);
fprintf(plik,"<p><b>Nazwa pliku:</b>Przetwarzanie sygnalu </p>\n");
fprintf(plik,"</body>\n");
fprintf(plik,"</html>\n");
fclose(plik);
}