求一份C语言的原代码(名称:小型商品管理系统)

2024-05-18 23:01

1. 求一份C语言的原代码(名称:小型商品管理系统)

给你一个类似的,你自己改改就行了!
// flight.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#define N 9
typedef struct flight
{ 
 char num[7];
 char day[10];
 char startp[20];
 char endp[20];
 char stime[10];
 char etime[10];
 char type[10];
 int price;
}DataType;
struct flight flightf[10];


typedef char KeyType;
#define D 7              // D为排序码的最大位数 
#define R 'a'             // R为基数,这里为小于字母'a'代表的整型值 
struct Node;             //单链表结点类型
typedef struct Node RadixNode;
        struct Node 
   {
    KeyType key[D];    //关键字
             DataType info;    //数据信息
             RadixNode *next;
  };
typedef RadixNode * RadixList;
typedef struct QueueNode
{    
    RadixNode *f;           //对列的头指针 
    RadixNode *e;           //对列的尾指针 
}Queue;
 Queue queue[R];
void save()
{
 FILE *fp;
 int i=0,j;
 if((fp=fopen("flight.txt","a"))==NULL)
 {
  printf("can't open the file/n");
  exit(0);
 } 
  if(fwrite(&flightf[i],sizeof(struct flight),1,fp)!=1)
  {
   printf("write wrong/n");
         exit(0);
     }
 
 fclose(fp);
}
int read()
{
 FILE *fp;
 int i=0;
 if((fp=fopen("flight.txt","rb"))==NULL)
 {
  printf("can't open the file");
  exit(0);
 }
 
  while(fread(&flightf[i],sizeof(struct flight),1,fp)==1)
  {
   i++;
   
  }
  fclose(fp);
  return i;
}
void cout_info()
{
 cout<<"******************************************************\n"<<endl;
 cout<<"    *                   航班信息表                   *\n"<<endl;
 cout<<"******************************************************\n"<<endl;
 cout<<" 航班号 班期  起飞站  终点站  起飞时间  到达时间  机型 票价\n"<<endl;
}
void search_path(char startp[20],char endp[20])
{     int i=0,j;
      int flage=0;
     j=read();
     for(i=0;i<j;i++)
   if((strcmp(flightf[i].startp,startp)==0)&&(strcmp(flightf[i].endp,endp)==0))
   {   cout_info();
          flage=1;
             printf("%s %s %s %s %s %s %s %d\n",flightf[i].num,flightf[i].day,flightf[i].startp,flightf[i].endp,flightf[i].stime,flightf[i].etime,flightf[i].type,flightf[i].price); 
      }
   if(flage==0)
   cout<<"no find this record"<<endl;
}
void search_num(char number[10])
{    int i=0,j;
     int flage=0;
     j=read();
     for(i=0;i<j;i++)
  if((strcmp(flightf[i].num,number)==0))
   {   cout_info();
          flage=1;
             printf("%-5s %-5s %-5s %-8s %-8s %-10s %-2s %-5d\n",flightf[i].num,flightf[i].day,flightf[i].startp,flightf[i].endp,flightf[i].stime,flightf[i].etime,flightf[i].type,flightf[i].price); 
      }
  if(flage==0)
   cout<<"no find this record"<<endl;
  
}
void search_time(char stime[20],char etime[20])
{
  int i=0,j;
  int flage=0;
     j=read();
     for(i=0;i<j;i++)
   if((strcmp(flightf[i].stime,stime)==0)&&(strcmp(flightf[i].etime,etime)==0))
   {    cout_info();
           flage=1;
             printf("%s %s %s %s %s %s %s %d\n",flightf[i].num,flightf[i].day,flightf[i].startp,flightf[i].endp,flightf[i].stime,flightf[i].etime,flightf[i].type,flightf[i].price); 
      }
   if(flage==0)
   cout<<"no find this record"<<endl;
}
void change_num(char num[10])
{  
  FILE *fp;
     int choice1;
  char choice2[5];
     int i=0,j;
     j=read();
     for(i=0;i<j;i++)
   if((strcmp(flightf[i].num,num)==0))
   { 
changeinfo:  cout<<"请选择你想修改的选项"<<endl;
    cout<<"1:航班号"<<endl;
    cout<<"2:日期"<<endl;
    cout<<"3:起点站和终点站"<<endl;
    cout<<"4:起飞时间和抵达时间"<<endl;
    cout<<"5:机型"<<endl;
    cout<<"6:价钱"<<endl;
    cin>>choice1;
    switch(choice1)
    {
    case 1:
     cout<<"修改前的内容"<<endl;
     cout<<flightf[i].num<<endl;
     cout<<"请输入修改后的内容"<<endl;
        cin>>flightf[i].num;
     fp=fopen("flight.txt","rt+");
     fseek(fp,(i-1)*sizeof(struct flight),0);
     if(fwrite(&flightf[i],sizeof(struct flight),1,fp)==1)
     cout<<"修改成功!要继续修改其他项目吗?(YES/NO)"<<endl;   
     fseek(fp,0,0);
     cin>>choice2;
     if((strcmp(choice2,"YES")==0))
      goto changeinfo;
    break;
    case 2:
     cout<<"修改前的内容"<<endl;
     cout<<flightf[i].day<<endl;
     cout<<"请输入修改后的内容"<<endl;
     cin>>flightf[i].day;
     fp=fopen("flight.txt","rt+");
     fseek(fp,(i-1)*sizeof(struct flight),0);
     if(fwrite(&flightf[i],sizeof(struct flight),1,fp)==1)
     cout<<"修改成功!要继续修改其他项目吗?(YES/NO)"<<endl;   
     fseek(fp,0,0);
     cin>>choice2;
     if((strcmp(choice2,"YES")==0))
      goto changeinfo;
      break;
    case 3:
     cout<<"修改前的内容"<<endl;
     cout<<flightf[i].startp<<flightf[i].endp<<endl;
     cout<<"请输入修改后的内容"<<endl;
    cin>>flightf[i].startp;
     cin>>flightf[i].endp;
     fp=fopen("flight.txt","rt+");
     fseek(fp,(i-1)*sizeof(struct flight),0);
     if(fwrite(&flightf[i],sizeof(struct flight),1,fp)==1)
     cout<<"修改成功!要继续修改其他项目吗?(YES/NO)"<<endl;   
     fseek(fp,0,0);
     cin>>choice2;
     if((strcmp(choice2,"YES")==0))
      goto changeinfo;
      break;
    case 4: 
     cout<<"修改前的内容"<<endl;
     cout<<flightf[i].stime<<flightf[i].etime<<endl;
     cout<<"请输入修改后的内容"<<endl;
     cin>>flightf[i].stime;
     cin>>flightf[i].etime;
     fp=fopen("flight.txt","rt+");
     fseek(fp,(i-1)*sizeof(struct flight),0);
     if(fwrite(&flightf[i],sizeof(struct flight),1,fp)==1)
     cout<<"修改成功!要继续修改其他项目吗?(YES/NO)"<<endl;   
     fseek(fp,0,0);
     cin>>choice2;
     if((strcmp(choice2,"YES")==0))
      goto changeinfo;
      break;
             case 5: 
     cout<<"修改前的内容"<<endl;
     cout<<flightf[i].type<<endl;
     cout<<"请输入修改后的内容"<<endl;
     cin>>flightf[i].type;
     fp=fopen("flight.txt","rt+");
     fseek(fp,(i-1)*sizeof(struct flight),0);
     if(fwrite(&flightf[i],sizeof(struct flight),1,fp)==1)
     cout<<"修改成功!要继续修改其他项目吗?(YES/NO)"<<endl;   
     fseek(fp,0,0);
     cin>>choice2;
     if((strcmp(choice2,"YES")==0))
      goto changeinfo;
      break;
    case 6: 
     cout<<"修改前的内容"<<endl;
     cout<<flightf[i].price<<endl;
     cout<<"请输入修改后的内容"<<endl;
     cin>>flightf[i].price;
     fp=fopen("flight.txt","rt+");
     fseek(fp,(i-1)*sizeof(struct flight),0);
     if(fwrite(&flightf[i],sizeof(struct flight),1,fp)==1)
     cout<<"修改成功!要继续修改其他项目吗?(YES/NO)"<<endl;   
     fseek(fp,0,0);
     cin>>choice2;
     if((strcmp(choice2,"YES")==0))
      goto changeinfo;
      break;
      }
   }
 
}
void radixSort(RadixList *plist,int d,int r)
{
 int i,j,k;
 RadixNode *p,*head;
 head=(*plist)->next;
 for(j=d-1;j>=0;j--)             //进行d次分配和收集   
 {
  p=head;
  for(i=0;i<r;i++)
  {
   queue[i].f=NULL;       //清队列   
   queue[i].e=NULL;
  }
  while(p!=NULL)
  {
   k=p->key[j];            //按排序码的第j个分量进行分配
   if(queue[k].f==NULL)    // 若第k个堆为空,则当前记录为队头
    queue[k].f=p;
   else
    (queue[k].e)->next=p;   // 否则当前记录链接到第k队的队尾
   queue[k].e=p;
   p=p->next;
  }
  i=0;
  while(queue[i].f==NULL)         // 从r个队列中找出第一个非空的队列 
   i++;
  p=queue[i].e; head=queue[i].f;  //head为收集链表的头指针
  for(i++;i<r;i++)
   if(queue[i].f!=NULL)           // 收集非空队列 
   {
    p->next=queue[i].f;
    p=queue[i].e;
   }
   p->next=NULL;
 }
(*plist)->next=head;
}
void copy(flight flightf[],Node element[])
{
 FILE *fp;
 RadixList p=element;
 p=p->next;
 int i,j=0;
 fp=fopen("flight.txt","w+");
 for(i=0;i<N&&p!=NULL;i++)
 {
  strcpy(flightf[i].num,p->info.num);
        strcpy(flightf[i].startp,p->info.startp);
        strcpy(flightf[i].endp,p->info.endp);
  strcpy(flightf[i].stime,p->info.stime);
        strcpy(flightf[i].etime,p->info.etime);
        strcpy(flightf[i].day,p->info.day);
  strcpy(flightf[i].type,p->info.type);
        flightf[i].price=p->info.price; 
  if(fwrite(&flightf[i],sizeof(struct flight),1,fp)!=1)
  {
   printf("write wrong/n");
         exit(0);
     }
        p=p->next;
 }
 fclose(fp);
}
void Cout_info2_2(Node p[])//方式二
{
     coutinfo.num;
     coutinfo.stime;
     coutinfo.etime;
     coutinfo.startp;
     coutinfo.endp;
     coutinfo.day;
     coutinfo.type;
     coutinfo.price<<"元"<<endl;
}
void output_ALL_info2(Node element[]) //方式二
{
    RadixList p=element;
    p=p->next;
    while(p!=NULL)
 {
        Cout_info2_2(p);
        p=p->next;
 }
    cout<<endl;
}
 struct Node element[N+1]={
     " "," "," "," "," "," "," "," ",0,NULL,//表头*
  
};

