|

登陆享受更多浏览权限哟~
您需要 登录 才可以下载或查看,没有帐号?入驻经典 
x
#include<stdio.h><br/>#include<string.h><br/>#include<stdlib.h><br/>typedef struct<br/>{<br/> int id; //项目编号<br/> char name[20]; //名称<br/> int aim; //目标销售额<br/> int atboy; //年初至今销售额<br/>}item;<br/>typedef struct<br/>{<br/> int id; //项目编号<br/> int sellnum; //已销售数量 <br/>}sales;<br/>#define size1 sizeof(item)<br/>#define size2 sizeof(sales)<br/>void add();<br/>void note();<br/>void display1();<br/>void del();<br/>void display2();<br/>void main()<br/>{<br/> int i;<br/> do<br/> {<br/> system("cls");<br/> printf("╔═════════╦═╦╦═╦╦═╦╦═╦╦═╦╦═╦═════════╗\n");<br/> printf("╠═════════╣销╠╣售╠╣监╠╣控╠╣系╠╣统╠═════════╣\n");<br/> printf("╚═════════╩═╩╩═╩╩═╩╩═╩╩═╩╩═╩═════════╝\n");<br/> printf("\t\t①.添加新项目的详细信息\n\n");<br/> printf("\t\t②.记录销售详细信息\n\n");<br/> printf("\t\t③.删除现有项目的详细信息\n\n");<br/> printf("\t\t④.显示根据项目号查出销售详细信息\n\n");<br/> printf("\t\t⑤.显示已达到销售的项目的报告\n\n");<br/> printf("\t\t⑥.退出\n");<br/> printf("\n请选择1 ~ 6: ");<br/> scanf("%d",&i);<br/> if(i==1)<br/> add();<br/> else if(i==2)<br/> note();<br/> else if(i==3)<br/> del();<br/> else if(i==4)<br/> display1();<br/> else if(i==5)<br/> display2();<br/> }while(i!=6);<br/>}<br/>void add()//添加新项目的详细信息。<br/>{<br/> FILE *fp1,*fp3;<br/> item item1; <br/> char flag;<br/> int n=1,un=0;<br/> if((fp1=fopen("item.dat","a+b"))==NULL){printf("item.dat文件创建错误!\n");return;}<br/> system("cls");<br/> printf("\n■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> printf("■ 添加新项目的详细信息 ■\n");<br/> printf("■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> do<br/> { <br/> if((fp3=fopen("num.txt","r"))==NULL)<br/> {<br/> item1.id=n;<br/> }<br/> if((fp3=fopen("num.txt","r"))!=NULL)<br/> { <br/> fscanf(fp3,"%d",&un);<br/> item1.id=un+n; <br/> fclose(fp3);<br/> }<br/> printf("\t\n请输入你要添加项目的详细信息(当前项目号:%d)!\n",item1.id);<br/> printf("\n名称:");<br/> scanf("%s",item1.name);<br/> printf("\n目标销售额:");<br/> scanf("%d",&item1.aim);<br/> item1.atboy=0;<br/> if(strlen(item1.name)>0)//判断用户输入的名字是否不为空。<br/> {<br/> fwrite(&item1,size1,1,fp1);<br/> printf("\n是否继续输入<Y/N>\n");<br/> if((fp3=fopen("num.txt","w"))==NULL)<br/> {<br/> printf("文件打开错误!");<br/> return;<br/> }<br/> fprintf(fp3,"%d",item1.id);//把ID的最大值赋与文件num.txt里。<br/> fclose(fp3);<br/> }<br/> else<br/> {<br/> printf("输入的名字不能为空!是否从新输入<Y/N>\n"); <br/> }<br/> flag=getch();<br/> }while(flag=='y'||flag=='Y');<br/> fclose(fp1); <br/>}<br/>void note()//记录销售详细信息<br/>{<br/> int nu,i;<br/> item item1,*p1;<br/> sales *p2;<br/> FILE *fp1,*fp2,*fp3;<br/> if((fp1=fopen("item.dat","rb"))==NULL){printf("\n没有找到项目,请选择1添加项目信息!\n");getch();return;} <br/> if((fp3=fopen("num.txt","r"))==NULL){printf("num.txt文件打开错误");return;}<br/> fscanf(fp3,"%d",&nu);<br/> if(nu==0){printf("\n无项目信息请输入!");getch();return;}<br/> p1=(item*)malloc(size1*nu);<br/> p2=(sales*)malloc(size1*nu);<br/> for(i=0;i<nu;i++)<br/> {<br/> fread(&item1,size1,1,fp1);<br/> p1=item1;<br/> }<br/> fcloseall();<br/> system("cls");<br/> printf("\n■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> printf("■ 记录销售详细信息 ■\n");<br/> printf("■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> for(i=0;i<nu;i++)<br/> {<br/> if(p1.atboy==0)<br/> {<br/> printf("\n==============================================\n");<br/> printf("项目名称:%s 项目编号:%d \n",p1.name,p1.id);<br/> printf("\n请输入已销售数量(数字):");<br/> scanf("%d",&p2.sellnum);<br/> p2.id=p1.id;<br/> p1.atboy=p2.sellnum;<br/> printf("销售数量添加修改完成!"); <br/> }<br/> else<br/> {<br/> p2.id=p1.id;<br/> }<br/> } <br/> if((fp1=fopen("item.dat","w"))==NULL)<br/> {printf("文件打开错误!");return;}<br/> if((fp2=fopen("sales.dat","w"))==NULL)<br/> {printf("文件打开错误!");return;}<br/> fwrite(p2,size2,nu,fp2);<br/> fwrite(p1,size1,nu,fp1);<br/> fcloseall();<br/>}<br/>void del()<br/>{<br/> FILE *fp1,*fp2,*fp3;<br/> int i,n,mun,a=0,b=0;<br/> item *p1,item1;<br/> sales *p2,item2;<br/> system("cls");<br/> printf("\n■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> printf("■ 删除现有项目的详细信息 ■\n");<br/> printf("■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> printf("\n请输入要删除项目的编号:");<br/> scanf("%d",&mun);<br/> if((fp1=fopen("item.dat","rb"))==NULL || (fp2=fopen("sales.dat","rb"))==NULL)<br/> {printf("无项目信息!请输入!");return;}<br/> if((fp3=fopen("num.txt","r"))==NULL)<br/> {printf("无项目信息!请输入!");return;}<br/> fscanf(fp3,"%d",&n);<br/> if(n==0){printf("\n无项目信息请输入!");getch();return;}<br/> p1=(item*)malloc(size1*n);<br/> p2=(sales*)malloc(size2*n);<br/> for(i=0;i<n;i++)<br/> {<br/> fread(&item1,size1,1,fp1);<br/> if(item1.id!=mun)<br/> {<br/> p1[a]=item1;<br/> a++;<br/> }<br/> fread(&item2,size2,1,fp2);<br/> if(item2.id!=mun)<br/> {<br/> p2=item2;<br/> b++;<br/> }<br/> }<br/> printf("\n\n删除成功!\n");<br/> fcloseall();<br/> if((fp1=fopen("item.dat","w"))==NULL || (fp2=fopen("sales.dat","w"))==NULL)<br/> {<br/> printf("文件打开错误");<br/> return;<br/> }<br/> for(i=0;i<a;i++)<br/> {<br/> p1.id=i+1;<br/> p2.id=i+1;<br/> }<br/> fwrite(p2,size2,a,fp2);<br/> fwrite(p1,size1,a,fp1);<br/> if((fp3=fopen("num.txt","w"))==NULL)<br/> {<br/> printf("文件打开错误!");<br/> return;<br/> }<br/> fprintf(fp3,"%d",a);<br/> fcloseall();<br/> printf("\n==============================================\n");<br/> printf("\n按任意键返回主菜单!");<br/> getch();<br/>}<br/>void display1()//显示根据项目号查出销售详细信息<br/>{<br/> int a,s;<br/> sales item2;<br/> FILE *fp2;<br/> char flag;<br/> if((fp2=fopen("sales.dat","rb"))==NULL)<br/> {<br/> printf("\n没有找到项目销售信息,请选择2添加信息!");<br/> getch();<br/> return;<br/> }<br/> do<br/> {<br/> system("cls");<br/> printf("\n■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> printf("■ 显示根据项目号查出销售详细信息 ■\n");<br/> printf("■〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓■\n");<br/> printf("\n\n请输入要查询的项目编号:");<br/> scanf("%d",&a);<br/> rewind(fp2);<br/> while(!feof(fp2))<br/> {<br/> fread(&item2,size2,1,fp2);<br/> if(item2.id==a)<br/> {<br/> printf("\n\n==============================================\n");<br/> printf("\n项目编号:%d 已销售数量:%d \n",item2.id,item2.sellnum);<br/> s=1;<br/> break;<br/> }<br/> else<br/> s=0;<br/> }<br/> if(s==0)<br/> {printf("\n无法找到这个项目");}<br/> printf("\n\n==============================================");<br/> printf("\n是否继续查询<Y/N>");<br/> scanf(" %c",&flag);<br/> }while(flag=='Y'||flag=='y');<br/> fclose(fp2);<br/>}<br/>void display2()<br/>{<br/> item item1;<br/> FILE *fp1,*fp3;<br/> int n,i;<br/> if((fp1=fopen("item.dat","rb"))==NULL)<br/> {<br/> printf("出错");<br/> exit(1);<br/> }<br/> if((fp3=fopen("num.txt","r"))==NULL)<br/> {<br/> printf("出错");<br/> exit(1);<br/> }<br/> fscanf(fp3,"%d",&n);<br/> printf("项目编号\t项目名称\t目标销售额\t年初至今销售额");<br/> for(i=0;i<n;i++)<br/> {<br/> fread(&item1,size1,1,fp1);<br/> if(item1.aim<=item1.atboy)<br/> {<br/> printf("\n %d\t\t %s\t\t %d\t\t %d\n",item1.id,item1.name,item1.aim,item1.atboy);<br/> }<br/> }<br/> printf("按任意键返回主菜单!");<br/> getch();<br/> fclose(fp1);<br/>}<br/> |
|