C语言程序设计产品管理系统

img


一、功能描述
某工厂有多种产品,每种产品包括:产品代码,产品名称,产品数量,销售量等。要求合理运用C语言实现一个模拟的产品管理系统,能用于管理产品的基本信息及信息统计。
通过键盘或读取文件的方法读取产品的信息,对各类产品进行删除、插入、修改等操作,能进行产品统计和分析。
产品的基本信息记录如下表,可以根据设计要求进行扩展
二、其他要求
(1)源程序要有适当的注释,使程序容易阅读
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)完成基本任务情况下,可创新,可自动增加新功能模块

可以这样定义结构体数组

typedef struct
{
    char id[25];            //产品代码
    char name[25];             //产品名称
    char model[25];            //产品型号
    char specification[25];    //产品规格
    int number;                //产品数量
    char manufacturer[25];    //产品厂家
    char location[25];        //产品位置
    double price;            //产品价格
    int sales_volume;        //销售量
} Produce;

C语言程序设计--产品信息管理系统
如有帮助,望采纳

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#include<conio.h>
#define num 100
int login(int count);
void showmenu();
//浏览商品信息

void findall();
//根据商品编号查找

void findbyid();
//添加商品信息

void addgood();
//修改商品信息

void updategood();
//删除商品信息

void deletegood();

int selectgid(char gid[20] );

/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
struct goods{
char gid[20];
char gname[20];
float price;
int gnum;
};

struct goods goods[num];

int total=0;
int count=0;//全局定义可以在任何函数中使用

int main() {
int flag=-1;
int count=0;
do{
flag=login(++count);
}while(flag==0);
int i;
for(i=0;i<6;i++){
Sleep(500);
printf(".");
}
showmenu();
return 0;
}
int login(int count){
char uname[20];
char upwd[20];
system(“cls”);
printf(“欢迎来到商品系统******\n”);
printf(“版权所有**********\n”);
printf(“请输入姓名:\n”);
scanf("%s",uname);
printf(“请输入密码:\n”);
int index=0;
char ch;
while((ch=getch())!=13){//先进行对其定义
if(ch=再一个=8){//ch等于等于八
if(index<=0){
index=0;
}else{
printf("\b \b");
index–;
}
}else{
upwd[index]=ch;
index++;
putch(’*’);//字符单引号
}

}
if(strcmp("峰江小娇妻",uname)==0&&strcmp("wljnfj0924",upwd)==0){
    return 1;
}
if(count==3){
    printf("\n\t对不起,你暂无权限,系统将自动退出...\n\t");
    exit(0);
}else{
    printf("\n\n\t账号密码有误,请确认后再次输入《你还有%d次机会》",3-count);
    printf("\a"); 
    system("pause");
    return 0;
}
return 0;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
}
void showmenu()
{
int choice;

do{
    system("cls");
    printf("\n*************欢迎使用商品管理系统**************************\n");
    printf("\n*********************版权所有***************************\n");
    printf("\n*********************主菜单***************************\n");
    printf("\n\t\t\t1.浏览商品信息\n");
    printf("\n\t\t\t2.查看商品信息\n");
    printf("\n\t\t\t3.录入商品信息\n");
    printf("\n\t\t\t4.修改商品信息\n");
    printf("\n\t\t\t5.删除商品信息\n");
    printf("\n\t\t\t6.安全退出\n");
    printf("\n********************************************************\n");
    scanf("%d",&choice);
    switch(choice){
        case 1:findall();break;
        case 2:findbyid();break;
        case 3:addgood();break;
        case 4:updategood();break;
        case 5:deletegood();break;
        case 6:
            printf("\n\t即将退出系统....\n\n");
            exit(0);
            break;
        default:
            printf("\n输入选项有误请再次输入");
            break; 
    }
    system("pause");
}while(1==1);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
}
//浏览商品信息