void readd(){
 FILE *fp;
 int i=0,j=1;

 if((fp=fopen("flight.txt","r"))==NULL)
 {
  printf("can't open the file/n");
  exit(0);
 } 
 while(fread(&flightf[i],sizeof(struct flight),1,fp)==1)
  {
     strcpy(element[j].info.num,flightf[i].num);
        strcpy(element[j].info.startp,flightf[i].startp);
        strcpy(element[j].info.endp,flightf[i].endp);
  strcpy(element[j].info.stime,flightf[i].stime);
        strcpy(element[j].info.etime,flightf[i].etime);
        strcpy(element[j].info.day,flightf[i].day);
  strcpy(element[j].info.type,flightf[i].type);
     strcpy(element[j].key,flightf[i].num);
  element[j].info.price=flightf[i].price;
   element[j].next=NULL;
   j++;
   i++;
   
  }
  fclose(fp);
}
int _tmain(int argc, _TCHAR* argv[])
{
 int m,count;
 int i=0;
start:   
   cout<<"                 @---------------------------------@"<<endl;
   cout<<"                 |                                 |"<<endl;
   cout<<"                 |  **欢迎进入航班管理系统**       |"<<endl;
   cout<<"                 |                                 |"<<endl;
   cout<<"                 @---------------------------------@"<<endl<<endl;
   cout<<"1.客户"<<endl;
   cout<<"2.管理员"<<endl;
   cout<<"请选择你的身份!(1.客户or2.管理员)"<<endl;
   cin>>m;
operte:   switch(m)
   {
    int n,m;
    char num[10];
    char choice[5];
    char password[10];
   case 1:
     cout<<"请选择进行查询的方式"<<endl;
     cout<<"1.按路线"<<endl;
           cout<<"2.按航班号"<<endl;
           cout<<"3.按日期"<<endl;
     cin>>n;
     switch(n)
     {
      char start[20],end[20];
     case 1:
       cout<<"请输入起点站"<<endl;
       cin>>start;
       cout<<"请输入终点站"<<endl;
       cin>>end;
       search_path(start,end);
       cout<<"要继续进行查询吗(YES/NO)"<<endl;
       cin>>choice;
       if(strcmp(choice,"YES")==0)
        goto operte;
       else;
                   break;
     case 2:
      cout<<"please input the num"<<endl;
      cin>>num;
      search_num(num);
      cout<<"要继续进行查询吗(YES/NO)"<<endl;
       cin>>choice;
       if(strcmp(choice,"YES")==0)
        goto operte;
       else;
      break;
     case 3:
          cout<<"请输入起飞时间"<<endl;
       cin>>start;
       cout<<"请输入到达时间"<<endl;
       cin>>end;
       search_time(start,end);
       cout<<"要继续进行查询吗(YES/NO)"<<endl;
       cin>>choice;
       if(strcmp(choice,"YES")==0)
        goto operte;
       else;
       break;
       default:cout<<"按键错误!请重新按键!"<<endl;
     } 
     cout<<"要回到主界面吗?(YES/NO)"<<endl;
       cin>>choice;
       if(strcmp(choice,"YES")==0)
        goto start;
       else;

   case 2:
        cout<<"请输入密码"<<endl;
     cin>>password;
           if(strcmp(password,"sunshine")!=0)
      break;
     else
     {
        cout<<"请选择要做何操作"<<endl;
     cout<<"1.写入新的航班号"<<endl;
           cout<<"2.修改航班号"<<endl;
           cout<<"3.进行排序"<<endl;
     cin>>m;
     switch(m)
     { 
     case 1:
scan_info:    cout<<"please input the flight's information"<<endl;
      scanf("%s %s %s %s %s %s %s %d",&flightf[i].num,&flightf[i].day,&flightf[i].startp,&flightf[i].endp,&flightf[i].stime,&flightf[i].etime,&flightf[i].type,&flightf[i].price);
               save();
      cout<<"您还想继续添加新的信息吗?(YES/NO)"<<endl;
      cin>>choice;
      if(strcmp(choice,"YES")==0)
      goto scan_info;
            break;
     case 2:
      cout<<"please input the airplane's number"<<endl;
      cin>>num;
      change_num(num);
      break;
     case 3:
      readd();
      RadixList p=element;
               for(int i=0;i<8;i++)
               element[i].next=&element[i+1];
               element[10].next=NULL;
               radixSort(&p, D, R);
      output_ALL_info2(element); //输出排序后的有序序列(航班信息)
      copy(flightf,element); 
   
     }
        }
     cout<<"要回到主界面吗?(YES/NO)"<<endl;
       cin>>choice;
       if(strcmp(choice,"YES")==0)
        goto start;
       else;

   }



  getchar();
  system("pause"); 
  return 0;
}

