Avatar billede sehrish Nybegynder
09. december 2008 - 19:54 Der er 1 kommentar

Max. og min.

Hej
Jeg 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;
}
Avatar billede bertelbrander Novice
09. december 2008 - 20:00 #1
Hvis nogen skulle være interesseret i forhistorien:
http://www.udvikleren.dk/C/Thread.aspx/1/26892/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester