用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");