求一份C语言的原代码(名称:小型商品管理系统)

2. 小型商品管理系统设计

天地和顺家添财 平安如意人多福 横批:四季平安

3. C语言做个小型商品销售管理系统

我这里有一个!
具体的,稍微改一下就可以了!

#include "stdio.h" /*I/O函数*/ 
#include "stdlib.h" /*其它说明*/ 
#include "string.h" /*字符串函数*/ 
#include "conio.h" /*屏幕操作函数*/ 
#include "mem.h" /*内存操作函数*/ 
#include "ctype.h" /*字符操作函数*/ 
#include "alloc.h" /*动态地址分配函数*/ 
struct score 
{ 
int mingci; 
char xuehao[8]; 
char mingzi[20]; 
float score[6]; 
}data,info[1000]; 
int i,j,k=0; 
char temp[20],ch; 
FILE *fp,*fp1; 

void shuru() 
{ 
if((fp=fopen("s_score.txt","ab+"))==NULL) 
{ 
printf("cannot open this file.\n"); 
getch();exit(0); 
} 
for(i=0;i<=1000;i++) 
{ 
printf("\nPlease shuru xuehao:"); 
gets(data.xuehao); 
printf("Please shuru mingzi:"); 
gets(data.mingzi); 
printf("Please shuru yuwen score:"); 
gets(temp);data.score[0]=atof(temp); 
printf("Please shuru shuxue score:"); 
gets(temp);data.score[1]=atof(temp); 
printf("Please input yingyu score:"); 
gets(temp);data.score[2]=atof(temp); 
printf("Please shuru wuli score:"); 
gets(temp);data.score[3]=atof(temp); 
printf("Please shur huaxue score:"); 
gets(temp);data.score[4]=atof(temp); 
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]; 
fwrite(&data,sizeof(data),1,fp); 
printf("another?y/n"); 
ch=getch(); 
if(ch=='n'||ch=='N') 
break; 
} fclose(fp); 
} 
void xianshi() 
{ 
float s;int n; 
if((fp=fopen("s_score.txt","rb+"))==NULL) 
{ 
printf("Cannot reading this file.\n"); 
exit(0); 
} 
for(i=0;i<=1000;i++) 
{ 
if((fread(&info[i],sizeof(info[i]),1,fp))!=1) 
break; 
} 
printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n"); 
for(j=0,k=1;j<i;j++,k++) 
{ 
info[j].mingci=k; 
printf("%6s %8s %3.1f %3.1f %3.1f %3.1f %3.1f %3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4], 
info[j].score[5]); 
} 
getch(); 
fclose(fp); 
} 

