用c语言编写商品管理系统.docx
- 文档编号:7442490
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:13
- 大小:17.04KB
用c语言编写商品管理系统.docx
《用c语言编写商品管理系统.docx》由会员分享,可在线阅读,更多相关《用c语言编写商品管理系统.docx(13页珍藏版)》请在冰豆网上搜索。
用c语言编写商品管理系统
#include
#include
#include
#include
#include
#defineLENsizeof(structcommdity)
#defineFORMAT"%-8d%-15s%-12.11f%-12.11f%-12.11f\n"
#defineDATAcomm[i].num,comm[i].name,comm[i].price,comm[i].count,comm[i].total
/*定义商品的结构体*/
structcommdity
{
intnum;
charname[15];
doublecount;
doubletotal;
}comm[100000],t;
/*函数的声明*/
voidin();/*商品录入并保存*/
voidshow();/*显示商品记录*/
voidorder();/*商品记录排序*/
voiddel();/*商品记录删除*/
voidmodify();/*商品记录修改*/
voidmenu();/*主菜单*/
voidinsert();/*商品记录插入*/
voidtotal();/*商品统计*/
voidsearch();/*查看商品记录*/
voidmain()
{
intn;
menu();
scanf("%d",&n);
while(n)
{
switch(n)
{
case0:
break;
case1:
in();break;
case2:
search();break;
case3:
del();break;
case4:
modify();break;
case5:
insert();break;
case6:
order();break;
case7:
total();break;
default:
printf("error!
操作错误.....\n");break;
}
getch();
menu();
scanf("%d",&n);
}
}
/**************************自定义主菜单函数************************/
voidmenu()
{
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");
}
/**************************自定义商品录入并保存函数************************/
voidin()
{inti,m=0;
charch[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; } /**************************自定义显示商品记录函数************************/ voidshow() {inti,m=0; 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 {printf("编号商品名称单价数量总金额\t\n"); for(i=0;i {printf(FORMAT,DATA);} } } /**************************自定义商品查看函数************************/ voidsearch() {FILE*fp; intsnum,i,m=0; charch[2]; 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"); return;} printf("编号: \n"); scanf("%d",&snum); for(i=0;i if(snum==comm[i].num) {printf("已经找到记录,是否显示? (y/n): \n"); scanf("%s",ch); if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) {printf("编号商品名称单价数量总金额\t\n"); printf(FORMAT,DATA); break;} else return; } if(i==m) {printf("没有找到相应的记录....\n");} } /**************************自定义商品记录删除函数************************/ voiddel() {inti,m=0,j,snum; charch[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"); return;} printf("请输入编号: \n"); scanf("%d",&snum); for(i=0;i if(snum==comm[i].num) break; if(i==m) {printf("没有找到.....\n"); getch(); return;} printf("已经找到记录,是否删除? (y/n): \n"); scanf("%s",ch); if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) {for(j=i;j comm[j]=comm[j+1]; m--; printf("删除成功....\n");} if((fp=fopen("data.txt","wb"))==NULL) {printf("不能打开文件! \n"); return;} for(i=0;i if(fwrite(&comm[j],LEN,1,fp)! =1) {printf("不能保存! \n"); getch();} fclose(fp); } /**************************自定义商品记录修改函数************************/ voidmodify() {inti,m=0,snum; charch[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"); fclose(fp); return;} printf("请输入您要修改信息的编号: \n"); scanf("%d",&snum); for(i=0;i if(snum==comm[i].num) break; if(i {printf("已经找到该记录,是否修改? (y/n): \n"); scanf("%s",ch); if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) {printf("商品名: \n"); scanf("%s",comm[i].name); printf("单价: \n"); scanf("%lf",&comm[i].price); printf("数量: \n"); scanf("%lf",&comm[i].num); comm[i].total=comm[i].count*comm[i].price; } else return; } else {printf("没有找到......\n"); getchar(); return;} if((fp=fopen("data.txt","wb"))==NULL) {printf("不能打开文件! \n"); return;} for(i=0;i if(fwrite(&comm[i],LEN,1,fp)! =1) {printf("不能保存! \n"); getch();} fclose(fp); } /**************************自定义商品记录插入函数************************/ voidinsert() {inti,m=0,j,k,snum; FILE*fp; if((fp=fopen("data.txt","ab+"))==NULL) {printf("不能打开文件! \n"); return;} while(! feof(fp)) {if(fread(&comm[m],LEN,1,fp)==1) m++;} if(m==0) {printf("无商品记录........\n"); fclose(fp); return; } printf("请输入要插入记录的位置【即编号】: \n"); scanf("%d",&snum); for(i=0;i if(snum==comm[i].num) break; for(j=m-1;j>i;j--) comm[j+1]=comm[j]; printf("请输入您要插入的信息: \n"); printf("编号: \n"); scanf("%d",&comm[i+1].num); for(k=0;k if(comm[k].num==comm[i+1].num&&k! =i+1) {printf("该编号已经存在,按任意键继续......\n"); getch(); fclose(fp); return;} printf("商品名: \n"); scanf("%s",comm[i+1].name); printf("单价: \n"); scanf("%lf",&comm[i+1].price); printf("数量: \n"); scanf("%lf",&comm[i+1].num); comm[i+1].total=comm[i+1].count*comm[i+1].price; if((fp=fopen("data.txt","wb"))==NULL) {printf("不能打开文件! \n"); return;} for(k=0;k if(fwrite(&comm[k],LEN,1,fp)! =1) {printf("不能保存! \n"); getch();} fclose(fp); } /**************************自定义商品记录统计函数************************/ voidtotal() {inti,m=0; FILE*fp; if((fp=fopen("data.txt","ab+"))==NULL) {printf("不能打开记录! \n"); return;} while(! feof(fp)) {if(fread(&comm[m],LEN,1,fp)==1) m++;} if(m==0) {printf("无商品记录........\n"); fclose(fp);} else {printf("编号商品名称单价数量\t\n"); for(i=0;i {printf("%-8d%-15s%-12.11f%-12.11f\n",comm[i].num,comm[i].name,comm[i].price,comm[i].count);} printf("一共有%d条记录! \n",m); fclose(fp); } } /**************************自定义商品记录排序函数************************/ voidorder() {inti,j,m=0; 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 {for(i=0;i for(j=i+1;j {if(comm[i].total {t=comm[i]; comm[i]=comm[j]; comm[j]=t;} } printf("编号商品名称单价数量总金额\t\n"); for(i=0;i {printf(FORMAT,DATA);} } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编写 商品 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)