void findall(){

int i;
if(total<=0){//通过添加和修改是total也改变的 
    printf("暂无商品");
    return ;
}
system("cls");
printf("\n*************欢迎使用商品管理系统**************************\n");
printf("\n*********************版权所有***************************\n");
printf("\n*********************浏览菜单***************************\n");    

for(i=0;i<total;i++){
    printf("%-20s%-20s%-20.2lf%-10d\n",goods[i].gid,goods[i].gname,goods[i].price,goods[i].gnum);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
}
//根据商品编号查找

void findbyid(){
char gid[20];
int i;
if(total<=0){
printf(“暂无商品”);
return ;
}
system(“cls”);
printf("\n欢迎使用商品管理系统**************************\n");
printf("\n********版权所有***************************\n");
printf("\n*********************浏览菜单***************************\n");
printf(“请输入查询的序号:”);
scanf("%s",gid);
for(i=0;i<total;i++){
if(strcmp(gid,goods[i].gid)==0){

    printf("\n商品编号\t   商品名称\t    商品价格\t           商品库存\t \n\n");
    printf("%-20s%-20s%-20.2lf%-10d\n",goods[i].gid,goods[i].gname,goods[i].price,goods[i].gnum);
    return ;
        }
}
printf("\n暂无商品"); 
1
2
3
4
5
6
}
//添加商品信息

void addgood(){
struct goods gd;
int result;
int i;
system(“cls”);
printf("\n欢迎使用商品管理系统**************************\n");
printf("\n********版权所有***************************\n");
printf("\n*********************添加菜单***************************\n");
printf("\n请输入商品编号:");
scanf("%s",gd.gid);
printf("\n请输入商品名称:");
scanf("%s",gd.gname);
printf("\n请输入商品价格:");
scanf("%f",&gd.price);
printf("\n请输入商品库存:");
scanf("%d",&gd.gnum);
printf("\n录入商品信息如下: “);
printf(”\n商品编号\t 商品名称\t 商品价格\t 商品库存\t\n\n “);
printf(”%-20s%-20s%-20.2lf%-10d\n",gd.gid,gd.gname,gd.price,gd.gnum);
result=MessageBox(NULL,TEXT(“确定录入该商品数据?”),TEXT(“确认提示”),MB_ICONINFORMATION|MB_YESNO);
if(6==result){
for(i=0;i<total;i++){
if(strcmp(gd.gid,goods[i].gid)==0){
printf(“该商品已存在”);
return ;

            }
        }
        goods[total++]=gd;
        printf("\n录入成功\n"); 
    }
1
2
3
4
5
}
//修改商品信息

void updategood(){
int index;
struct goods gd;//
int result;
if(total<=0){
printf(“暂无商品”);
return ;
}
system(“cls”);
printf("\n欢迎使用商品管理系统**************************\n");
printf("\n********版权所有***************************\n");
printf("\n*********************浏览菜单***************************\n");
printf(“请输入商品编号:”);
scanf("\n%s",gd.gid);
index=selectgid(gd.gid);
if(index<0){
printf(“暂无商品”);
return ;
}
printf("\n请输入商品名称:");
scanf("%s",gd.gname);
printf("\n请输入商品价格:");
scanf("%f",&gd.price);
printf("\n请输入商品库存:");
scanf("%d",&gd.gnum);
result=MessageBox(NULL,TEXT(“确定修改商品”),TEXT(“确认提示”),MB_ICONINFORMATION|MB_YESNO);
if(6==result){
goods[index]=gd;
printf("\n\t修改成功\n\t");
return ;
}
printf("\n\t修改失败\n\t");

}
//删除商品信息

void deletegood(){
char gid[20];
int i;
int result;
int index;
if(total<=0){
printf(“暂无商品”);
return ;}
system(“cls”);
printf("\n欢迎使用商品管理系统**************************\n");
printf("\n********版权所有***************************\n");
printf("\n*********************浏览菜单***************************\n");
printf(“请输入商品编号:”);
scanf("%s",gid);
index=selectgid(gid);
if(index<0){
printf(“暂无商品”);
return ;
}
result=MessageBox(NULL,TEXT(“确定删除商品”),TEXT(“确认提示”),MB_ICONINFORMATION|MB_YESNO);
if(6==result){
for(i=index;i<total;i++){
goods[i]=goods[i+1];
}
total–;
printf("\n\t商品删除成功!!\n\t");
}else{
printf("\n\t商品删除失败\n\t");

}
1
}

int selectgid(char gid[20] ){
int i;
for(i=0;i<total;i++){
if(strcmp(gid,goods[i].gid)==0){
printf("\n商品编号\t 商品名称\t 商品价格\t 商品库存\t \n\n");
printf("%-20s%-20s%-20.2lf%-10d\n",goods[i].gid,goods[i].gname,goods[i].price,goods[i].gnum);
return i;
}
}
return -1;
}



#include<stdio.h>
#include<math.h>
#include<windows.h>  

struct commodity{ 
 char name[10];
 int num,amount,cost,sell,profit;   
}; 
struct commodity s[30];
//  num:编号  name:商品名字  amount:商品仓库数量  cost:进价   sell:售价   profit:利润    

int n;  //记录现有商品的数量
int t;  //全局可用的变量

 
void into();//创建信息
void look();//展示全部信息
void change();//修改
void search();//查询
void up(); //低到高排序
void down();//高到低排序
void maxmin();//最大最小
void delated();//删除
void add();//增加信息
//颜色模块(用于变色输出字体的颜色)
 void color(char x)
{
 if(x>=0 && x<=15)
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);
 else
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9);
 } 

//主函数模块

//主函数模块 
int main(void)
{
 int a;
 do{
  color(3);
  printf("-------------------------------");
  printf("\n/       菜单栏     /\n");
  printf("    01:创建商品信息\n");
  printf("    02:展示所有商品信息\n");
  printf("    03:出入库及修改信息\n");
  printf("    04:查找某个商品信息\n");
  printf("    05:从低到高排列信息\n");
  printf("    06:从高到低排列信息\n");
  printf("    07:查看最大与最小值\n");
  printf("    08:删除商品信息\n"); 
  printf("    09:增加商品信息\n"); 
  printf("    00:退出\n");
  printf("/------------------------------/\n\n");
  color(7);

  printf("Enter:");
  scanf("%d",&a);

  switch(a)  
  {
   case 1:
   {
    printf("\n请输入要录入的商品个数:");
    scanf("%d",&n); 
    into();
   }break;
   case 2:look();break;
   case 3:change();break;
   case 4:search();break;
   case 5:up();break;
   case 6:down();break;
   case 7:maxmin();break;
   case 8:
   {
    delated();
    n=n-1; 
   }break;
   case 9:
   {
    printf("\n请输入要增加的商品个数:");
    scanf("%d",&t); 
    add();
    n=n+t;  
   }break;
   case 0:break;
   default: color(6); printf("\n输入的功能编号错误!\n");color(7);//color(6)字体变化为红色,7是白色
  }
 }
 while(a!=0); 
 return 0;
}

//创建信息模块


//创建信息模块 
void into()
{
 int i;
 printf("编号 名字 数量 进价 售价 \n");
 for(i=0;i<n;i++)
 {
  scanf("%d %s %d %d %d",&s[i].num,&s[i].name,&s[i].amount,&s[i].cost,&s[i].sell); 
  s[i].profit=s[i].sell-s[i].cost;  //计算利润
 }
 printf("\n\n保存成功!结果如下:");
 look();
}

//展示所有信息

//展示所有信息
void look()
{
   int i;
   int total_profit=0;  //总利润

       color(3);
       printf("\n-----------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
    color(7);

    
   for(i=0;i<n;i++)
   {
   if(s[i].amount <100)
   {
      color(4);
   printf(" %d %7s %5d %6d %7d %7d  \n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
      color(7);
   }
       
   else if(s[i].amount >300)
   {
      color(2);
   printf(" %d %7s %5d %6d %7d %7d  \n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
      color(7);
   }
   
   else
   {
   printf(" %d %7s %5d %6d %7d %7d  \n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
   }
    color(7);
   }

   printf("\n预计总利润:");
   for(i=0;i<n;i++)
   {
         total_profit=total_profit+s[i].profit *s[i].amount ; 
   }
    printf("%d\n\n",total_profit);
    color(3);
    printf("-----------------------------------------\n\n");
    color(7);
}

//改动信息模块

//改动信息模块
void change()
{
 int l=0; 
 int g=0;
 int chu=0;//出库数量
 int ru=0;// 入库数量
 int a,b,c,d,i;

 printf("\n请输入需要改动商品的编号:");
 scanf("%d",&a);

   for(i=0;i<n;i++)
   {    
    if(s[i].num ==a)
    {  
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
       g=g+1;  
    d=i;
    }
   }
     if(g==0)  
  {
    color(6);
       printf("\n------没有该商品!------\n\n");
    color(7);
    change();
  }


    color(3);
    printf("\n\n-------------------------\n");
 printf("请选择需要改动的内容\n");
 printf("1.出入库\n");
 printf("2.修改进价\n");
 printf("3.修改售价\n");
    printf("-------------------------\n\n");
 color(7);
 printf("Enter:");
 scanf("%d",&b); 

 if(b>0 && b<4) 
 {
    switch(b)
    {
     case 1:
      {
    color(3);
    printf("\n1.出库\n2.入库\n");
       color(7);
                printf("\n\n请选择入库还是出库:");
       scanf("%d",&l);
      switch(l)
      {
          case 1:
        {
               printf("请输入出库数量:");
            scanf("%d",&chu);
            if(s[d].amount >=chu) 
         {
                s[d].amount = s[d].amount - chu; 
             break;
         }
            else
         {
                color(6);
                                  printf("\n\n---%s的存储量不足!---\n\n",s[d].name );
                color(7);
                main();
         }
        }
          case 2:
        {
              printf("请输入入库数量:");
           scanf("%d",&ru);
           s[d].amount = s[d].amount + ru;
           break;
        }
      }
           break;
      }//出入库选项结束

      case 2:
   {
    printf("改动为:");
    scanf("%d",&c);
    s[d].cost=c;break;
   }
      case 3:
   {
             printf("改动为:");
             scanf("%d",&c);
    s[d].sell=c;break;
   }
    }
 s[d].profit=s[d].sell-s[d].cost ; //重置利润
 color(11);
 printf("修改成功!\n");
 color(7);
             printf("\n-----------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[d].num ,s[d].name,s[d].amount,s[d].cost,s[d].sell,s[d].profit); 
    printf("-----------------------------------------\n\n");
 }
 else
 {
  color(6);
  printf("\n输入功能号码错误!\n");
     color(7);
 }
} 

//查找信息模块

//查找信息模块
void search()
{
 int f=0;
 int b,a,i;
  color(3);
 printf("\n---------------------\n");
 printf("\n请输入要查找的类型\n");
 printf("1.编号\n");
 printf("2.数量\n");
 printf("3.进价\n");
 printf("4.售价\n");
 printf("5.利润\n");
 printf("---------------------\n\n");
  color(7);
 printf("Enter:");
 scanf("%d",&b);
 switch(b)
 {

  case 1:
  {
   printf("\n请输入要查找的编号:");
   scanf("%d",&a);
   for(i=0;i<n;i++)
   {
    if(s[i].num ==a)
    {  
    printf("\n---------------------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
    printf("\n该商品的总利润为:%d\n\n",s[i].profit*s[i].amount); 
    printf("\n---------------------------------------------------\n");
       f=f+1; 
    }
   }
        if(f==0) 
     {
      color(6);
                  printf("\n------没有该商品!------\n\n");
      color(7);
     }
  }break;

  case 2:
  {
   printf("\n请输入要查找的数量");
   scanf("%d",&a);
   for(i=0;i<n;i++)
   {
    if(s[i].amount==a)
    {  
    printf("\n---------------------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
    printf("\n该商品的总利润为:%d\n\n",s[i].profit*s[i].amount); 
    printf("\n---------------------------------------------------\n");
       f=f+1;
    }
   }
        if(f==0)
     {
      color(6);
                  printf("\n------没有该商品!------\n\n");
      color(7);
     }
  }break;

  case 3:
  {
   printf("\n请输入要查找的进价");
   scanf("%d",&a);
   for(i=0;i<n;i++)
   {
    if(s[i].cost==a)
    {  
    printf("\n---------------------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
    printf("\n该商品的总利润为:%d\n\n",s[i].profit*s[i].amount); 
    printf("\n---------------------------------------------------\n");
       f=f+1;
    }
   }
        if(f==0)
     {
      color(6);
                  printf("\n------没有该商品!------\n\n");
      color(7);
     }
  }break;

  case 4:
  {
   printf("\n请输入要查找的售价");
   scanf("%d",&a);
   for(i=0;i<n;i++)
   {
    if(s[i].sell==a)
    {  
    printf("\n---------------------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
    printf("\n该商品的总利润为:%d\n\n",s[i].profit*s[i].amount); 
    printf("\n---------------------------------------------------\n");
       f=f+1;
    }
   }
        if(f==0)
     {
      color(6);
                  printf("\n------没有该商品!------\n\n");
      color(7);
     }
  }break;

  case 5:
  {
   printf("\n请输入要查找的利润");
   scanf("%d",&a);
   for(i=0;i<n;i++)
   {
    if(s[i].profit==a)
    {  
    printf("\n---------------------------------------------------\n");
       printf("编号  名字   数量   进价    售价    利润\n\n");
       printf(" %d %7s %5d %6d %7d %7d\n",s[i].num ,s[i].name,s[i].amount,s[i].cost,s[i].sell,s[i].profit);
    printf("\n该商品的总利润为:%d\n\n",s[i].profit*s[i].amount);
    printf("\n---------------------------------------------------\n");
       f=f+1;
    }
   }
        if(f==0)
     {
      color(6);
                  printf("\n------没有该商品!------\n\n");
      color(7);
     }
  }break;
 }
}

//从低到高排列模块

//从低到高排列模块 
void up()
{
 int i,j,a; 
 struct commodity t;
  color(3);
 printf("\n请选择排列项\n");
 printf("1.编号\n");
 printf("2.数量\n");
 printf("3.进价\n");
 printf("4.售价\n");
 printf("5.利润\n");
  color(7);
 printf("Enter:");
 scanf("%d",&a); 
 if(a>0&&a<6) 
 {
   switch(a)
   {
  case 1: //采用冒泡排序法
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].num >s[j+1].num)
     {
      t=s[j];  
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  case 2: 
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].amount >s[j+1].amount)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  case 3:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].cost >s[j+1].cost)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  case 4:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].sell >s[j+1].sell)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;

  case 5:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].profit >s[j+1].profit)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
   }//结束switch
 }//结束if
    else
 {
   color(6);
   printf("\n输入功能号码错误!\n");
   color(7);
   main();
 }
  look(); 
}

//从高到低排列

//从高到低排列
void down()   
{
 int i,j,a;
 struct commodity t;
  color(3);
 printf("请选择排列项\n");
 printf("1.编号\n");
 printf("2.数量\n");
 printf("3.进价\n");
 printf("4.售价\n");
 printf("5.利润\n");
  color(7);
 printf("Enter:");
 scanf("%d",&a); 
 if(a>0&&a<6)
 {
  switch(a)
  {
  case 1:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].num <s[j+1].num)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  case 2:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].amount <s[j+1].amount)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  case 3:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].cost <s[j+1].cost)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  case 4:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].sell <s[j+1].sell)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;

  case 5:
  {
   for(i=1;i<n;i++)
   {
    for(j=0;j<n-i;j++)
    {
     if(s[j].profit <s[j+1].profit)
     {
      t=s[j];
      s[j]=s[j+1];
      s[j+1]=t;
     }
    }
   }
  }break;
  }
 }
    else
 {
   color(6);
   printf("\n输入功能号码错误!\n");
   color(7);
   main();
 }
 color(11);
 printf("---排序成功!---");
 color(7);
     look();
} 

