koden er meget stor..
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[])
{
int tal,tal1,tal12,tal13,fejl,xx,o4,o5,o6,o7,antal_step;
float tal2,tal3,tal4,tal5,tal6,tal7,tal8,tal9,tal10,tal11;
float x1,x2,x3,x4,x5,xa,xb,xc,xcc,x6,x7,xud1,xud2,xud3,xud33,x8,x9,xsid,xsid1,xsid2,xsid3;
float i,o9,p1,p2,p3,p4,p5,p6,p7,p8,dala,interval,o1,o2,o3,o8;
trettental:
tal = 0; //nulstilling af tal
tal1 = 0; //nulstilling af tal
tal2 = 0; //nulstilling af tal
tal3 = 0; //nulstilling af tal
tal4 = 0; //nulstilling af tal
tal5 = 0; //nulstilling af tal
tal6 = 0; //nulstilling af tal
tal7 = 0; //nulstilling af tal
tal8 = 0; //nulstilling af tal
tal9 = 0; //nulstilling af tal
tal10 = 0; //nulstilling af tal
tal11 = 0; //nulstilling af tal
tal12 = 0; //nulstilling af tal
o7 = 0; //nulstilling af tal
p4 = 0;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Definering af tal.
cout << "\\nAntal grad af polyminium(1-8): ";
cin >> tal12;
if (tal12 == 1)
goto etgrad;
if (tal12 == 2)
goto tograd;
if (tal12 == 3)
goto tregrad;
if (tal12 == 4)
goto firegrad;
if (tal12 == 5)
goto femgrad;
if (tal12 == 6)
goto seksgrad;
if (tal12 == 7)
goto syvgrad;
if (tal12 == 8)
goto ottegrad;
ottegrad:
cout << "\\nVælg a8's værdi: ";
cin >> tal2;
syvgrad:
cout << "\\nVælg a7's værdi: ";
cin >> tal3;
seksgrad:
cout << "\\nVælg a6's værdi: ";
cin >> tal4;
femgrad:
cout << "\\nVælg a5's værdi: ";
cin >> tal5;
firegrad:
cout << "\\nVælg a4's værdi: ";
cin >> tal6;
tregrad:
cout << "\\nVælg a3's værdi: ";
cin >> tal7;
tograd:
cout << "\\nVælg a2's værdi: ";
cin >> tal8;
etgrad:
cout << "\\nVælg a1's værdi: ";
cin >> tal9;
cout << "\\nVælg a0's værdi: ";
cin >> tal10;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Menu
menu:
tal1 = 0;
cout << "\\nHvad vil du?\\n 1: Beregning af f(x)\\n 2: Beregning af skæring med x aksen\\n 3: Beregning af afstanden imellem 2 punkter\\n 4: Beregning af arealet imellem x aksen og funktionen f(x)\\n 5: Beregning af vandret tangent (x-værdien og max/min)\\n 6: Beregning af tangenten ved en bestemt x værdi\\n 7: Beregning af max/min værdi i et bestemt interval\\n 8: Beregning af max/min hældning\\n 9: Beregning af tangentens hældning i skæringspunkterne med x aksen\\n 10: Beregning af den korteste afstand fra et givet punkt (x,y)\\n 11: Beregning af x værdien ved bestemt y værdi\\n 12: Beregning af areal over og under x-aksen\\n 13: Reset grad og a\\n\\nValg: ";
cin >> tal;
if (tal == 1)
goto ettal;
if (tal == 2)
goto total;
if (tal == 3)
goto tretal;
if (tal == 4)
goto firetal;
if (tal == 5)
goto femtal;
if (tal == 6)
goto sekstal;
if (tal == 7)
goto syvtal;
if (tal == 8)
goto ottetal;
if (tal == 9)
goto nital;
if (tal == 10)
goto tital;
if (tal == 11)
goto elvetal;
if (tal == 12)
goto tolvtal;
if (tal == 13)
goto trettental;
if (tal >= 14)
goto fejl;
if (tal <= 0)
goto fejl;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Opgave 1
ettal:
cout << "\\n\\nVælg x's værdi: ";
cin >> tal1;
tal11 = tal2*pow(tal1, 8)+tal3*pow(tal1, 7)+tal4*pow(tal1, 6)+tal5*pow(tal1, 5)+tal6*pow(tal1, 4)+tal7*pow(tal1, 3)+tal8*pow(tal1, 2)+tal9*tal1+tal10;
cout << "\\nf(x) = " << tal11 << endl;
goto ferdig;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Opgave 2
total:
cout << "\\nIndtast x1: ";
cin >> o1;
cout << "\\nIndtast x2: ";
cin >> o2;
//o6 = tal2*pow(o1, 8)+tal3*pow(o1, 7)+tal4*pow(o1, 6)+tal5*pow(o1, 5)+tal6*pow(o1, 4)+tal7*pow(o1, 3)+tal8*pow(o1, 2)+tal9*o1+tal10;
//if (o6 < 0)
//o3 = 1;
//o7 = tal2*pow(o2, 8)+tal3*pow(o2, 7)+tal4*pow(o2, 6)+tal5*pow(o2, 5)+tal6*pow(o2, 4)+tal7*pow(o2, 3)+tal8*pow(o2, 2)+tal9*o2+tal10;
//if (o7 > 0)
//o4 = 1;
//o6 = o3+o4;
//if (o6 == 2)
//goto udreg;
//else
//goto fejl;
//udreg:
antal_step = 1000;
interval = (o2-o1)/antal_step;
for (i=0 ; i <= antal_step; i++ )
{
o3 = o1 + i * interval;
o8 = tal2*pow(o3, 8)+tal3*pow(o3, 7)+tal4*pow(o3, 6)+tal5*pow(o3, 5)+tal6*pow(o3, 4)+tal7*pow(o3, 3)+tal8*pow(o3, 2)+tal9*o3+tal10;
if (( o8 < 0.1) && ( o8 > -0.1))
{
cout << " skærring ved ( x , y ) ";
cout << " ( " << o3 << "," << o8 << ")\\n";
cout << "\\n";
}
}
goto ferdig;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7
// Opgave 3
tretal:
cout << "\\nIndtast x1: ";
cin >> x1;
cout << "\\nIndtast x2: ";
cin >> x2;
cout << "\\nHvor ligger afstanden?\\n (1) = afstandens 2 punkter ligger begge på plus delen af x aksen\\n (2) = Et punkt på minus af x aksen, et punkt på plus x aksen\\n (3) = Begge punkter ligger på x aksens minus del ";
cin >> x5;
if (x5 == 1)
goto udregn1;
if (x5 == 2)
goto udregn2;
if (x5 == 3)
goto udregn3;
udregn1:
x3 = tal2*pow(x1, 8)+tal3*pow(x1, 7)+tal4*pow(x1, 6)+tal5*pow(x1, 5)+tal6*pow(x1, 4)+tal7*pow(x1, 3)+tal8*pow(x1, 2)+tal9*x1+tal10;
x4 = tal2*pow(x2, 8)+tal3*pow(x2, 7)+tal4*pow(x2, 6)+tal5*pow(x2, 5)+tal6*pow(x2, 4)+tal7*pow(x2, 3)+tal8*pow(x2, 2)+tal9*x2+tal10;
xb = x2-x1;
xa = x4-x3;
xc = pow(xb, 2)+pow(xa, 2);
xcc = sqrt(xc);
cout << "\\nAfstanden imellem x1 og x2 er: " << xcc;
goto ferdig;
udregn2:
//x6 = tal2*pow(x1, 8)+tal3*pow(x1, 7)+tal4*pow(x1, 6)+tal5*pow(x1, 5)+tal6*pow(x1, 4)+tal7*pow(x1, 3)+tal8*pow(x1, 2)+tal9*x1+tal10;
//x7 = tal2*pow(x2, 8)+tal3*pow(x2, 7)+tal4*pow(x2, 6)+tal5*pow(x2, 5)+tal6*pow(x2, 4)+tal7*pow(x2, 3)+tal8*pow(x2, 2)+tal9*x2+tal10;
//xud1 = x2-x1;
//xud2 = x4-x3;
//xud3 = pow(xb, 2)+pow(xa, 2);
//xud33 = sqrt(xc);
//cout << "\\nAfstanden imellem x1 og x2 er: " << xud33;
//goto ferdig;
udregn3:
//x8 = tal2*pow(x1, 8)+tal3*pow(x1, 7)+tal4*pow(x1, 6)+tal5*pow(x1, 5)+tal6*pow(x1, 4)+tal7*pow(x1, 3)+tal8*pow(x1, 2)+tal9*x1+tal10;
//x9 = tal2*pow(x2, 8)+tal3*pow(x2, 7)+tal4*pow(x2, 6)+tal5*pow(x2, 5)+tal6*pow(x2, 4)+tal7*pow(x2, 3)+tal8*pow(x2, 2)+tal9*x2+tal10;
//xsid = x1-x2;
//xsid1 = x8-x9;
//xsid2 = pow(xb, 2)+pow(xa, 2);
//xsid3 = sqrt(xc);
//cout << "\\nAfstanden imellem x1 og x2 er: " << xsid3;
//goto ferdig;
//if (x1 > x2)
//xx = x2-x1;
//cout << "\\nAfstanden imellem x1 og x2 er: " << xx;
//goto ferdig;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Opgave 4
firetal:
cout << "\\nIndtast første skæringspunkt: ";
cin >> p1;
cout << "\\nIndtast anden skæringspunkt: ";
cin >> p2;
p3 = p2-p1;
p8 = p3+p1;
for (dala = p1; dala = p8; dala += 0.000001)
{
//p6 = p1 + dala;
p5 = tal2*pow(dala, 8)+tal3*pow(dala, 7)+tal4*pow(dala, 6)+tal5*pow(dala, 5)+tal6*pow(dala, 4)+tal7*pow(dala, 3)+tal8*pow(dala, 2)+tal9*dala+tal10;
p4 = p4 + p5;
{
p7 = p4*0.000001;
cout << p7;
goto ferdig;
}
}
femtal:
sekstal:
syvtal:
ottetal:
nital:
tital:
elvetal:
tolvtal:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Færdig mærke
ferdig:
cout << "\\n\\nAfslut program(0) eller tilbage til menu(1): ";
cin >> tal13;
if (tal13 == 1)
goto menu;
if (tal13 == 0)
goto afslut;
if (tal13 < 0)
goto fejl;
if (tal13 > 1)
goto fejl;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Fejl mærke
fejl:
cout << "\\nFejl, vil du afslutte program(0) eller tilbage til menu(1): ";
cin >> fejl;
if (fejl == 1)
goto menu;
if (fejl >= 2)
goto afslut;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Afslutningsmærke
afslut:
system("PAUSE");
return EXIT_SUCCESS;
}
kan overhovedet ikke få min for funktion til at køre :/ i opgave 4
Indlæg senest redigeret d. 09.01.2008 22:00 af Bruger #7638