[Ask] C++ OUTPUT ERROR
#1
Bismillah, selamat siang mas bro...
Saya mau minta tolong kalau ada yang paham soal pemrograman c++.
Script dibawah ini adalah program tentang data sebuah tempat penginapan.

Pada awalnya saya input-kan seperti ini;

[spoiler="input"]
[Image: 56VW8e2.png]
[/spoiler]

Ada 2 input data yang berbeda.
1. NAMA TAMU    : ALBERT
    KODE KAMAR   : S
2. NAMA TAMU    : NURUL
    KODE KAMAR   : M

Nah, error-nya di sini;

[spoiler="output"]
[Image: 7Ve5yOj.png]
[/spoiler]

Pada kolom "Nama Tamu" kenapa ya kok namanya jadi sama begitu. Padahal input-nya berbeda.
Adapun kode programnya adalah;
[spoiler="code"]

Code:
/*
TITLE        : SCRIPT PROGRAM PENGINAPAN A
AUTHOR        : TYO KURNIA ALBERT
*/

#include <stdio>
#include <conio>
#include <iostream>
#include <iomanip>

main()
{
int i,lama_inap,biaya_motel,biaya_kamar,banyak_data,discount,total,uang_bayar,uang_kembali;
char nama_kamar[10],kode_kamar,nama_tamu[20],ask;

//input
start:
clrscr();
cout << "*============================================================================*" << endl;
cout << "|\t\t\t\t\"PENGINAPAN A\"                               |" << endl;
cout << "*============================================================================*" << endl;
cout << "\n  Perhitungan Penginapan" << endl;
cout << "*=========================*" << endl;
cout << "|     \"OUR SERVICES\"      |" << endl;
cout << "|M = MELATI   -- Rp 150000|" << endl;
cout << "|A = ANGGREK  -- Rp 200000|" << endl;
cout << "|S = SEMANGGI -- Rp 250000|" << endl;
cout << "*=========================*" << endl;
cout << endl;
cout << "BANYAK DATA        : ";cin >> banyak_data;
for(i=1;i<=banyak_data;i++)
{
cout << "\nDATA KE-" << i << endl;
cout << "NAMA TAMU        : ";cin >> nama_tamu;
cout << "KODE KAMAR[M/A/S]    : ";cin >> kode_kamar;

switch (kode_kamar)
    {
     case 'M':
     {strcpy(nama_kamar,"MELATI");
     if(kode_kamar == 'M')
     {biaya_kamar = 150000;}
     }
        break;
        case 'A':
        {strcpy(nama_kamar,"ANGGREK");
     if(kode_kamar == 'A')
     {biaya_kamar = 200000;}
     }
        break;
        case 'S':
        {strcpy(nama_kamar,"SEMANGGI");
     if(kode_kamar == 'S')
     {biaya_kamar = 250000;}
     }
        break;

        default:
     clrscr();
        cout << "\nKODE YANG ANDA MASUKKAN SALAH";
     getch();
     {goto end;}
    }

}
cout << "LAMA INAP         : ";cin >> lama_inap;
    {
      if (lama_inap > 3)
      discount = (biaya_kamar*10)/100;
      else
      discount = biaya_kamar*0;
  }
biaya_motel=biaya_kamar*lama_inap;
total=biaya_motel-discount;
cout << endl;

//output
clrscr();
cout << "*============================================================================*" << endl;
cout << "|\t\t\t\t \"PENGINAPAN A\"                              |" << endl;
cout << "*============================================================================*" << endl;
cout << endl;
cout << "\t\t\t     Perhitungan Penginapan" << endl;
cout << endl;
cout << "*============================================================================*" << endl;
cout << "|No. Nama        Nama      Biaya    Lama   Biaya     Discount   Total        |" << endl;
cout << "|    Tamu        Kamar     Kamar    Inap   Motel                             |" << endl;
cout << "*============================================================================*" << endl;
for(i=1;i<=banyak_data;i++)
{
cout << setiosflags(ios::left) << setw(5) << i;
cout << setiosflags(ios::left) << setw(12) << nama_tamu;
cout << setiosflags(ios::left) << setw(10) << nama_kamar;
cout << setiosflags(ios::left) << setw(9) << biaya_kamar;
cout << setiosflags(ios::left) << setw(7) << lama_inap;
cout << setiosflags(ios::left) << setw(10) << biaya_motel;
cout << setiosflags(ios::left) << setw(10) << discount;
cout << setiosflags(3) << " " << total << endl;
}
cout << "==============================================================================" << endl;
cout << "                                           TOTAL BAYAR     : " << "Rp " << total << endl;
cout << "                                           UANG BAYAR      : Rp ";cin >> uang_bayar;
uang_kembali=uang_bayar-total;
cout << "                                           UANG KEMBALIAN  : " << "Rp " << uang_kembali << endl;
cout << endl << endl << endl << endl;
cout << "APAKAH ANDA INGIN MENG-INPUT DATA LAGI[Y/T]: "; cin >> ask;
if(ask=='Y'||ask=='y')
{goto start;}
else
{goto end;}
getch();
end:

}
[/spoiler]
Download code :
[spoiler="Download"]
http://www.4shared.com/file/XPnv2aE-ce/coba.html
[/spoiler]
Nah. Bagi teman teman sekalian yang paham tentang ini saya sangat berharap bantuannya.
Terima kasih. Dan jangan lupa shalat jumat mas bro ^_^