void xiugai() 
{ 
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL) 
{ 
printf("Cannot open this file.\n"); 
exit(0); 
} 
printf("\nPLease shuru xiugai xuehao:"); 
scanf("%d",&i); getchar(); 
while((fread(&data,sizeof(data),1,fp))==1) 
{ 
j=atoi(data.xuehao); 
if(j==i) 
{ 
printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi); 
printf("Please shuru mingzi:"); 
gets(data.mingzi); 
printf("Please shuru yuwen score:"); 
gets(temp);data.score[0]=atof(temp); 
printf("Please shuru shuxue score:"); 
gets(temp);data.score[1]=atof(temp); 
printf("Please input yingyu score:"); 
gets(temp);data.score[2]=atof(temp); 
printf("Please input wuli score:"); 
gets(temp);data.score[3]=atof(temp); 
printf("Please input huaxue score:"); 
gets(temp);data.score[4]=atof(temp); 
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]; 

} fwrite(&data,sizeof(data),1,fp1); 
} 
fseek(fp,0L,0); 
fseek(fp1,0L,0); 
while((fread(&data,sizeof(data),1,fp1))==1) 
{ 
fwrite(&data,sizeof(data),1,fp); 
} 

fclose(fp); 
fclose(fp1); 
} 
void chazhao() 
{ 
if((fp=fopen("s_score.txt","rb"))==NULL) 
{ 
printf("\nCannot open this file.\n"); 
exit(0); 
} 
printf("\nPLease shuru xuehao chakan:"); 
scanf("%d",&i); 
while(fread(&data,sizeof(data),1,fp)==1) 
{ 
j=atoi(data.xuehao); 
if(i==j) 
{ 
printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]); 
}getch(); 
} 
} 
void shanchu() 
{ 
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL) 
{ 
printf("\nopen score.txt was failed!"); 
getch(); 
exit(0); 
} 
printf("\nPlease input ID which you want to del:"); 
scanf("%d",&i);getchar(); 
while((fread(&data,sizeof(data),1,fp))==1) 
{ 
j=atoi(data.xuehao); 
if(j==i) 
{ 

printf("Anykey will delet it.\n"); 
getch(); 
continue; 
} 
fwrite(&data,sizeof(data),1,fp1); 
} 
fclose(fp); 
fclose(fp1); 
remove("s_score.txt"); 
rename("temp.txt","s_score.txt"); 
printf("Data delet was succesful!\n"); 
printf("Anykey will return to main."); 
getch(); 
} 
main() 
{ 
while(1) 
{ 
clrscr(); /*清屏幕*/ 
gotoxy(1,1); /*移动光标*/ 
textcolor(YELLOW); /*设置文本显示颜色为黄色*/ 
textbackground(BLUE); /*设置背景颜色为蓝色*/ 
window(1,1,99,99); /* 制作显示菜单的窗口,大小根据菜单条数设计*/ 
clrscr(); 
printf("*************welcome to use student manage******************\n"); 
printf("*************************menu********************************\n"); 
printf("* ========================================================= * \n"); 
printf("* 1>shuru 2>xiugai * \n"); 
printf("* 3>shanchu 4>chazhao * \n"); 
printf("* 5>xianshi 6>exit * \n"); 
printf("* * \n"); 
printf("* --------------------------------------------------------- * \n"); 
printf(" Please input which you want(1-6):"); 
ch=getch(); 
switch(ch) 
{ 
case '1':shuru();break; 
case '2':xiugai(); break; 
case '3':shanchu(); break; 
case '4':chazhao(); break; 
case '5':xianshi(); break; 
case '6':exit(0); 
default: continue; 
} 
} 
}

