Max. og min.
HejJeg er igang med et program der plotter et to-dimentionelt koordinatsystem på skærmen. Jeg er næsten færdig bortset fra et lille problem der har voldet mig problemer i et par dage nu. Det er nemlig sådan at programmet skal kunne modtage en minimum værdi for både x- og y-akserne. Og så skal programmet vha. de maksimum og minimum værdier man taster ind selv kunne udregne og skrive intervalværdierne på akserne.
Mit program indtil videre:
#include <stdio.h>
#include <string.h>
char xText[] = "Tid(sek)";
char yText[] = "Temp(C)";
char a[16][45] =
{
{" "},
{" "},
{" ^ "},
{" | "},
{" | "},
{" | "},
{" | "},
{" | "},
{" | "},
{" | "},
{" | "},
{" | "},
{" | "},
{" +---|---|---|---|---|-> "},
{" "},
{" "}
};
void Putstr(int x, int y, const char* s)
{
int i;
for(i = 0; s[i]; i++)
a[y][x + i] = s[i];
}
void Putstr1(int x, int y, const char* s)
{
int i;
for(i = 0; s[i]; i++)
a[x][y + i] = s[i];
}
int main()
{
int l, i;
double minx = 0.0;
double maxx = 100.0;
double miny = 0.0;
double maxy = 100.0;
int n;
double max = 100.0;
// x-aske intervalværdier:
for(n = 0; n < 1; n++)
{
char s[3];
sprintf(s, "%.1f", (max/5)*n);
Putstr(13, 14, s);
}
for(n = 1; n < 2; n++)
{
char t[4];
sprintf(t, "%.1f", (max/5)*n);
Putstr(17, 15, t);
}
for(n = 2; n < 3; n++)
{
char u[4];
sprintf(u, "%.1f", (max/5)*n);
Putstr(21, 14, u);
}
for(n = 3; n < 4; n++)
{
char v[4];
sprintf(v, "%.1f", (max/5)*n);
Putstr(24, 15, v);
}
for(n = 4; n < 5; n++)
{
char b[4];
sprintf(b, "%.1f", (max/5)*n);
Putstr(29, 14, b);
}
for(n = 5; n < 6; n++)
{
char d[4];
sprintf(d, "%.1f", (max/5)*n);
Putstr(32, 15, d);
}
// y-aske intervalværdier:
for(n = 0; n < 1; n++)
{
char e[1];
sprintf(e, "%.f", (max/5)*n);
Putstr(11, 13, e);
}
for(n = 1; n < 2; n++)
{
char r[4];
sprintf(r, "%.1f", (max/5)*n);
Putstr(8, 11, r);
}
for(n = 2; n < 3; n++)
{
char g[4];
sprintf(g, "%.1f", (max/5)*n);
Putstr(8, 9, g);
}
for(n = 3; n < 4; n++)
{
char f[4];
sprintf(f, "%.1f", (max/5)*n);
Putstr(8, 7, f);
}
for(n = 4; n < 5; n++)
{
char h[4];
sprintf(h, "%.1f", (max/5)*n);
Putstr(8, 5, h);
}
for(n = 5; n < 6; n++)
{
char m[4];
sprintf(m, "%.1f", (max/5)*n);
Putstr(7, 3, m);
}
printf("Minimums og maksimums værdi på x-aksen: ");
fflush(stdout);
scanf("%lf, %lf", &minx, &maxx);
printf("Minimums og maksimums værdi på y-aksen: ");
fflush(stdout);
scanf("%lf, %lf", &miny, &maxy);
memcpy(a[1] + 10, yText, strlen(yText));
memcpy(a[13] + 45 - strlen(xText), xText, strlen(xText));
for(l = 0; l < 16; l++,printf("\n"))for(i=0; i<45; i++)
{
printf("%c", a[l][i]);
}
return 0;
}