"Die ruhigeren man wird, desto mehr werden Sie in der Lage sind zu hören"

Quote:- No matter how great I'm, I'm still a disciple. -


#2
gambarnya pada gak keluar om :3 , coba reupload dluw

#3
klo menurut saya masalahnya disini :

cout << "NAMA TAMU : "; cin >> nama_tamu;

kenapa ? karena nama yang sebelumnya bromasukkan (Albert) akan digantikan dengan nama yang bromasukkan setelahnya (Nurul)

hal ini terjadi karena brohanya menuliskan 'cin>>nama_tamu' dan tidak menuliskan index array nya.

waktu deklarasi variabel nama_tamu bromembuat array yang berisi 20 data = nama_tamu[20]
jadi ketika akan menyimpan sebuah data ke array tersebut broharus menulis juga index arraynya.

coba ganti cin>>nama_tamu; menjadi cin>>nama_tamu[i-1];

oia, jangan lupa ubah juga outputnya bro, tambahkan index arraynya juga.
thanks Smile klo penjelasan saya salah atau kurang dimengerti mohon maaf Smile

#4
pastebin/gist.github.com om
biar nyaman Smile)

#5
(01-16-2015, 11:11 PM)abdilahrf Wrote: gambarnya pada gak keluar om :3 , coba reupload dluw

udah mas bro Smile
"Die ruhigeren man wird, desto mehr werden Sie in der Lage sind zu hören"

Quote:- No matter how great I'm, I'm still a disciple. -


#6
(01-17-2015, 04:54 PM)mnindra Wrote: klo menurut saya masalahnya disini :

cout << "NAMA TAMU : "; cin >> nama_tamu;

kenapa ? karena nama yang sebelumnya bromasukkan (Albert) akan digantikan dengan nama yang bromasukkan setelahnya (Nurul)

hal ini terjadi karena brohanya menuliskan 'cin>>nama_tamu' dan tidak menuliskan index array nya.

waktu deklarasi variabel nama_tamu bromembuat array yang berisi 20 data = nama_tamu[20]
jadi ketika akan menyimpan sebuah data ke array tersebut broharus menulis juga index arraynya.

coba ganti cin>>nama_tamu; menjadi cin>>nama_tamu[i-1];

oia, jangan lupa ubah juga outputnya bro, tambahkan index arraynya juga.
thanks Smile klo penjelasan saya salah atau kurang dimengerti mohon maaf Smile

waahh.. sip2 ,, terima kasih atas sarannya bro..
nanti saya coba deh..
sampe sekarang masih error soalnya Big Grin
"Die ruhigeren man wird, desto mehr werden Sie in der Lage sind zu hören"

