My code is incorrect beacuse the program does not take care of what I write the maximum an minimum values. When the program ask me to write a the maximum and minimum for x-axes, and maximum for y-axes, and I write 0.0, 100: (I get this output):
Code:
Minimums og maksimums værdi på x-aksen: 0.0, 100.0
Minimums og maksimums værdi på y-aksen: 0.0, 100.0
Temp(C)
^
50.0 |
|
40.0 |
|
30.0 |
|
20.0 |
|
10.0 |
|
0 +---|---|---|---|---|->Tid(sek)
0.0 20.0 40.0
10.0 30.0 50.0
And thats not true beacuse I wrote the maximum and minimum on both axes to be 0.0, 100.0.
Can you please show me a way to make my program understand how to use the maximum oan d minimum value the user write. And not use what I wrote in my code: double maxx=50;
my code is now:
Code:
#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;
double maxx;
double miny;
double maxy;
int n;
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);
double max = 50.0;
// x-aske intervalværdier:
for(n = 0; n < 1; n++)
{
char s[32];
sprintf(s, "%.1f", (max/5)*n);
Putstr(13, 14, s);
}
for(n = 1; n < 2; n++)
{
char t[32];
sprintf(t, "%.1f", (max/5)*n);
Putstr(17, 15, t);
}
for(n = 2; n < 3; n++)
{
char u[32];
sprintf(u, "%.1f", (max/5)*n);
Putstr(21, 14, u);
}
for(n = 3; n < 4; n++)
{
char v[32];
sprintf(v, "%.1f", (max/5)*n);
Putstr(24, 15, v);
}
for(n = 4; n < 5; n++)
{
char b[32];
sprintf(b, "%.1f", (max/5)*n);
Putstr(29, 14, b);
}
for(n = 5; n < 6; n++)
{
char d[32];
sprintf(d, "%.1f", (max/5)*n);
Putstr(32, 15, d);
}
// y-aske intervalværdier:
for(n = 0; n < 1; n++)
{
char e[32];
sprintf(e, "%.f", (max/5)*n);
Putstr(11, 13, e);
}
for(n = 1; n < 2; n++)
{
char r[32];
sprintf(r, "%.1f", (max/5)*n);
Putstr(8, 11, r);
}
for(n = 2; n < 3; n++)
{
char g[32];
sprintf(g, "%.1f", (max/5)*n);
Putstr(8, 9, g);
}
for(n = 3; n < 4; n++)
{
char f[32];
sprintf(f, "%.1f", (max/5)*n);
Putstr(8, 7, f);
}
for(n = 4; n < 5; n++)
{
char h[32];
sprintf(h, "%.1f", (max/5)*n);
Putstr(8, 5, h);
}
for(n = 5; n < 6; n++)
{
char m[32];
sprintf(m, "%.1f", (max/5)*n);
Putstr(7, 3, m);
}
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;
}
Sorry for all my confusion, but I have for about 1 months ago learned to program in C, and I find it really really hard!