Nej jeg tror ikke helt du forstår mit spørgsmål. Jeg prøver at forklare det igen. Problemet er at jeg lige nu er nået frem til følgende kode for programmet:
#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;
for(n = 0; n < 1; n++)
{
char s[3];
sprintf(s, "%.1f", (maxx/5)*n);
Putstr(13 + 4*n, 14, s);
sprintf(s, "%.1f", (maxx/5)*n);
Putstr(17 + 4*n, 15, s);
sprintf(s, "%.1f", (maxx/5)*n);
Putstr(21 + 4*n, 14, s);
sprintf(s, "%.1f", (maxx/5)*n);
Putstr(24 + 4*n, 15, s);
sprintf(s, "%.1f", (maxx/5)*n);
Putstr(29 + 4*n, 14, s);
sprintf(s, "%.1f", (maxx/5)*n);
Putstr(32 + 4*n, 15, s);
}
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;
}
Når jeg kører programmet viser det følgende:
Minimums og maksimums værdi på x-aksen: 0.0, 50.0
Minimums og maksimums værdi på y-aksen: 0.0, 50.0
Temp(C)
^
|
|
|
|
|
|
|
|
|
|
+---|---|---|---|---|->Tid(sek)
0.0 0.0 0.0
0.0 0.0 0.0
Det jeg godt vil have programmet til at gøre er, at når jeg taster en maximum=50 ind skal programmet selv kunne regne at der ved hver lodret streg på aksen skal stå:
Temp(C)
^
|
|
|
|
|
|
|
|
|
|
+---|---|---|---|---|->Tid(sek)
0.0 20.0 40.0
10.0 30.0 50.0