Du kan også kode noe omtrent slik:
Kode
#include<iostream>
using namespace std;
int main(){
char inputting;
inputting='0';
while (inputting-'0' > 4 || inputting-'0' <1)
{
cout << "Multiplisere, dividere, addere eller subtrahere? (1,2,3,4) ";
cin>>inputting;
cin.ignore(1000,'\n'); //ignorerer de 1000 første tegnene i
//input-bufferen, fram til '\n' (newline)
};
int matteting=inputting-'0';
//matteting er nå 1,2,3 eller 4
}
Forklaring til inputting-'0':
Et tegn kan også skrives som et tall mellom 0 og 255. '0' er for eksempel 48, så du kan skrive:
char a='0';
int b=a; //b==48;
'1'==49, '2'==50, så hvis inputting=='1', så blir inputting-'0'==49-48==1
En viktig ting: Hvis brukeren skriver inn noe som begynner med 1,2,3 eller 4, ser programmet bare på det første tegnet. "2asf25?^s'&n23" blir altså til '2'
Si i fra hvis det er noe feil, jeg har for eksempel nesten ikke brukt cin.ignore() før.
Sist endret av Mates; 5. mai 2004 kl. 19:46.