คือคอนเซ็ปมีอยู่ว่า
1.แสดงสินค้า และจำนวนสินค้าทั้งหมด 5 ชนิด และแต่ละชนิดจะบอกจำนวนสินค้าไว้
2.ทำการเลือกชนิดสินค้าจาก 1 ใน 5 หาก รับค่ามากกว่า 5 จะแสดงว่า "Invalid item"
3.หากรับข้อมูลชนิดสินค้าแล้ว จะขึ้นให้ใส่จำนวนที่ต้องการ หากมากกว่าจำนวนสินค้าที่มีอยู่จะขึ้นว่า "Not enough product"
4.หากรับข้อมูลจำนวนสินค้าแล้ว ก็จะพาไปคิดราคาสินค้าเป็นจำนวนเงินที่ต้องจ่าย และมีการหักลบกันของจำนวนสินค้าด้วย
5.ทำการถามว่า "do you want to buy another item ? [y/n]"
5.1. หากตอบ y จะพาขึ้นไปให้เลือกสินค้าอีกครั้ง
5.2. หากตอบ m จะพาลงไปชำระเงิน
6.ชำระเงิน หากกรอกจำนวนเงินน้อยกว่าจำนวนที่ต้องจ่ายโปรแกรมจะเตือนว่า "Not enough money" หากเพียงพอก็จะคิดเงินทอนให้
7.มีการตรวจสอบว่า สินค้าชนิดใดซื้อมากที่สุดและจำนวนเท่าไหร่
แต่ปัญหาของผมอยู่ที่ว่า ผมทำได้แต่หาค่ามากสุดของสินค้าที่ซื้อ แต่ผมไม่สามารถอ้างอิงได้ว่าสินค้านั้นมันอยู่ประเภทที่เท่าไหร่ตั้งแต่ 1 - 5
Source Code ครับ
=============================================================================
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int stock[5]={100,60,75,50,60};
int price[5]={15,20,30,65,30};
int product,gtv[5]={0,0,0,0,0},sum,total=0,buying=0,money=0,max=0,max_item;
char ans,j,i;
buy:
for(i=0;i<=4;++i)
{
printf("item %d => %d\n",i+1,stock
);
}
printf("Input item : ");
scanf("%d",&product);
switch(product)
{
case 1:
printf("Input gtv : ");
scanf("%d",>gtv[0]);
if(gtv[0]<=stock[0])
{
sum=gtv[0]*15;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[0]=stock[0]-gtv[0];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 2:
printf("Input gtv : ");
scanf("%d",>v[1]);
if(gtv[1]<=stock[1])
{
sum=gtv[1]*20;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[1]=stock[1]-gtv[1];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 3:
printf("Input gtv : ");
scanf("%d",>v[2]);
if(gtv[2]<=stock[2])
{
sum=gtv[2]*30;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[2]=stock[2]-gtv[2];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 4:
printf("Input gtv : ");
scanf("%d",>v[3]);
if(gtv[3]<=stock[3])
{
sum=gtv[3]*65;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[3]=stock[3]-gtv[3];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 5:
printf("Input gtv : ");
scanf("%d",>v[4]);
if(gtv[4]<=stock[4])
{
sum=gtv[4]*20;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[4]=stock[4]-gtv[4];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
default: printf("Invalid item");
}
exit:
printf("total pay : %d\n",total);
printf("Money : ");
scanf("%d",&money);
int change;
if(total<money)
{
printf("Change : %d",money-total);
}
else
{
printf("Not enoguh money");
}
for(int x=0;x<5;x++)
{
if(max<gtv[x])
{
max=gtv[x];
}
}
printf("\nMax gtv : %d",max);
getch();
}
===================================================================================
อาจจะเยอะหน่อยนะครับ ผมไม่ค่อยชำนาญเท่าไหร่ แต่คือผมต้องไปแข่งในวันอังคารที่ 13 มกราคม แล้ว ขอความช่วยเหลือทีครับ
ขอบคุณล่วงหน้าครับ
ขอความช่วยเหลือหน่อยครับ โปรแกรมซื้อขายสินค้า turbo c++
1.แสดงสินค้า และจำนวนสินค้าทั้งหมด 5 ชนิด และแต่ละชนิดจะบอกจำนวนสินค้าไว้
2.ทำการเลือกชนิดสินค้าจาก 1 ใน 5 หาก รับค่ามากกว่า 5 จะแสดงว่า "Invalid item"
3.หากรับข้อมูลชนิดสินค้าแล้ว จะขึ้นให้ใส่จำนวนที่ต้องการ หากมากกว่าจำนวนสินค้าที่มีอยู่จะขึ้นว่า "Not enough product"
4.หากรับข้อมูลจำนวนสินค้าแล้ว ก็จะพาไปคิดราคาสินค้าเป็นจำนวนเงินที่ต้องจ่าย และมีการหักลบกันของจำนวนสินค้าด้วย
5.ทำการถามว่า "do you want to buy another item ? [y/n]"
5.1. หากตอบ y จะพาขึ้นไปให้เลือกสินค้าอีกครั้ง
5.2. หากตอบ m จะพาลงไปชำระเงิน
6.ชำระเงิน หากกรอกจำนวนเงินน้อยกว่าจำนวนที่ต้องจ่ายโปรแกรมจะเตือนว่า "Not enough money" หากเพียงพอก็จะคิดเงินทอนให้
7.มีการตรวจสอบว่า สินค้าชนิดใดซื้อมากที่สุดและจำนวนเท่าไหร่
แต่ปัญหาของผมอยู่ที่ว่า ผมทำได้แต่หาค่ามากสุดของสินค้าที่ซื้อ แต่ผมไม่สามารถอ้างอิงได้ว่าสินค้านั้นมันอยู่ประเภทที่เท่าไหร่ตั้งแต่ 1 - 5
Source Code ครับ
=============================================================================
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int stock[5]={100,60,75,50,60};
int price[5]={15,20,30,65,30};
int product,gtv[5]={0,0,0,0,0},sum,total=0,buying=0,money=0,max=0,max_item;
char ans,j,i;
buy:
for(i=0;i<=4;++i)
{
printf("item %d => %d\n",i+1,stock);
}
printf("Input item : ");
scanf("%d",&product);
switch(product)
{
case 1:
printf("Input gtv : ");
scanf("%d",>gtv[0]);
if(gtv[0]<=stock[0])
{
sum=gtv[0]*15;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[0]=stock[0]-gtv[0];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 2:
printf("Input gtv : ");
scanf("%d",>v[1]);
if(gtv[1]<=stock[1])
{
sum=gtv[1]*20;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[1]=stock[1]-gtv[1];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 3:
printf("Input gtv : ");
scanf("%d",>v[2]);
if(gtv[2]<=stock[2])
{
sum=gtv[2]*30;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[2]=stock[2]-gtv[2];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 4:
printf("Input gtv : ");
scanf("%d",>v[3]);
if(gtv[3]<=stock[3])
{
sum=gtv[3]*65;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[3]=stock[3]-gtv[3];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
case 5:
printf("Input gtv : ");
scanf("%d",>v[4]);
if(gtv[4]<=stock[4])
{
sum=gtv[4]*20;
printf("Sum : %d",sum);
total=total+sum;
printf("Total : %d",total);
stock[4]=stock[4]-gtv[4];
++buying;
}
else
{
printf("Not enoght prouct");
}
printf("\ndo you want to buy another item ? [y/n]");
scanf("%s",&ans);
if(ans=='y')
{
goto buy;
}
else if(ans!='n')
{
goto exit;
}
break;
default: printf("Invalid item");
}
exit:
printf("total pay : %d\n",total);
printf("Money : ");
scanf("%d",&money);
int change;
if(total<money)
{
printf("Change : %d",money-total);
}
else
{
printf("Not enoguh money");
}
for(int x=0;x<5;x++)
{
if(max<gtv[x])
{
max=gtv[x];
}
}
printf("\nMax gtv : %d",max);
getch();
}
===================================================================================
อาจจะเยอะหน่อยนะครับ ผมไม่ค่อยชำนาญเท่าไหร่ แต่คือผมต้องไปแข่งในวันอังคารที่ 13 มกราคม แล้ว ขอความช่วยเหลือทีครับ
ขอบคุณล่วงหน้าครับ