C语言做个小型商品销售管理系统

4. 为一个有n种商品的小超市设计管理系统,该系统实现对商品的录入、显示、修改、删除等操作的管理。

    JspShop网络购物系统 运行环境:JSP+ACCESS
    源码简介 
一,网站前台功能:
    产品二级分类展示:一级分类--二级分类--产品列表--详细介绍(名称,图片,市场价,会员价,是否推荐,功能介绍等)
    产品搜索:关键字模糊搜索
定购产品:选择商品--确认定购--填写收货人信息--选择付款方式--订单号自动生成(限登录用户)
    用户管理:修改资料 订单查看 查看购物车(限登录用户)
    网站新闻:按时间先后顺序排列
    网站公告:首页左侧显示
    友情链接:文字链接列表显示
二,网站后台功能:
    商品管理:添加 删除 修改 图片上传
    订单管理:查看,删除,确认订单 查看,删除已确认订单 查看,删除订单投诉
    用户管理:查看修改用户资料,删除用户,设置用户等级(普通,VIP) 管理员添加删除
    分类管理:添加,修改,删除一级分类,二级分类
    信息管理:添加,修改,删除网站新闻 添加,删除网站公告
    常规设置:网站信息设置 网站广告设置 友情链接管理
    后台管理地址admin/
    管理员admin 密码admin

    下载地址http://xianexs.mail.qq.com/cgi-bin/downloadfilepart/svrid209/JSPSHOP.rar?svrid=209&fid=ebe924efcef0bc76c3a8a87e5360efeaa3b959afeaf3410f&&txf_fid=5d0ed4e0be1279055540cc090c32642a2e728091&&txf_sid=7581b2c5308fb738f891cb67f90e31f999969246
    提取码057390d2

