收藏 分销(赏)

C语言课程设计《商品销售管理系统》.doc

上传人:可**** 文档编号:12100113 上传时间:2025-09-12 格式:DOC 页数:17 大小:121KB 下载积分:8 金币
下载 相关 举报
C语言课程设计《商品销售管理系统》.doc_第1页
第1页 / 共17页
C语言课程设计《商品销售管理系统》.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
      商品销售管理系统                        目录 一、 需求分析、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 二、 概要设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 三、 详细设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4 四、 调试分析、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、14 五、 用户手册、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、14 六、 测试数据、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、15 七、 附录、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、18           -1- 一、需求分析                   商品销售管理程序     商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD得电视机,带DVD得电视机得售价为普通电视机与DVD单价之与得80%)、商品进货价格、商品销售价格、商品数量、供应商名称等. 记录每一次销售商品得数量与价格,并提供对已售出商品得价格、数量进行统计、排序功能,但允许用户退商品. (要求:1、源文件采用多文件得工程结构2、数据存储采用文件形式3、标准得C输入输出4、功能完善,适当得注释,5、关于文件得内容需要自学) 二、 概要设计   (一)按系统分析得功能要求将系统划分为以下几个主要功能模块: 1、文件管理   文件打开、关闭:对于刚输入或进行操作后得商品信息,在建立新得商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开与关闭操作。 2、进出货管理 (1)商品进货: 输入数据后商品信息能自动更新进行添加 (2)商品销售: 输入数据后商品信息能自动更新进行减少 3、商品数据管理 (1)增加/删除商品: 添加或删除某条商品得信息 (2)修改商品信息: 对某条商品得信息进行修改 4、浏览商品信息管理 (1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询 (2)排序商品信息: 可按商品编号、名称、类别分别排排序 (3)浏览商品信息:可浏览输入、查询或排序后得数据. (二)本程序结构 (1)结构体设计   struct goods { long int num;       char name[20];     char sort[20];       long int count;     long int price;      }goods[200]; (2)各功能函数设计: void input()  /*功能1:输入商品信息*/              —2- void sequence() /*功能2:排序商品信息*/ void purchase()  /*功能3:进货商品信息*/  void sell()  /*功能4:销售商品信息*/  void edit() /*功能5:添加或删除商品信息*/ void correct()  /*功能6:修改商品信息*/  void search() /*功能7:查询商品信息*/ void scan()   /*功能8:浏览商品信息*/ void reserve() /*功能9:保存文件*/ void quit() /*退出系统*/ (3) 主函数设计:     void main () {  void input();      void sequence();   void purchase();   void sell(); void edit();  void correct(); void search(); void scan(); void reserve();  lp: for(i=0;i〈1;i++)   scanf(”%d”,&k); system(”cls"); switch(k) /*用switch语句实现功能选择*/ system("cls”);   /*清屏*/     goto lp; /*返回主界面*/ } 三、详细设计 (1)各功能函数:   void input() /*功能1:输入商品信息*/ {   printf("\n     请输入需要建立新库存得商品种类数量:");  scanf(”%d",&n);   system("cls");   printf(”\n …………………………………………………………………………………………………\n");  for(i=0;i<n;i++) /*用循环实现输入n个商品*/    { printf("\n\t*请输入商品得编号:");   scanf("%ld",&goods[i]、num);   ﻩprintf("\n\t 请输入商品得名称:”);          —3— scanf(”%s",goods[i]、name); ﻩprintf("\n\t 请输入商品得种类:"); ﻩscanf(”%s”,goods[i]、sort); printf("\n\t 请输入商品得数量:”); scanf("%d",&goods[i]、count); printf(”\n\t 请输入商品得单价:");  ﻩscanf(”%d”,&goods[i]、price);  printf("\n …………………………………………………………………………………………………\n");   } printf("\tPlease press any key to continue:"); ﻩgetch(); return;  /*返回主界面*/  } void sequence()   /*功能2:排序商品信息*/  {  long temp; char p1[30],p2[30]; for(k=0;k〈n—1;k++) /*(1): 按编号排序*/   for(i=0;i<n-k-1;i++) /*用起泡法排序*/   if(goods[i]、num>goods[i+1]、num)  /*按编号由小到大排序*/   {  temp=goods[i]、num;   goods[i]、num=goods[i+1]、num;   goods[i+1]、num=temp;    strcpy(p1,goods[i]、name); strcpy(goods[i]、name,goods[i+1]、name);   strcpy(goods[i+1]、name,p1);  strcpy(p2,goods[i]、sort);   strcpy(goods[i]、sort,goods[i+1]、sort);  strcpy(goods[i+1]、sort,p2); } printf(”---——-—--———-——-——-——---—----——---—-------——--——-——-—-—-———--—---—-—-—-—-——----—\n");    printf("\n\t\t按商品编号排序后得商品信息\n\n”); printf(”\t商品编号  商品名称   商品类别   商品数量  商品单价\n");   /*输出排序后商品信息*/    for(i=0;i<n;i++)   { printf("\t %5ld   %5s   %5s   %5ld   %5ld\n",goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);             —4— }   for(k=0;k〈n—1;k++)   /*(2): 按商品名称排序*/    for(i=0;i<n-k-1;i++) if(strcmp(goods[i]、name,goods[i+1]、name)〉0)   { strcpy(p1,goods[i]、name);   ﻩstrcpy(goods[i]、name,goods[i+1]、name); ﻩstrcpy(goods[i+1]、name,p1);   temp=goods[i]、num; ﻩgoods[i]、num=goods[i+1]、num;    goods[i+1]、num=temp; strcpy(p2,goods[i]、sort);    ﻩstrcpy(goods[i]、sort,goods[i+1]、sort);     strcpy(goods[i+1]、sort,p2); } printf(”—---——-—-—-—----———--——---——-—-—--—-----—---—---------—---—-----—-—---—--—--——--\n”);   printf(”\n\t\t按商品名称排序后得商品信息\n"); printf("\n\t商品名称 商品编号   商品类别     商品数量  商品单价\n");   /*输出排序后商品信息*/ for(i=0;i<n;i++)     {ﻩ     printf("\t %5s   %5ld     %5s   %5ld     %5ld\n",goods[i]、name,goods[i]、num,goods[i]、sort,goods[i]、count,goods[i]、price); }    for(k=0;k〈n—1;k++)  /*(3): 按商品类别排序*/ for(i=0;i<n-k—1;i++)  /*用起泡法排序*/   if(strcmp(goods[i]、sort,goods[i+1]、sort)>0) {   strcpy(p2,goods[i]、sort); strcpy(goods[i]、sort,goods[i+1]、sort); strcpy(goods[i+1]、sort,p2); temp=goods[i]、num;   goods[i]、num=goods[i+1]、num;   goods[i+1]、num=temp; strcpy(p1,goods[i]、name); strcpy(goods[i]、name,goods[i+1]、name); strcpy(goods[i+1]、name,p1);    } printf("—---—-—--—--——--——-—---—-—-—---———----——---——-------—--—---—-           —5— —--—--—-—---—-—-——-”); printf(”\n\t\t按商品类别排序后得商品信息\n\n");   printf(”\t商品类别     商品编号   商品名称    商品数量 商品单价\n”);    /*输出排序后商品信息*/ for(i=0;i〈n;i++) {  ﻩprintf("\t %5s  %5ld   %5s %5ld   %5ld\n”,goods[i]、sort,goods[i]、num,goods[i]、name,goods[i]、count,goods[i]、price);     } printf("----—---—-—-—----------—--—---—-—-——-—-—--—-—-—-——-——-------------——----—----———");    printf(”please press any key to continue:"); getch(); return;  /*返回主界面*/ } void purchase() /*功能3:进货商品信息*/       {    long temp; /*定义临时变量表示刚进货得商品编号*/ int j; printf(”\n\t\5请输入刚进货得商品编号:"); scanf("%ld”,&temp); printf("\n\t\5请输入刚进货得商品数量:”);    scanf("%d",&j);   printf(”\n\n\n\tpress any key to contiue:”);    getch();   system(”cls"); printf("\n\t输出进货后得商品信息:”);   for(i=0;i<n;i++)  /*循环,寻找与进货相同得商品信息*/     if(temp==goods[i]、num)     goods[i]、count=goods[i]、count+j; /*自动更改商品数量*/ printf("\n\t商品编号  商品名 商品类别 商品数量  商品价格"); for(i=0;i<n;i++)    /*循环,输出进货后得商品信息*/ { printf("\n\t  %4ld    %4s    %4s   %ld      %4ld”,goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price); }   printf(”\n\n\t\tPress any key to enter menu:”);       getch();  /*返回功能选择界面*/   return; }          —6- void sell()  /*功能4:销售商品信息*/ {   long temp;   /*定义临时变量temp表示刚销售得商品编号*/   int j; printf(”\n\t\5请输入刚销售得商品编号:");  scanf("%ld",&temp);  printf("\n\t\5请输入刚销售得商品数量:"); scanf(”%d",&j);   for(i=0;i<n;i++) /*循环,找到刚销售得商品信息*/    { if(temp==goods[i]、num)     {   for(;j〉goods[i]、count;)  /*如果销售额大于库存量,则出现错误提示*/   {    printf("\n\t售出数量大于商品原有数量,出现错误,请重新输入:");     scanf("%d",&j);        } goods[i]、count=goods[i]、count-j;  /*完成自动更改商品数量得功能*/  }   }  printf(”\n\tpress any key to contiue:");  getch();    system(”cls”);   /*清屏*/   printf("\n\n *销售后商品信息:"); printf("\n\t商品类别  商品编号 商品名称     商品数量    商品单价\n"); for(i=0;i〈n;i++)    /*循环,输出销售后商品信息*/ {   printf("\t %4s     %4ld      %4s      %4ld      %4ld\n",goods[i]、sort,goods[i]、num,goods[i]、name,goods[i]、count,goods[i]、price);  } printf("\n\tPress any key to enter menu:");   getch(); return;  /*返回功能选择界面*/ }ﻩ void edit() /*功能5:添加或删除商品信息*/                          { void add(); /*声明子函数*/ void dele();                     -7— printf("\n\t请选择:1、添加商品信息;   2、删除商品信息;"); printf(”\t*请输入 1或2 继续:”); ﻩscanf("%d",&k); switch(k)  /*用switch语句实现功能选择*/    { case 1: add();break;   case 2: dele();break;    }    getch();   return;  /*返回主菜单*/   } void add() /*添加商品信息*/   {        /*定义子函数*/   ﻩprintf("\t*请输入所添加商品得商品编号:");   scanf("%ld”,&goods[n]、num); printf("\n\t请输入所添加商品得名称:"); scanf("%s",goods[n]、name); printf("\n\t请输入所添加商品得类别:”); scanf("%s",goods[n]、sort);   printf(”\n\t请输入所添加商品得数量:");  scanf("%d",&goods[n]、count);     printf(”\n\t请输入所添加商品得价格:”);   scanf("%d",&goods[n]、price); n=n+1;   printf("\n”);   }   void dele() /*删除商品信息*/    {      /*定义子函数*/   int temp; /*定义局部变量*/                  int j;     for(i=0;i<n;i++) {    printf("\n\t商品编号   商品名 商品类别   商品数量 商品价格”); printf("\n\t %5ld  %5s %5s   %5ld    %5ld”,goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);     printf("\n");    }   printf(”\n”);   printf("\n*请输入要删除得商品编号:”); scanf(”%ld",&temp); printf(”\n\n");           —8—   for(i=0;i<n;i++) { if(temp==goods[i]、num) {   ﻩ  for(j=i;j<n;j++)   {     goods[j]、num=goods[j+1]、num;   strcpy(goods[j]、name,goods[j+1]、name);     strcpy(goods[j]、sort,goods[j+1]、sort);    goods[j]、count=goods[j+1]、count; goods[j]、price=goods[j+1]、price;     }   n=n-1; /*商品总库存量减少*/  } }  for(i=0;i<n;i++) { printf("\n\t商品编号    商品名 商品类别   商品数量 商品价格");   /*输出删除后得商品信息*/ ﻩ printf(”\n\t %5ld     %5s    %5s     %5ld    %5ld",goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);   printf(”\n"); }   printf("Please press any key to continue:");  getch();  return;    /*返回主界面*/ } void correct() /*功能6:修改商品信息*/           { long temp;  /*定义局部变量*/ ﻩprintf(”\n\t请输入要修改得商品得编号:");   scanf("%ld",&temp); /*输入新得商品信息*/ printf("\n"); ﻩfor(i=0;i<n;i++)  /*保存新得商品信息*/    {     if(temp==goods[i]、num)     {   printf(”\t请输入一个新得得商品编号:”);  scanf("%ld",&goods[i]、num); printf("\n\t请输入新得商品得名称:");   scanf("%s",goods[i]、name);    printf(”\n\t请输入新得商品得类别:");              —9—     scanf("%s",goods[i]、sort);    printf("\n\t请输入新得商品得数量:");      scanf("%d”,&goods[i]、count);   printf("\n\t请输入新得商品价格:");     scanf("%d”,&goods[i]、price);     printf("\n");    }   }   for(i=0;i〈n;i++)  {  ﻩ printf("\n\t新得商品名称    商品编号 商品类别      商品数量  商品单价\n”); ﻩ printf("\t  %4s      %4ld   %4s        %4ld    %4ld",goods[i]、name,goods[i]、num,goods[i]、sort,goods[i]、count,goods[i]、price); ﻩ printf(”\n");     } printf("Please press any key to continue:”); /*返回功能选择界面*/ getch(); return;   /*返回主菜单*/ } void search() /*功能7:查询商品信息*/  {   int k;   /*定义局部变量*/     long temp1;    char temp2[30],temp3[20];   printf(”\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货得商品,请按4\n”); printf("\n\n\n\t\t\t请输入数字确定查询方式:”);    scanf("%d”,&k);  printf(”\n");   printf(”Press any key to continue:");   getch();   system("cls"); switch(k)  /*实现查询方式得选择*/   { case 1:  { printf(”\n\n\n\n\n\t\t请输入要查询得商品得编号:");  /*按商品编号查询*/ ﻩ scanf("%ld”,&temp1);   system("cls”); /*清屏*/ ﻩ for(i=0;i<n;i++)     {         -10-   if(temp1==goods[i]、num)      {   printf("\n");               printf(”\n\t商品编号 商品名  商品类别  商品数量  商品价格”);     printf(”\n\t  %5ld     %5s     %5s       %5ld    %5ld”,goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);     }     }       }break;  /*跳出switch语句*/   case 2:   { printf("\n\n\n\n\n\t\t请输入要查询得商品名:”); /*按商品名查询数据*/ ﻩ   scanf(”%s”,temp2);   system("cls");       for(i=0;i〈n;i++)   {   if(strcmp(temp2,goods[i]、name)==0) {       printf("\n”); printf(”\n\t商品编号    商品名    商品类别 商品数量 商品价格”);       printf("\n\t %5ld %5s    %5s  %5ld      %5ld",goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);       }    }   }break; /*跳出switch语句*/      case 3:     { printf(”\n\n\n\n\n\t\t请输入要查询得商品类别:"); /*按商品类别查询数据*/ ﻩ    scanf(”%s",temp3); system("cls”);    for(i=0;i<n;i++)      {      if(strcmp(temp3,goods[i]、sort)==0)      {      printf(”\n");         printf("\n\t商品编号 商品名    商品类别   商品数量  商品价格”);    ﻩ   printf("\n\t %5ld %5s     %5s %5ld     %5ld”,goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]            — 11 —      、price);     }    }     }break; /*跳出switch语句*/     case 4:      { int a=50;     for(i=0;i〈n;i++) /*查询需要进货得商品名*/ ﻩ   { ﻩ  if(goods[i]、count<a)    printf("\n\t\t\4需要进货得商品名:%s  现有库存量:%ld\n",goods[i]、name,goods[i]、count);  }      }break; /*跳出switch语句*/      }     printf(”\n\n\t\tPress any key to enter menu:”);   getch();     return; /*返回主界面*/   }  void scan()   /*功能8:浏览商品信息*/                    { printf(”\n\t浏览输入得商品信息,请按1\n\n\t浏览查询得商品信息,请按2\n\n\t浏览排序后商品信息,请按3\n"); ﻩprintf("请选择:”); scanf("%d",&k); switch(k)    { case 1: { printf("\t\t\t浏览输入得商品信息\n");   printf("\t商品编号   商品名 商品类别 商品数量 商品价格\n");/*输出浏览商品信息*/         for(i=0;i<n;i++)     {   printf(”\t%5ld    %5s  %5s   %5ld      %ld”,goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);        printf("\n”);    }   printf("Press any key to enter menu:");    getch();    return;    } break;  /*跳出switch语句*/   case 2:     { printf(”\t\t\t浏览查询得商品信息\n");                            —12— ﻩ printf("\t商品编号 商品名 商品类别   商品数量   商品价格\n");/*输出浏览商品信息*/    ﻩ  for(i=0;i〈n;i++) ﻩ { printf(”\t%5ld   %5s  %5s     %5ld     %ld”,goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);     printf(”\n”);   }   printf(”\nPress any key to enter menu:");   getch();       return; ﻩ  } break; /*跳出switch语句*/   case 3:    { printf("\t\t\t浏览按商品编号排序得商品信息\n"); ﻩ  printf(”\t商品编号  商品名    商品类别    商品数量    商品价格\n”);/*输出浏览商品信息*/       for(i=0;i〈n;i++) { ﻩ printf(”\t%5ld     %5s    %5s        %5ld    %ld",goods[i]、num,goods[i]、name,goods[i]、sort,goods[i]、count,goods[i]、price);   printf("\n");   } printf("\nPress any key to enter menu:");   getch();   return; /*返回主界面*/     } break;  /*跳出switch语句*/      }       } void reserve() /*功能9:保存文件*/  { ﻩFILE *fp; char ];     /*用来存放文件保存路径以及文件名*/   system(”cls");   /*清屏*/   printf(”\n\t*请输入文件路径及文件名:”); scanf("%s”,file);    fp=fopen("file”,"w+");   /*创建并打开一个文件,并得到该文件得地址*/ fprintf(fp,"商品编号\t商品名 \t商品类别\t商品数量\t商品价格\n"); prin
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服