编译是显示一个错误Cannot open include file: 'stdafx.h': No such, file or directory,如何修改
#include<stdio.h>
#include<stdafx.h>
#include<string.h> //调用字符串函数头文件
#include<stdlib.h> //链表头文件
void showMenu()
{
printf("********************************************\n");
printf("*************欢迎使用自动贩卖机*************\n");
printf("*1.饮料类------------------------***********\n");
printf("*2.零食类------------------------***********\n");
printf("*3.香烟类------------------------***********\n");
printf("*4.商品管理----------------------***********\n");
printf("*5.退出--------------------------***********\n");
printf("********************************************\n");
printf("请输入商品种类(用户)或商品管理(管理员):\n");
}
void showManageMenu()
{
char usr[10];
char psd[10];
while(l) //判断用户名和密码
{
printf("请输入用户名:\n");
scanf("%s",usr);
printf("请输入密码:\n");
scanf("%s",psd);
if(strcmp,(usr,"admin")!=0 || strcmp,(psd,"1234")!=0)
{
printf("您输入的用户名或密码错误,请重新输入!");
}
else
{
break;
}
}
int select;
int u_id=0;int u_price = 0;
int d_id = 0;
GOODS newGoods;
while(l)
{
printf("*******************************************\n");
printf("***************商品后台管理系统************\n");
printf("*1.新增商品----------------------**********\n");
printf("*2.价格修改----------------------**********\n");
printf("*1.删除商品----------------------**********\n");
printf("*1.返回--------------------------**********\n");
printf("*******************************************\n");
printf("请选择功能:\n");
scanf("%d",&select);
switch(select)
{
case 1:
//新增商品
printf("请输入商品种类(1:饮料,2:零食,3:香烟):");
scanf("%d",&newGoods.type)
printf("请输入商品ID:");
scanf("%d",&newGoods.id);
printf("请输入商品名称:");
scanf("%s",newGoods.name);
printf("请输入商品介绍:");
scanf("%s",newGoods.introduce);
printf("请输入商品数量:");
scanf("%d",&newGoods.amount);
printf("请输入商品单价:");
scanf("%d",&newGoods.price);
//新增一个类型商品
addNewGoodsTolist(newGoods);
break;
case 2:
//价格修改
printf("请输入修改商品的ID:");
scanf("%d",&u_id);
printf("请输入商品的最新单价:");
scanf("%d",&u_price);
updateGoodsInfo(int u_id,int u_price);//修改商品价格
break;
case 3:
//删除商品
printf("请输入删除商品的ID:");
scanf("%d",&d_id);
deleteDataById(int d_id);
break;
case 4:
//返回上级菜单
break;
default:
break;
}
if(select=4)
{
break;
}
}
}
void showBuyGoodsInfo()
{
int id = 0;
int amount = 0;
int flag = 0;
while(1)
{
printf("请输入购买商品的编号(1:退出):");
scanf("%d",&id);
if (id == -1)
{
break;
}
printf("请输入商品的数量:");
scanf("%d",&amount);
flag = buyGoods(id,amount);
if (flag == 0)
{
break;
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int select;
head = initList();
while (1)
{
showMenu();
scanf("%d",&select);
switch(select)
{
case 1:
case 2:
case 3:
searchGoods(select);
showBuyGoodsInfo();
break;
case 4://管理员管理商品页面
showManageMenu();
break;
case 5:
destoryList();
exit(0);
break;
default:
break;
}
}
return 0;
}
typedef struct _goods
{
int type; //商品种类
int id; //商品唯一标示
char name[30]; //商品名称
char introduce[100]; //商品介绍
int amount; //商品数量
int price; //商品价格
struct _goods* next;
}GOODS;
extern GOODS* headL;
//新建链表-初始化商品
GOODS* initList();
//新增商品
void addNewGoodsTolist(GOODS newGoods);
//根据id删除商品
void deleteDataById(int d_id);
//根据编号id来修改商品的价格
void updateGoodsInfo(int u_id,int u_price);
//根据种类查询商品并显示
int searchGoods(int searchType);
//根据商品编号和数量购买商品
int buyGoods(int b_id,int b_amount)
//释放
int destoryList()
GOODS* head = NULL;
//新建链表-初始化商品
GOODS* initList()
{
GOODS* myHead = (GOODS*)malloc(sizeof(GOODS));
if(myHead == NULL)
{
return NULL;
}
else
{
memset(myHead,'\0',sizeof(GOODS));
myHead->next = NULL;
return myHead;
}
}
void showhead()
{
printf("------------------------------------------------------------------------\n");
printf("|类型|ID |商品名称 |商品介绍 |商品数量|商品单价|\n");
printf("------------------------------------------------------------------------\n");
}
//新增商品
void addNewGoodsTolist(GOODS newGoods)
{
GOODS* tmpGoods;
GOODS* currentGoods = head;
tmpGoods = (GOODS*)malloc(sizeof(GOODS));
if(tmpGoods == NULL)
{
printf("内存开辟失败!\n");
}
else
{
memcpy(tmpGoods,&newGoods,sizeof(GOODS));
tmpGoods->next = NULL;
while(currentGoods->next !=NULL)
{
currentGoods = currentGoods->next;
}
currentGoods->next = tmpGoods;
printf("恭喜,新增成功!\n");
headShow();
printf("|%-4d|%-3d|%-12s|%-30s|%-8d|%-8d|\n",tmpGoods->type,tmpGoods->id,tmpGoods->name,tmpGoods->introduce,tmpGoods->amount,tmpGoods->price);
}
}
//根据id删除商品
void deleteDataById(int id)
{
GOODS* tmpGoods = head->next;
GOODS* preGoods = NULL;
int isExist = -1; //不存在
while(tmpGoods!=NULL)
{
if(tmpGoods->id ==id)
{
if(tmpGoods == head->next)
{
head->next == tmpGoods->next;
free(tmpGoods);
tmpGoods = NULL;
}
else{
preGoods->next = tmpGoods->next;
free(tmpGoods);
tmpGoods = NULL;
}
printf("恭喜,删除成功!\n");
isExist = 0; //数据存在
break;
}
preGoods = tmpGoods;
tmpGoods = tmpGoods->next;
}
if (isExist = -1)
{
printf("抱歉,该商品不存在!");
}
}
//根据编号id来修改商品的价格
void updateGoodsInfo(int u_id,int u_price)
{
GOODS* tmpGoods = head->next;
int isExist = -1;
while (tmpGoods! =NULL)
{
if (tmpGoods->id == u_id)
{
tmpGoods->price = u_price;
printf("恭喜,修改成功!\n");
isExist = 0;
headShow();
printf("|%-4d|%-3d|%-12s|%-30s|%-8d|%-8d|\n",tmpGoods->type,tmpGoods->id,tmpGoods->name,tmpGoods->introduce,tmpGoods->amount,tmpGoods->price);
}
tmpGoods= tmpGoods->next;
}
if (isExist = -1)
{
printf("抱歉,该商品不存在!\n")
}
}
//根据种类查询商品并显示
int searchGoods(int searchType)
{
GOODS* tmpGoods = head->next;
int isExist = -1;
if (searchType == 1||searchType == 2||searchType == 3)
{
headShow();
while (tmpGoods!=NULL)
{
if (tmpGoods->type == searchType)
{
printf("|%-4d|%-3d|%-12s|%-30s|%-8d|%-8d|\n",tmpGoods->type,tmpGoods->id,tmpGoods->name,tmpGoods->introduce,tmpGoods->amount,tmpGoods->price);
isExist = 0;
}
tmpGoods = tmpGoods->next;
}
}
else
{
printf("输入的商品有误,请重新输入!");
return -2;
}
if (isExist == -1)
{
printf("抱歉,商品为空!\n")
return -1;
}
return 0;
}
//根据商品编号和数量购买商品
int buyGoods(int b_id,int b_amount)
{
GOODS* tmpGoods = head->next;
int isExist = -1;
while (temGoods!=NULL)
{
if (tmpGoods->id == b_id)
{
if (tmpGoods->amount == b_amount)
{
tmpGoods->amount -= b_amount;
isExist = 0;
}
else
{
printf("抱歉,商品数量不足!\n");
return -2;
}
}
tmpGoods=tmpGoods->next;
}
if (isExist == -1)
{
printf("抱歉,该商品不存在!\n")
return -1;
}
printf("恭喜,购买成功!\n")
return 0;
}
//释放
int destoryList()
{
GOODS* tmpGoods = NULL;
if (head == NULL)
{
return 0;
}
else
{
while(head!=NULL)
{
tmpGoods = NULL;
head = head->next;
free(tmpGoods);
tmpGoods = NULL;
}
}
}