//最大值最小值模块

//最大值最小值模块
void maxmin()
{
 int i,a;
 struct commodity max,min; 
 max=min=s[0];
  color(3);
 printf("请选择一项\n");
 printf("1.数量\n");
 printf("2.进价\n");
 printf("3.售价\n");
 printf("4.利润\n");
  color(7);
 printf("Enter:");
 scanf("%d",&a); 
 if(a>0&&a<5)
 {
 switch(a)
 {
  case 1:
  {
   for(i=0;i<n;i++) 
   {
    if(s[i].amount<min.amount)  
    {
     min=s[i];
    }
    if(s[i].amount>max.amount)  
    {
     max=s[i];
    }   
   } 
 printf("编号  名字   数量   进价    售价    利润\n\n");  
 printf("            最大值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",max.num,max.name,max.amount,max.cost,max.sell,max.profit);
 printf("            最小值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",min.num,min.name,min.amount,min.cost,min.sell,min.profit); 
  }break;
  case 2:
  {
   for(i=0;i<n;i++)
   {
    if(s[i].cost<min.cost)
    {
     min=s[i];
    }
    if(s[i].cost>max.cost)
    {
     max=s[i];
    }
    
   }
 printf("编号  名字   数量   进价    售价    利润\n\n");
 printf("                   最大值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",max.num,max.name,max.amount,max.cost,max.sell,max.profit);
 printf("                   最小值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",min.num,min.name,min.amount,min.cost,min.sell,min.profit); 
  }break;
  case 3:
  {
   for(i=0;i<n;i++)
   {
    if(s[i].sell<min.sell)
    {
     min=s[i];
    }
    if(s[i].sell>max.sell)
    {
     max=s[i];
    }
    
   }
 printf("编号  名字   数量   进价    售价    利润\n\n");
 printf("                           最大值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",max.num,max.name,max.amount,max.cost,max.sell,max.profit);
 printf("                           最小值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",min.num,min.name,min.amount,min.cost,min.sell,min.profit); 
  }break;

  case 4:
  {
   for(i=0;i<n;i++)
   {
    if(s[i].profit<min.profit)
    {
     min=s[i];
    }
    if(s[i].profit>max.profit)
    {
     max=s[i];
    }
   }
 printf("编号  名字   数量   进价    售价    利润\n\n");
 printf("                                   最大值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",max.num,max.name,max.amount,max.cost,max.sell,max.profit);
 printf("                                   最小值\n");
 printf(" %d %7s %5d %6d %7d %7d\n\n",min.num,min.name,min.amount,min.cost,min.sell,min.profit); 
  }break;
 }
 }
     else
 {
   color(6);
   printf("\n输入功能号码错误!\n");
   color(7);
   main();
 }
} 

//删除信息模块


void delated()
{

 int a,i,b,j;

 printf("请输入要删除的商品信息的编号:");
 scanf("%d",&a);
 if(a>0&&a<n+1) 
 {
    for(i=0;i<n;i++)
    {
     if(s[i].num==a)
     {
     b=i;
     break;
     }
    }

    for(j=b;j<n;j++) 
    {
   s[j]=s[j+1]; 
    }
     color(11);
     printf("已删除\n\n"); 
     color(7);
 } 

 else
 {
       color(6);
    printf("\n不存在该商品!\n\n");
    color(7);
    main();
 }
}
//增加信息模块
void add() 
{

 int i=0;
 printf("编号 名字 数量 进价 售价 \n\n");
 for(i=n;i<n+t;i++)
 {
  scanf("%d %s %d %d %d",&s[i].num,&s[i].name,&s[i].amount,&s[i].cost,&s[i].sell);
  s[i].profit=s[i].sell-s[i].cost;
 }

}