0
私はちょうどプログラミングを始めています。私の2番目のasignmentを得たが、本当に私を悩ます何かがある。 このプログラムは、食料品を書き留めておき、変数bを必要とせず、取り除くことができたら大丈夫です。再度実行すると、jumlah [i] * harga [i]は常に0になります。 代わりに変数bを置換しようとすると、プログラムは正常に戻ります。それで問題は何ですか?C++:この変数は何ですか?
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctime>
BOOL gotoxy(const WORD x, const WORD y) {
COORD xy;
xy.X = x;
xy.Y = y;
return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), xy);
}
using namespace std;
string nonota, namabrg;
char yorno, lanjut;
int jumlah[30], a, b, i; //problem
float diskon, Tharga, pembayaran, kembalian, harga[30], stlhdiskon;
int main()
{
cout<<fixed<<setprecision(0);
Tharga=0;
a=3;
do
{
cout<<"Nomor Nota : ";
cin>>nonota;
time_t now = time(0);
cout<< "Tanggal : ";
tm* ltm= localtime(&now);
cout<<ltm->tm_mday<<"-";
cout<<1 + ltm->tm_mon<<"-";
cout<<1900 + ltm->tm_year<<endl;
cout<<" --------------------------------------------------------------------------";
//cout tabel
gotoxy(5,a); cout<<"Nama Barang";
gotoxy(22,a); cout<<"|";
gotoxy(25,a); cout<<"Harga Satuan";
gotoxy(43,a); cout<<"|";
gotoxy(45,a); cout<<"Jumlah";
gotoxy(54,a); cout<<"|";
gotoxy(62,a); cout<<"Total Harga"<<endl;
cout<<" --------------------------------------------------------------------------";
//data
do{
a=a+2;
for(i=0; i<31; i++)
gotoxy(5,a); cin>>namabrg;
gotoxy(25,a); cin>>harga[i];
gotoxy(45,a); cin>>jumlah[i];
gotoxy(62,a); cout<<jumlah[i]*harga[i]<<endl;
Tharga+=jumlah[i]*harga[i];
cout<<"barang berikutnya y/n?";
gotoxy(5,a+2); cin>>lanjut;
if(lanjut=='n' or lanjut=='N') {i=31;}
gotoxy(0,a+1); cout<<" ";
}
while(lanjut=='y' or lanjut=='Y');
gotoxy(0,a+2); cout<<" ";
gotoxy(45,a+2); cout<<"Total Harga : Rp. "<<Tharga<<endl;
gotoxy(45,a+3); cout<<"Diskon : Rp. ";
diskon=0;
if(Tharga>=1000000){diskon=0.2;}
if(Tharga>=500000 and Tharga<1000000){diskon=0.15;}
if(Tharga>=100000 and Tharga<500000) {diskon=0.1;}
cout<<diskon*Tharga<<endl;
gotoxy(45,a+4); cout<<"Harga : Rp. "<<Tharga-(diskon*Tharga)<<endl;
gotoxy(45,a+5); cout<<"Pembayaran : Rp. "; cin>>pembayaran;
gotoxy(45,a+6); cout<<"Kembalian : Rp. "<<pembayaran-(Tharga-(diskon*Tharga))<<endl;
cout<<"buat nota lagi y/n? "; cin>>lanjut;
a=a+11;
}
while (lanjut=='y' or lanjut=='Y');
system("pause");
return 0;
}
あなたはあなたのコード内で多くのエラーを持っています。あなたの "for"サイクルの1つは何もしていません。 - > for(i = 0; i <31; i ++)には{}はありません – CyberClaw