5. C语言设计商品管理系统,可以实现商品的录入,查询,求源代码

#include 
#include 
#include 
#define SIZE 300

typedef struct 
{ 
char name[30];
int num;
char shang[10];
float price;
}record;

void DataInput(record *com, int *nptr); 
int DataRead(record *com,int *nptr) ; 
void DataStorage(record *com, int n); /*信息保存到文件*/
void DataFind( ); 
void DataDisPlay( ); 
void DataAdd( ); 
void DataDel( ); 
void DataStatistic( );

int main( )
{
record shangpin[SIZE];
int number=20; /*设商品数*/
char fn; 
printf("\t~~~~~~商品管理系统~~~~~~");
while(1)
{
printf("\n\t\t1.商品信息录入\n"); /*显示主菜单*/ 
printf("\t\t2.商品信息显示\n");
printf("\t\t3.商品信息查找\n");
printf("\t\t4.商品信息添加\n");
printf("\t\t5.商品信息删除\n");
printf("\t\t6.商品信息统计\n");
printf("\t\t0.退出系统");

printf("\n\t~~~~~~~~~~~~~~~~\n");

printf("\t请输入你的一个选项(数字0-6): ");
fflush(stdin);
scanf("%c",&fn);
puts("\n");

switch(fn) /*切换到不同功能*/
{ 
case '1':
DataInput(shangpin, &number );
break; /*录入信息*/
case '2':DataDisPlay();
break; /*信息显示*/
case '3':
DataFind();
break; /*信息查找*/
case '4':
DataAdd( );
break; /*增加*/
case '5':
DataDel( );
break; /*删除*/
case '6':
DataStatistic();
break; /*信息统计*/
case '0':
return 0;

default:puts("\t\t没有这个项!返回主菜单!");
break;
} 

printf("\n\t\t完毕!按任意键继续");
getch( );

puts("\n");
} 
} 

void DataInput(record *com, int *nptr) /*商品信息录入*/
{
int i = 0; 
int n ; /*录入的总数*/
char YesOrNo; /*判断是否保存*/
char shangming[30]; /*商名*/
int haoma; /*商品号*/
char shangjia[10]; /*单价*/
float danjia; 
printf("\t\t请输入商品个数:");
scanf("%d",&n);
*nptr = n; /*nptr返回商品个数*/ 
printf("\t\t现在开始录入这%d个商品信息:\n\n",n);
while(i<n)
{
printf("请输入商品的商品名:",i+1);
scanf("%s",&shangming);
printf("请输入商品的商品号:",i+1);
scanf("%d",&haoma);
printf("请输入商品的生产商:",i+1);
scanf("%s",&shangjia);
printf("请输入商品的单价 :",i+1);
scanf("%f",&danjia);
if(danjia>=0&&danjia<=1000) /*有效的单价才录入*/
{
strcpy(com[i].name,shangming);
com[i].num = haoma;
strcpy(com[i].shang,shangjia);
com[i].price = danjia;
i =i+1;
} 
else 
printf("输入的单价是一个无效的值!!!\n\n");
} /*结束while*/

printf("要保存您刚才录入的数据吗(Y/N)?"); /*选择保存*/
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'||YesOrNo=='Y')
DataStorage(com,n);
else if(YesOrNo=='n'||YesOrNo=='N')
return;
else 
printf("输入了不正确的选项\n");
return;

} /*结束函数*/

