Void/gets()..............Hmmmmmmmmm
Jeg har prøvet at lave et enkelt program hvor man skal vælge imellem et par forskellige ting og så skal den bare hoppe ned til en void funktion, udføre den og så hoppe tilbage.Når den udfører funktionen "void nummer_et()" så kører den og returnerre som den skal,- MEN når jeg bruger "funktionen void nummer_to()" så udførers den men den returnere ikke men fortsætter til næste void!!!!!!
Dette gælder dog kun hvis jeg bruger "gets()", hvis jeg bruger "cin>>" så er alt ok,- Hmmmmmm
HVORFOR??????
Her er programmet:
# include <iostream>
# include <cstdio>
using namespace std;
void nummer_et();
void nummer_to();
int main(){
int valg;
do{
cout<<"Du har 3 valgmuligheder:\n";
cout<<"1: Faa ganget to tal.\n";
cout<<"2: Skriv noget tekst\n";
cout<<"3: Stop\n";
cout<<"\n Skriv dit valg her: ";
cin>>valg;
switch(valg){
case 1:nummer_et();
break;
case 2:nummer_to();
break;
case 3:break;
default:cout<<"\nProv igen\n\n";
}
} while (valg !=3);
return 0;
}
void nummer_et(){
int forste_tal,andet_tal;
cout<<"\n\nSkriv forste tal: ";
cin>>forste_tal;
cout<<"Skriv andet tal: ";
cin>>andet_tal;
cout<<"\nHvis man ganger: "<<forste_tal<<" med "<<andet_tal;
cout<<"\nSå bliver resultatet: "<<(forste_tal*andet_tal)<<"\n\n\n";
}
void nummer_to(){
char tekst[80];
cout<<"Skriv noget tekst her: ";
gets(tekst);
cout<<"Du skrev: "<<tekst;
}