//første if int x1 = 1; // 1: x første sted, int x2 = 2; // 2: x andet sted... int place;//andet valg //andet if int a = 'a';//addtion int s = 's';//substration int m = 'm';//mutiplation int d = 'd';//divition int i; //første tal int ii; //andet tal char form; //plus, minus, gange eller dividere int resultat; //resultatet int svar = 'y'; int ud = 'n';
jeg har fået det til at virke nu, jeg lavede bare svar og ud om til char. Men hvis jeg nu har brug for en variabel der kan indeholde mere end 1 bogstav, hvad gør jeg så??
Nu har jeg lavet første del om til en switch, men er for doven til også at lave del 2.
int main(void) { // Du kan da ikke helt være noob, du bruge da int main!!! HANDLE con = GetStdHandle(STD_OUTPUT_HANDLE); // bruges den til noget??? //første if int place;//andet valg //andet if int i; //første tal int ii; //andet tal char form; //plus, minus, gange eller dividere char svar = 'y'; const char ud = 'n';
while ( svar != ud) { cout << "foerste(tast 1): 'x(a)(b)=(c)' eller andet(tast 2): (a)(b)x=(c)'??" << endl; cin >> place;
if (place == 1) { cout << "X(A)(B)=(C) fx: x 1=2" << endl; cout << "hvad skal andet led i styket vaere??(B)" << endl; cin >> i; cout << "hvad er resultatet?? (C)" << endl; cin >> ii; cout << "skal der a( ), s(-), m(*) eller d(/)?? (A)" << endl; cin >> form;
switch (form) case 'a': cout << "stykket er: X " << i << "=" << ii << endl; cout << "og resultatet er: X=" << ii - i << endl; break; case 's': cout << "stykket er: X-" << i << "=" << ii << endl; cout << "og resultatet er: X=" << ii i << endl; break; case 'm': cout << "stykket er: X*" << i << "=" << ii << endl; cout << "og resultatet er: X=" << ii / i << endl; break; case 'd': cout << "stykket er: X/" << i << "=" << ii << endl; cout << "og resultatet er: X=" << ii * i << endl; break; default: // default if none of above. cout << "Forkert indtastning"; break; } } else if (place == 2) { cout << "(A)(B)X=(C) fx: 1 x=2" << endl; cout << "hvad skal foerste led i styket vaere??(A)" << endl; cin >> i; cout << "hvad er resultatet?? (C)" << endl; cin >> ii; cout << "skal der a( ), s(-), m(*) eller d(/)?? (B)" << endl; cin >> form;
if (form == 'a') { cout << "stykket er: " << i << " X=" << ii << endl; cout << "og resultatet er: X=" << ii - i << endl; } else if (form == 's') { cout << "stykket er: " << i << "-X=" << ii << endl; cout << "og resultatet er: X=" << ii - i << endl; } else if (form == 'm') { cout << "stykket er: " << i << "*X=" << ii << endl; cout << "og resultatet er: X=" << ii / i << endl; } else if (form == 'd') { cout << "stykket er: " << i << "/X=" << ii << endl; cout << "og resultatet er: X=" << i / ii << endl; } else { cout << "Forkert indtastning"; } } else { cout << "forkert indtastning..."; } cout << "Done ? (y/n)" ; cin >> svar; }
ja, det ver det som var problemet... det har du i øvrigt også i den kode du postede... det virker lidt som om at hvis der ikke er det ene i vejen så er det andet.... nu vil min while nemlig ikke igen...
i alle switches, det er godt til at fange uforusete indtastninger og ubehandlede sager.
Synes godt om
Ny brugerNybegynder
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.