10 개의 부품을 선택할 수있는 프로그램이 있습니다. 사용자가 빈을 선택하면, 프로그램은 파트를 추가하거나 제거 할 것인지를 묻습니다. 문제는 모든 빈에서 추가 및 제거하는 단일 빈에서 추가 또는 제거하려고 할 때입니다.구조체 배열의 요소를 삭제하는 방법은 무엇입니까?
struct Inventory
{
char description[35];
int num;
};
Inventory parts[Number_Bins] = {
{"Valve", 10},
{"Bearing", 5},
{"Bushing", 15},
{"Coupling", 21},
{"Flange", 7},
{"Gear", 5},
{"Gear Housing", 5},
{"Vacuum Gripper", 25},
{"Cable", 18},
{"Rod", 12}
};
이것은 부품을 제거하는 기능입니다. 부품을 추가 할 다른 부품이 있으며 그 부품은 유사합니다. 배열의 각 요소에 대해이 중 10 개를 만들 수는 있지만 요점은 아닙니다.
void RemoveParts(Inventory bins[])
{
int e = 10;
int enter2;
cout << "Enter how many you want to remove\n";
cin >> enter2;
if (enter2 < 0)
{
cout << "Negative Values are not legal. Try again\n";
}
else
{
for (int index = 0; index < e; index++)
{
bins[index].num = bins[index].num - enter2;
}
}
}
나는 모든 빈을 집어 올리기 위해 스위치 메뉴를 사용합니다. 따라서 10 가지 경우가 있습니다. 더 쉽게 코드를 작성할 수있는 방법이 있습니까?
for (int index=0; index<e; index++){
bins[index].num = bins[index].num - enter2;
}
당신은 어느 프로그램을 말해야 특정 빈에서 제거 할 경우 : 당신이 여기에있는 모든 쓰레기통 통해 반복되기 때문이다
벡터 또는 표준 ::리스트 부분 (Number_Bins)을 사용하지 않으면 어떻게 될까요? 다른 방법이 있습니까? 내가 10 가지 경우로 작성한 메뉴는 어떻습니까? 하나의 사건이나 다른 것으로 그것을 할 수 있습니까? 나는 구조가 새롭다는 것에 대해 유감 스럽습니다. 그리고 저는 이것을하기위한 더 많은 방법을 알고 싶습니다. –
user3019164
@ user3019164, 아니, 그렇지 않다. 나는 이것을 다르게하기 위해 세 가지 구조를 말했고, 당신이하는 방식에 충실하고 싶다. 편집 확인 – Claudiordgz
벡터 또는 다른 옵션을 사용하는 방법을 모르겠습니다. 나는 그것에 대해 읽어야 할 것 같아요. – user3019164