Quote:- No matter how great I'm, I'm still a disciple. -


#7
(01-20-2015, 12:16 AM)Shadow_ Wrote: pastebin/gist.github.com om
biar nyaman Smile)
code nya juga ngga keliatan om??
padahal di sini keliatan loh..
"Die ruhigeren man wird, desto mehr werden Sie in der Lage sind zu hören"

Quote:- No matter how great I'm, I'm still a disciple. -


#8
saran dari om mnindra sudah dicoba belum bro? gmn hasilnya?

#9
(01-21-2015, 12:36 AM)rootcrash Wrote:
(01-17-2015, 04:54 PM)mnindra Wrote: klo menurut saya masalahnya disini :

cout << "NAMA TAMU : "; cin >> nama_tamu;

kenapa ? karena nama yang sebelumnya bromasukkan (Albert) akan digantikan dengan nama yang bromasukkan setelahnya (Nurul)

hal ini terjadi karena brohanya menuliskan 'cin>>nama_tamu' dan tidak menuliskan index array nya.

waktu deklarasi variabel nama_tamu bromembuat array yang berisi 20 data = nama_tamu[20]
jadi ketika akan menyimpan sebuah data ke array tersebut broharus menulis juga index arraynya.

coba ganti cin>>nama_tamu; menjadi cin>>nama_tamu[i-1];

oia, jangan lupa ubah juga outputnya bro, tambahkan index arraynya juga.
thanks Smile klo penjelasan saya salah atau kurang dimengerti mohon maaf Smile

waahh.. sip2 ,, terima kasih atas sarannya bro..
nanti saya coba deh..
sampe sekarang masih error soalnya Big Grin

sip sip, sama2 Big Grin
kebetulan saya pernah dikasih tugas sekolah yang hampir sama, jadi saya juga pernah mengalami seperti agan Big Grin

#10
(01-21-2015, 06:03 AM)iKONspirasi Wrote: saran dari om mnindra sudah dicoba belum bro? gmn hasilnya?

sudah om @iKONspirasi .. tapi malah yang tercetak setelah saya menginput nama tamu adalah statement "kode yang anda masukkan salah"
seperti itu om Big Grin

(01-21-2015, 07:17 PM)mnindra Wrote:
(01-21-2015, 12:36 AM)rootcrash Wrote:
(01-17-2015, 04:54 PM)mnindra Wrote: klo menurut saya masalahnya disini :

cout << "NAMA TAMU : "; cin >> nama_tamu;

kenapa ? karena nama yang sebelumnya bromasukkan (Albert) akan digantikan dengan nama yang bromasukkan setelahnya (Nurul)

hal ini terjadi karena brohanya menuliskan 'cin>>nama_tamu' dan tidak menuliskan index array nya.

waktu deklarasi variabel nama_tamu bromembuat array yang berisi 20 data = nama_tamu[20]
jadi ketika akan menyimpan sebuah data ke array tersebut broharus menulis juga index arraynya.

coba ganti cin>>nama_tamu; menjadi cin>>nama_tamu[i-1];

oia, jangan lupa ubah juga outputnya bro, tambahkan index arraynya juga.
thanks Smile klo penjelasan saya salah atau kurang dimengerti mohon maaf Smile

waahh.. sip2 ,, terima kasih atas sarannya bro..
nanti saya coba deh..
sampe sekarang masih error soalnya Big Grin

sip sip, sama2 Big Grin
kebetulan saya pernah dikasih tugas sekolah yang hampir sama, jadi saya juga pernah mengalami seperti broBig Grin

waaahh ,,sorry nih mas bro. masih error ,,pas waktu input datanya jadi invalid gitu ..nama yang saya input ngga kecetak Big Grin
"Die ruhigeren man wird, desto mehr werden Sie in der Lage sind zu hören"

Quote:- No matter how great I'm, I'm still a disciple. -







Users browsing this thread: 1 Guest(s)