void DataFind( ) /*查找*/
{

void OnNumber(record *com,int n ); /*按商品号排序*/
int key; /*key为要查找的关键值*/
int low = 0; /*下限*/
int high ; /*上限*/
int mid ; /*中间值*/
char ans; /*选项*/
record com[SIZE];
int n;

if(DataRead(com,&n)==1) /*从文件中读取信息*/
{
OnNumber(com,n); /*先按商品号排序*/
high = n;
do
{ 
printf("\n\n\t\t请输入你要查找的商品号:");
scanf("%d",&key);

low = 0;high = n; 
while (low <=high) 
{ 
mid = (high + low)/2; /*折半查找法*/

if (key == com[mid].num ) 
{
printf("\n\t\t你要找的是第%d个商品\n",mid + 1);
printf("\t\t结果如下:\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n"); 
printf("%3d%17s%12d%12s%8.1f\n",mid+1,com[mid].name,com[mid].num,com[mid].shang,
com[mid].price);

break; /*如果找到则退出循环*/
} 

if (key > com[mid].num ) low = mid + 1; 
else high = mid - 1; 
} 

if (low > high)
printf("\t\t,没有找到这个价格!\n");
printf("\n\t\t还要继续查询吗(Y/N)?");
ans = getch( );
} 
while (ans =='Y'||ans == 'y'); /*结束do....while*/
}
} 

void DataStorage(record *com, int n) /*录入保存文件*/
{
int i;
FILE *comPtr;
char FileName[20];
printf("请输入您要保存的文件名:");
scanf("%s",FileName);
printf("正在将商品信息保存到文件,请稍候……\n");
if((comPtr=fopen(FileName,"w"))==NULL)
printf("没有该文件\n");
else
for(i=0 ; i<n ; i++)
fprintf(comPtr,"\n%17s%12d%12s%8.1f",com[i].name,com[i].num,com[i].shang,com[i].price);
fclose(comPtr);
} 

int DataRead(record *com,int *nptr) /*读取文件*/
{
int i=0;
char datafile[20];
FILE *comPtr;

*nptr = 0; 
printf("请输入文件名:");
scanf("%s",datafile);
if((comPtr = fopen(datafile,"r")) == NULL) /*打开文件*/
{
printf("没有该文件,请重新输入!\n");
return 0;
} 
else
{
printf("正在读取商品单价,请稍候……\n");
while (!feof(comPtr))
{
fscanf(comPtr,"%s%d%s%f",&com[i].name,&com[i].num,&com[i].shang,&com[i].price);
i++;
}
*nptr = i;
printf("\n");

fclose(comPtr);

return 1;
}

} 

void DataDisPlay()
{
void OnPrice(record *com,int n ); /*按单价*/
void OnNumber(record *com,int n ); /*按商品号*/
int N;
int i;
record com[300];
char YesNo; /*是否按顺序显示*/
char tp; 

if(DataRead(com,&N)==1) /*从文件读取数据*/
{

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");
for(i=0;i<N;i++)
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,com[i].price);

printf("要按顺序显示吗?(Y/N)?");
fflush(stdin);
scanf("%c",&YesNo);
if(YesNo=='y'||YesNo=='Y')
{ 
printf("\t请输入排序方式:\n");
printf("\t(1.按价格排序从低到高;2.按商品号排序从低到高.)");
fflush(stdin);
scanf("%c",&tp);
if(tp=='1') 
OnPrice(com,N);
else if(tp =='2') 
OnNumber(com,N);
else 
printf("\t输入了不正确项!\n"); 
}
}
} /*结束显示成绩*/

void OnPrice(record *com,int n ) /*按单价顺序*/
{ int i,j;
record temp;
printf("\t\t按单价排序---\n\n");

printf("商品总数为%d:\n",n);

for(j=0 ; j<n-1 ; j++) /*冒泡排序*/
for(i=0 ; i<n-j-1 ; i++) 
if(com[i].price>com[i+1].price)
{
temp=com[i]; 
com[i]=com[i+1]; 
com[i+1]=temp; 
}

printf("\n\t\t按成绩排序的结果如下(按分数从低到高):\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n"); 
for(i=0 ; i<n ; i++) 
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);

} 

void OnNumber(record *com,int n ) /*按序号顺序*/
{
int i,j;
record temp;

printf("\t\t按商品号排序---\n\n"); 

printf("商品总数为%d:\n",n);

for(j=0 ; j<n-1 ; j++) 
for(i=0 ; i<n-j-1 ; i++) 
if(com[i].num>com[i+1].num)
{
temp=com[i]; 
com[i]=com[i+1]; 
com[i+1]=temp; 
}

printf("\n\t按商品号排序的结果如下(按商品号从小到大):\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n"); 
for(i=0 ; i<n ; i++) 
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);

} 

