Selasa, 11 Januari 2011

Masalah Input String dan Numerik pada C++

Program C++ di bawah ini terdapat run time error karena ada pemakaian getline() (untuk menginput string dan cin (untuk menginput numerik) :

#include <iostream>
#include <string>
using namespace std;

int main() {
int n;
string s;

cout << "input n : ";
cin >> n;

cout << "input s : ";
getline(cin, s);
cin.sync();
cout << "press any key";
cin.get();
return 0;
}

Solusi agar program dapat berjalan normal, gunakanlah getline untuk input string dan numerik. Jika nilai numerik akan dipergunakan dalam kalkulasi baru dikonversi dari string menjadi numerik. Berikut program perbaikannya :

#include <iostream>
#include <string>
using namespace std;

int main() {
string n;
string s;

cout << "input n : "; getline(cin, n);

cout << "input s : ";
getline(cin, s);

cin.sync();
cout << "press any key";
cin.get();
return 0;
}

Tidak ada komentar: