【发布时间】:2018-04-12 17:45:50
【问题描述】:
我必须使用用户输入的 id 从数据库中删除饮料.. 那么我应该如何继续?我不知道在 if 条件里面写什么?
class Drink{
private:
float cost;
char product_id[10];
char dname[30];
int numDrink;
public:
void addDrink(char drinkname[],float price,char id[]);
void delDrink(char drinkname[],char id[]);
//void updateItem();
//void searchItem();
};
Drink drinkBase[100];
void Drink::addDrink(char drinkname[],float price,char id[])
{
strcpy(drinkBase[numDrink].dname,drinkname);
strcpy(drinkBase[numDrink].product_id,id);
drinkBase[numDrink].cost = price;
cout<<"\nItem inserted successfully!"<<endl;
numDrink++;
}
void Drink::delDrink(char drinkname[],char id[])
{
int i;
for(int i=0;i<numDrink;i++){
if((strcmp(drinkname,drinkBase[i].dname)==0)&&
(drinkBase[i].product_id=id))
{
cout<<"\nItem deleted successfully";
return;
}
}
}
【问题讨论】:
-
“我应该如何继续”是什么意思?我看不出有什么需要继续的。为什么需要在if条件中多写?
-
例如你现在可以写一些单元测试。
-
我是 C++ 新手,请原谅我的无知。但是程序不应该从数据库中删除整个索引吗?不能只是打印删除成功....?
-
您不能从数组中删除项目。您要么将插槽标记为已删除,要么将其下方的所有内容移至一个插槽并覆盖它。