void DataAdd( ) /*增加*/
{ 
int i=0,n,m; /*商品名称*/
char shangming[30]; 
int haoma; /*生产商*/
char shangjia[10]; 
float danjia; 
char YesOrNo;
record com[SIZE];

printf("\t\t读取原有数据信息---\n");
if(DataRead(com,&n)==1) 
{
printf("\t\t信息读取完毕!\n\n");

printf("\t\t请输入要添加的商品总数:");
scanf("%d",&m);

printf("\t\t现在开始录入这%d个商品信息:\n\n",m);

while(i<m)
{

printf("第%d个商品的商品名:",i+1);
scanf("%s",&shangming);
printf("第%d个商品的商品号:",i+1);
scanf("%d",&haoma);
printf("第%d个商品的生产商:",i+1);
scanf("%s",&shangjia);
printf("第%d个商品的单价:",i+1);
scanf("%f",&danjia);
if(danjia>=0&&danjia<=1000) /*有效的单价才录入*/
{
strcpy(com[i+n].name,shangming);
com[i+n].num = haoma;
strcpy(com[i+n].shang,shangjia);
com[i+n].price = danjia;
i =i+1;
} 
else 
printf("输入的单价是一个无效的值,请重新输入!\n\n");

} 

printf("要保存您刚才录入的数据吗(Y/N)?");
fflush(stdin);
scanf("%c",&YesOrNo);
if(YesOrNo=='y'||YesOrNo=='Y')
DataStorage(com,n+m);
else if(YesOrNo=='n'||YesOrNo=='N')
return;
else 
printf("输入了不正确项,返回上一级\n");
return;
}
}

void DataDel( )//删除
{ 
void OnNumber(record *com,int n );
record com[SIZE];
int i; /*总记录数*/
int n; /*要删除的记录号*/
int m; 

printf("\t\t读取原有数据信息---\n");
if(DataRead(com,&n)==1) 
{
printf("\t\t原始数据如下:\n\n");
OnNumber(com,n );

printf("请输入你要删除的记录的序号");
scanf("%d",&m);
if(m>=1 && m<=n)
{
for(i=m-1;i<n-1;i++)
com [i] = com[i+1];
DataStorage(com,n-1);
}
} 
}

void DataStatistic( ) /*统计信息*/
{
int high=0,low=200,ave=0;
int n,i,sum=0;
int g,l;
record com[SIZE];
printf("读取数据信息---\n");
if(DataRead(com,&n)==1)
{
printf("商品总数为%d\n\n",n);
for(i=0;i<n;i++)
{
if(com[i].price>high)
{
high = com[i].price;
g=i;
}
if(com[i].price<low)
{
low = com[i].price; 
l=i;
}
sum += com[i].price;
}
ave=sum/n;
printf("\t\t最高\t最低\t平均\n"); /*计算值*/
printf("商品单价统计:\t%d\t%d\t%d\n\n",high,low,ave);
printf("序号\t\t商品名\t 商品号\t生产商\t单价\n"); 
for(i=0 ; i<n ; i++) 
printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,
com[i].price);

printf("\t\t 序号\t\t 商品名\t 商品号\t 生产商 单价\n"); 

printf("单价最高的商品是:%3d%17s%12d%12s%8.1f\n\n",g+1,com[g].name,com[g].num,com[g].shang,com[g].price);
printf("单价最低的商品是:%3d%17s%12d%12s%8.1f\n",l+1,com[l].name,com[l].num,com[l].shang,com[l].price);

} /*结束统计*/
}

C语言设计商品管理系统,可以实现商品的录入,查询,求源代码

6. 高分!帮忙做一个小型自选商场综合管理系统分析、设计及编程实现的子系统(供应商管理子系统)

说实话,您要的这个程序并不是一句话或者一天就能搞定的
因为这个要花费很多时间来编写的
我相信就算您把分加到500分也没有人能为您写出来
这个东西要做出来您真的是需要花费人民币的
我有做个您这样的程序
如果有需要帮忙可以找我
联系方式在我的个人简介里面可以看到

7. 用 C++设计一个简单的商品管理系统

11年的题么。。。我19年了还要做。。。vc结课作业。。

用 C++设计一个简单的商品管理系统

8. 设计一个商品管理系统。系统具有查询,输入,保存,排序等功能。系统有一个菜单界面,可供功能选择。

商品管理系统设计 我还可以给!
最新文章
热门文章
推荐阅读