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;
}
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;
}
}
}
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);
} /*结束统计*/
}
6. 高分!帮忙做一个小型自选商场综合管理系统分析、设计及编程实现的子系统(供应商管理子系统)
说实话,您要的这个程序并不是一句话或者一天就能搞定的
因为这个要花费很多时间来编写的
我相信就算您把分加到500分也没有人能为您写出来
这个东西要做出来您真的是需要花费人民币的
我有做个您这样的程序
如果有需要帮忙可以找我
联系方式在我的个人简介里面可以看到
7. 用 C++设计一个简单的商品管理系统
11年的题么。。。我19年了还要做。。。vc结课作业。。
8. 设计一个商品管理系统。系统具有查询,输入,保存,排序等功能。系统有一个菜单界面,可供功能选择。
商品管理系统设计 我还可以给!