用c语言编写商品管理系统
- 格式:doc
- 大小:808.00 KB
- 文档页数:11
用c语言编写商品管理系统
-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII #include
#include
#include
#include
#include
#define LEN sizeof(struct commdity)
#define FORMAT "%-8d%-15s%-12.11f%-12.11f%-12.11f\n"
#define DATA comm[i].num,comm[i].name,comm[i].price,comm[i].count,comm[i].total
/*定义商品的结构体*/
struct commdity
{
int num;
char name[15];
double count;
double total;
}comm[100000],t;
/*函数的声明*/
void in(); /*商品录入并保存*/
void show(); /*显示商品记录*/
void order(); /*商品记录排序*/
void del(); /*商品记录删除*/
void modify(); /*商品记录修改*/
void menu(); /*主菜单*/
void insert(); /*商品记录插入*/
void total(); /*商品统计*/
void search(); /*查看商品记录*/
void main()
{
int n;
menu();
scanf("%d",&n);
while(n)
{
switch(n)
{
case 0:break;
case 1:in();break;
case 2:search();break; case 3:del();break;
case 4:modify();break;
case 5:insert();break;
case 6:order();break;
case 7:total();break;
default:printf("error! 操作错误.....\n");break;
}
getch();
menu();
scanf("%d",&n);
}
}
/**************************自定义主菜单函数************************/
void menu()
{
system("cls"); /*清屏*/
printf("\n\n\n\n\n");
printf("\t\t--------欢迎将进入商品管理系统----------------\n");
printf("\t\t|\t0.退出 |\n");
printf("\t\t|\t1.录入记录 |\n");
printf("\t\t|\t2.查找记录 |\n");
printf("\t\t|\t3.删除记录 |\n");
printf("\t\t|\t4.修改记录 |\n");
printf("\t\t|\t5.插入记录 |\n");
printf("\t\t|\t6.排序记录 |\n");
printf("\t\t|\t7.统计记录 |\n");
printf("\t\t|--------------------------------------------|\n");
printf("\t\t\t请输入您的操作类型【0-7】: \n");
}
/**************************自定义商品录入并保存函数************************/
void in()
{ int i,m=0;
char ch[2];
FILE *fp;
if((fp=fopen("data.txt","ab+"))==NULL)
{ printf("不能打开文件!\n");
return; }
while(!feof(fp)) { if(fread(&comm[m],LEN,1,fp)==1)
m++;
}
fclose(fp);
if(m==0)
printf("无商品记录........\n");
else
{ system("cls");
show();
}
if((fp=fopen("data.txt","wb"))==NULL)
{ printf("不能打开文件!\n");
return;}
for(i=0;i
fwrite(&comm[i],LEN,1,fp);
printf("是否输入(
y/n):\n");
scanf("%s",ch);
while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)
{ printf("编号:\n");
scanf("%d",&comm[m].num);
for(i=0;i
if(comm[m].num==comm[i].num)
{ printf("该记录已经存在,按任意键返回......\n");
getch();
fclose(fp);
return;
}
printf("商品名:\n");
scanf("%s",comm[m].name);
printf("单价:\n");
scanf("%lf",&comm[m].price);
printf("数量:\n");
scanf("%lf",&comm[m].num);
comm[m].total=comm[m].count*comm[m].price;
if(fwrite(&comm[m],LEN,1,fp)!=1)
{ printf("不能保存!\n");
getch();
return;}
else{ printf("%s 已经保存!\n",comm[m].name);
m++; }
printf("是否继续(
y/n):\n");
scanf("%s",ch);
}
fclose(fp);
printf("OK!\n");
return;
}
/**************************自定义显示商品记录函数************************/
void show()
{ int i,m=0;
FILE *fp;
if((fp=fopen("data.txt","ab+"))==NULL)
{printf("不能打开记录!\n");