不能输入负数和字符不会搞一块,讲究的看吧。
//仓库管理系统 #include <stdio.h> #include <string.h> #include <stdlib.h> #include<conio.h> struct information? { ?? ?char number[20]; ?//货物编号 ?? ?char name[20];//货物名字 ?? ?float money;//货物价钱 ?? ?int quantity;//货物数量 ?? ?struct information *next; }; void Start()? { ? //开始菜单 ?? ?printf("\t\t * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); ?? ?printf("\t\t * ? ? ? ?1.增加货物信息 ? ? 2.按价格显示货物信息 ? ?*\n"); ?? ?printf("\t\t * ? ? ? ?3.查询货物信息 ? ? 4.修改货物信息 ? ? ? ? ?*\n"); ?? ?printf("\t\t * ? ? ? ?5.删除货物信息 ? ? 6.保存货物信息 ? ? ? ? ?*\n"); ?? ?printf("\t\t * ? ? ? ?7.查看保存信息 ? ? 8.导入货物信息 ? ? ? ? ?*\n"); ?? ?printf("\t\t * ? ? ? ? ? ? ? ? ? ?0.退出程序 ? ? ? ? ? ? ? ? ? ? *\n"); ?? ?printf("\t\t * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); } void join(struct information *head) { ?? ?struct information ?*p1; ?? ?FILE*in; ?? ?in=fopen("F:\\c语言\\仓库管理系统1\\仓库信息.txt","r"); ?? ?if(in==NULL) ?? ??? ? ? ?{ ?? ??? ? ? ??? ?printf("打开失败"); ?? ??? ? ? ??? ?exit(1);//异常退出? ?? ??? ??? ?}? ?? ?while(!feof(in)) ?? ?{ ? ? ? ?p1=(struct information*)malloc(sizeof(struct information)); ? ? ? ?fscanf(in,"%s",&p1->number); ? ? ? ?fscanf(in,"%s",&p1->name); ? ? ? ?fscanf(in,"%f",&p1->money); ? ? ? ?fscanf(in,"%d",&p1->quantity); ? ? ? ?p1->next=head->next; ? ? ? ?head->next=p1;
?? ?} ? ? fclose(in); ? ? printf("导入成功!\n"); }? void input(struct information *head)? { ?? ?//程序1.增加货物信息 ?? ?int i; ?? ?float v; ?? ?int y;? ?? ?do ?? ?{?? ? ?? ??? ?struct information *o=head->next; ?? ??? ?struct information *p; ?? ??? ?p=(struct information *)malloc(sizeof(struct information)); ?? ??? ? ?? ??? ?char number[20]; ?? ??? ?char name[20]; ?? ??? ?float money; ?? ??? ?int quantity; ?? ??? ?printf("请输入货物编号:"); ?? ??? ?scanf("%s",number); ?? ??? ?while(o) ?? ??? ?{ ?? ??? ??? ?if(o==NULL) ?? ??? ??? ?{ ?? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ??? ?if(strcmp(o->number,number)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("编号重复请重新输入编号:"); ?? ??? ??? ??? ?scanf("%s",number); ?? ??? ??? ??? ?o=head->next; ?? ??? ??? ?} ?? ??? ??? ?if(strcmp(o->number,number)!=0)? ?? ??? ??? ?{ ?? ??? ??? ??? ?o=o->next; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?while(1) ?? ??? ?{ ?? ??? ??? ?int i = 0; ?? ??? ??? ?char a[20]; ?? ??? ??? ?char b[20]; ?? ??? ??? ?char c[20]; ?? ??? ??? ?char d[20];? ?? ??? ??? ?FILE *fp=fopen("F:\\c语言\\仓库管理系统1\\仓库信息.txt","r"); ?? ??? ??? ?if(fp==NULL) ?? ??? ? ? ?{ ?? ??? ? ? ??? ?printf("打开失败"); ?? ??? ? ? ??? ?exit(1);//异常退出? ?? ??? ??? ?}? ?? ??? ??? ?while(fscanf(fp,"%s",a)!=EOF) ?? ??? ??? ?{ ?? ??? ??? ??? ?fscanf(fp,"%s",b); ?? ??? ??? ??? ?fscanf(fp,"%s",c); ?? ??? ??? ??? ?fscanf(fp,"%s",d); ?? ??? ??? ??? ?if(strcmp(a,number)==0) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?printf("编号重复请重新输入编号:"); ?? ??? ??? ??? ??? ?scanf("%s",number);? ?? ??? ??? ??? ??? ?i = 1; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?if(i==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?fclose(fp); ?? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ?}? ?? ??? ?printf("请输入货物名称:"); ?? ??? ?scanf("%s",name); ?? ??? ?printf("请输入货物价钱:"); ?? ??? ?money=scanf("%f", &v); ?? ??? ?while(v<0&&money!=1) ?? ??? ?{ ?? ??? ??? ?while((getchar())!='\n' ); ?? ??? ??? ?printf("警告只能输入数字!货物价钱:"); ?? ??? ??? ?money=scanf("%f", &v); ?? ??? ?} ?? ??? ?money=v; ?? ??? ?printf("请输入货物数量:"); ?? ??? ?quantity=scanf("%d",&y); ?? ??? ?while(quantity!=1) ?? ??? ?{ ?? ??? ??? ?while((getchar())!='\n' ); ?? ??? ??? ?printf("警告只能输入数字!货物数量:"); ?? ??? ??? ?quantity=scanf("%d", &y); ?? ??? ??? ?if(quantity<0) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("警告,输入数量不能为负\n"); ?? ??? ??? ??? ?printf("请重新输入:"); ?? ??? ??? ??? ?quantity=scanf("%d",&y); ?? ??? ??? ?}?? ? ?? ??? ?} ?? ??? ? ?? ??? ?quantity=y;?? ??? ? ?? ??? ?strcpy(p->number,number); ?? ??? ?strcpy(p->name,name); ?? ??? ?p->money=money; ?? ??? ?p->quantity= quantity; ?? ??? ?p->next=head->next; ?? ??? ?head->next=p; ?? ??? ?printf("添加成功\n"); ?? ??? ?printf("是否继续添加\n"); ?? ??? ?printf("是请输入'1',否请输入'0'\n"); ?? ??? ?printf("请输入数字:"); ?? ??? ?scanf("%d",&i); ?? ??? ?while(i>1||i<0) ?? ??? ?{ ?? ??? ??? ?printf("无效数字,请重新输入:"); ?? ??? ??? ?scanf("%d",&i); ?? ??? ?} ?? ??? ?if(i==0) ?? ??? ?{ ?? ??? ??? ?printf("正在退出添加程序\n"); ?? ??? ??? ?printf("退出成功\n");? ?? ??? ?} ?? ?}while(i); } void show(struct information *head)? { ?? ?//2.显示仓库货物信息 ?? ?struct information *p=head->next; ?? ? ?? ?printf("开始显示货物信息\n"); ?? ?float a[1000]; ?? ?int i,j; ?? ?int n,m; ?? ?for(i=0;i<1000;i++) ?? ?{ ?? ??? ?if(p==NULL) ?? ??? ?{ ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?a[i]=p->money; ?? ??? ?n++; ?? ??? ?p=p->next; ?? ?} ?? ?for(i=0;i<n-1;i++) ?? ?{ ?? ??? ?for(j=0;j<n-i-1;j++) ?? ??? ?{ ?? ??? ??? ?if(a[j]>a[j+1]) ?? ??? ??? ?{ ?? ??? ??? ??? ?m=a[j]; ?? ??? ??? ??? ?a[j]=a[j+1]; ?? ??? ??? ??? ?a[j+1]=m; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?for(i=0;i<n;i++) ?? ?{ ?? ??? ?p=head->next; ?? ??? ?while(p)? ?? ??? ?{ ?? ??? ??? ?if(a[i]==p->money) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("编号:%s\n",p->number); ?? ??? ??? ??? ?printf("名字:%s\n",p->name); ?? ??? ??? ??? ?printf("价钱:%.2f\n",p->money); ?? ??? ??? ??? ?printf("数量:%d\n",p->quantity); ?? ??? ??? ??? ?printf("\n"); ?? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ??? ?else? ?? ??? ??? ?{ ?? ??? ??? ??? ?if(p==NULL) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?break;? ?? ??? ??? ??? ?} ?? ??? ??? ??? ?p=p->next; ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ? ?? ??? ?} ?? ?} ?? ? ?? ?? //?? ?while(i)? //?? ?{ //?? ??? ?if(i==NULL)? //?? ??? ?{ //?? ??? ??? ?break; //?? ??? ?} //?? ??? ?printf("编号:%s\n",i->number); //?? ??? ?printf("名字:%s\n",i->name); //?? ??? ?printf("价钱:%d\n",i->money); //?? ??? ?printf("数量:%d\n",i->quantity); //?? ??? ?printf("\n"); //?? ??? ?i=i->next; //?? ?} } void query(struct information *head)? { //3.查询仓库货物信息 ?? ?printf("开始查询货物信息\n") ; ?? ?struct information*s=head->next; ?? ?s=head->next; ?? ?char id[20]; ?? ?printf("请输入要查询货物的编号"); ?? ?scanf("%s",id); ?? ?while(s)? ?? ?{ ?? ??? ?if(strcmp(s->number,id)==0)? ?? ??? ?{ ?? ??? ??? ?int i; ?? ??? ??? ?do ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("请输入查询的信息\n");? ?? ??? ??? ??? ?printf("\t\t* * * * * * * * * * * * * * * *\n"); ?? ??? ??? ??? ?printf("\t\t* ? 1.全部信息 ? 2.货物名字 ? *\n"); ?? ??? ??? ??? ?printf("\t\t* ? 3.货物价钱 ? 4.货物数量 ? *\n"); ?? ??? ??? ??? ?printf("\t\t* ? ? ? 0.退出修改程序 ? ? ? ?*\n");? ?? ??? ??? ??? ?printf("\t\t* * * * * * * * * * * * * * * *\n"); ?? ??? ??? ??? ?printf("请输入数字:"); ?? ??? ??? ??? ?scanf("%d",&i); ?? ??? ??? ??? ?switch(i) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?case 0: ?? ??? ??? ??? ??? ??? ?printf("退出成功\n"); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 1: ?? ??? ??? ??? ??? ??? ?printf("编号:%s\n",s->number); ?? ??? ??? ??? ??? ??? ?printf("名字:%s\n",s->name); ?? ??? ??? ??? ??? ??? ?printf("价钱:%.2f\n",s->money); ?? ??? ??? ??? ??? ??? ?printf("数量:%d\n",s->quantity); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 2: ?? ??? ??? ??? ??? ??? ?printf("名字:%s\n",s->name); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 3: ?? ??? ??? ??? ??? ??? ?printf("价钱:%.2f\n",s->money); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 4:?? ?? ?? ??? ??? ??? ??? ??? ?printf("数量:%d\n",s->quantity); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?default : ?? ??? ??? ??? ??? ??? ?printf("无效数字,请重新输入\n"); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ?}? ?? ??? ??? ?}while(i); ?? ??? ??? ?break; ?? ??? ?}? ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?s=s->next; ?? ??? ??? ?if(s==NULL)? ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("无相关货物\n"); ?? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ?} ?? ?} } void modify(struct information *head)? { //4.修改仓库信息 ?? ?struct information *o=head->next; ?? ?struct information *x=head->next; ?? ?printf("请输入修改货物的编号"); ?? ?char id[20]; ?? ?scanf("%s",id); ?? ?while(x)? ?? ?{ ?? ??? ?if(strcmp(x->number,id)==0)? ?? ??? ?{ ?? ??? ??? ?int i,a,c; ?? ??? ??? ?float b; ?? ??? ??? ?char id[20]; ?? ??? ??? ?char name[20]; ?? ??? ??? ?float money; ?? ??? ??? ?int quantity; ?? ??? ??? ?do{ ?? ??? ??? ??? ?printf("请选择修改项目:\n"); ?? ??? ??? ??? ?printf("\t\t* * * * * * * * * * * * * * * *\n"); ?? ??? ??? ??? ?printf("\t\t* ? 1.货物编号 ? 2.货物名字 ? *\n"); ?? ??? ??? ??? ?printf("\t\t* ? 3.货物价钱 ? 4.货物数量 ? *\n"); ?? ??? ??? ??? ?printf("\t\t* ? ? ? 0.退出修改程序 ? ? ? ?*\n");? ?? ??? ??? ??? ?printf("\t\t* * * * * * * * * * * * * * * *\n"); ?? ??? ??? ??? ?printf("请输入数字:"); ?? ??? ??? ??? ?i=scanf("%d", &a); ?? ??? ??? ??? ?while(i!=1) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?while((getchar())!='\n' ); ?? ??? ??? ??? ??? ?printf("警告只能输入数字:"); ?? ??? ??? ??? ??? ?i=scanf("%d", &a);?? ? ?? ??? ??? ??? ?} ?? ??? ??? ??? ?i=a; ?? ??? ??? ??? ?switch(i) ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?case 0:? ?? ??? ??? ??? ??? ??? ?printf("退出成功");? ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 1: ?? ??? ??? ??? ??? ??? ?printf("请输入修改后的货物编号:"); ?? ??? ??? ??? ??? ??? ?scanf("%s",id); ?? ??? ??? ??? ??? ??? ?while(o) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?if(o==NULL) ?? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ??? ?if(strcmp(o->number,id)==0) ?? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ?printf("编号重复请重新输入编号:"); ?? ??? ??? ??? ??? ??? ??? ??? ?scanf("%s",id); ?? ??? ??? ??? ??? ??? ??? ??? ?o=head->next; ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ??? ?if(strcmp(o->number,id)!=0)? ?? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ?o=o->next; ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?while(1) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?int i = 0; ?? ??? ??? ??? ??? ??? ??? ?char a[20]; ?? ??? ??? ??? ??? ??? ??? ?char b[20]; ?? ??? ??? ??? ??? ??? ??? ?char c[20]; ?? ??? ??? ??? ??? ??? ??? ?char d[20];? ?? ??? ??? ??? ??? ??? ??? ?FILE *fp=fopen("F:\\cangku\\仓库信息.txt","r"); ?? ??? ??? ??? ??? ??? ??? ?if(fp==NULL) ?? ??? ??? ??? ??? ??? ? ? ?{ ?? ??? ??? ??? ??? ??? ? ? ??? ?printf("打开失败"); ?? ??? ??? ??? ??? ??? ? ? ??? ?exit(1);//异常退出? ?? ??? ??? ??? ??? ??? ??? ?}? ?? ??? ??? ??? ??? ??? ??? ?while(fscanf(fp,"%s",a)!=EOF) ?? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ?fscanf(fp,"%s",b); ?? ??? ??? ??? ??? ??? ??? ??? ?fscanf(fp,"%s",c); ?? ??? ??? ??? ??? ??? ??? ??? ?fscanf(fp,"%s",d); ?? ??? ??? ??? ??? ??? ??? ??? ?if(strcmp(a,id)==0) ?? ??? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ??? ?printf("编号重复请重新输入编号:"); ?? ??? ??? ??? ??? ??? ??? ??? ??? ?scanf("%s",id);? ?? ??? ??? ??? ??? ??? ??? ??? ??? ?i = 1; ?? ??? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ??? ?if(i==0) ?? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ?fclose(fp); ?? ??? ??? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?}? ?? ??? ??? ??? ??? ??? ?strcpy(x->number,id); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 2: ?? ??? ??? ??? ??? ??? ?printf("请输入修改后的货物名称:"); ?? ??? ??? ??? ??? ??? ?scanf("%s",name); ?? ??? ??? ??? ??? ??? ?strcpy(x->name,name); ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 3: ?? ??? ??? ??? ??? ??? ?printf("请输入修改后的货物价钱"); ?? ??? ??? ??? ??? ??? ?money=scanf("%f", &b); ?? ??? ??? ??? ??? ??? ?while(money!=1) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?while((getchar())!='\n' ); ?? ??? ??? ??? ??? ??? ??? ?printf("警告只能输入数字!货物价钱:"); ?? ??? ??? ??? ??? ??? ??? ?money=scanf("%f", &b);?? ? ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?money=b; ?? ??? ??? ??? ??? ??? ?x->money=money; ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?case 4: ?? ??? ??? ??? ??? ??? ?printf("请输入修改后的货物数量"); ?? ??? ??? ??? ??? ??? ?quantity=scanf("%d", &c); ?? ??? ??? ??? ??? ??? ?while(quantity!=1) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?while((getchar())!='\n' ); ?? ??? ??? ??? ??? ??? ??? ?printf("警告只能输入数字!货物数量:"); ?? ??? ??? ??? ??? ??? ??? ?quantity=scanf("%d", &c);?? ? ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?quantity=c; ?? ??? ??? ??? ??? ??? ?x->quantity= quantity; ?? ??? ??? ??? ??? ??? ?break; ?? ??? ??? ??? ??? ?default : ?? ??? ??? ??? ??? ??? ?printf("无效数字,请重新输入\n"); ?? ??? ??? ??? ??? ??? ?break;?? ? ?? ??? ??? ??? ?} ?? ??? ??? ?}while(i); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?x=x->next; ?? ??? ??? ?if(x==NULL)? ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("无相关货物\n"); ?? ??? ??? ??? ?break; ?? ??? ??? ?} ?? ??? ?} ?? ?} } void delet(struct information *head) { //5.删除货物信息 ?? ?struct information *a=head; ?? ?struct information *b=head->next; ?? ?char i[20]; ?? ?printf("请输入货物编号"); ?? ?scanf("%s",i); ?? ?while(b)? ?? ?{ ?? ??? ?if(strcmp(b->number,i)==0)? ?? ??? ?{ ?? ??? ??? ?a->next=b->next; ?? ??? ??? ?free(b); ?? ??? ??? ?printf("删除完成"); ?? ??? ??? ?break; ?? ??? ?}? ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?a=a->next; ?? ??? ??? ?b=b->next; ?? ??? ??? ?if(b==NULL)? ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("无相关货物\n"); ?? ??? ??? ?} ?? ??? ?} ?? ?} } void baocun(struct information *head)//货物信息保存? { ?? ?int i; ?? ?printf("请确认是否保存\n"); ?? ?printf("保存请输入'1',否请输入'0'\n"); ?? ?printf("请输入数字:"); ?? ?scanf("%d",&i);? ?? ?while(i>1||i<0) ?? ?{ ?? ??? ?printf("无效数字,请重新输入:"); ?? ??? ?scanf("%d",&i); ?? ?} ?? ?if(i==1) ?? ?{ ?? ??? ?FILE*fp=fopen("F:\\c语言\\仓库管理系统1\\仓库信息.txt","w+"); ?? ? ? ?struct information *p; ?? ? ? ?p=head->next; ?? ? ? ?if(fp==NULL) ?? ? ? ?{ ?? ? ? ??? ?printf("打开失败"); ?? ? ? ??? ?exit(1);//异常退出? ?? ??? ?}? ?? ? ? ?? ?while(p!=NULL) ?? ? ??? ?{ ?? ? ??? ??? ?fprintf(fp,"%s\n",p->number); ?? ? ??? ??? ?fprintf(fp,"%s\n",p->name); ?? ? ??? ??? ?fprintf(fp,"%.2f\n",p->money); ?? ? ??? ??? ?fprintf(fp,"%d\n",p->quantity); ?? ? ??? ??? ?p=p->next; ?? ? ??? ?} ?? ? ??? ?printf("保存成功!\n"); ?? ? ? ?fclose(fp);//关闭文件? ?? ?} ?? ?if(i==0) ?? ?{ ?? ??? ?printf("正在退出保存系统\n"); ?? ??? ?printf("退出成功,请在认真检查货物信息\n"); ?? ?} ?? ? } void seek() { ?? ?char a[20]; ?? ?char b[20]; ?? ?char c[20]; ?? ?char d[20];? ?? ?FILE *fp=fopen("F:\\仓库管理系统1\\仓库信息.txt","r"); ?? ?if(fp==NULL) ? ? { ? ? ?? ?printf("打开失败"); ? ? ?? ?exit(1);//异常退出? ?? ?}? ?? ?while(fscanf(fp,"%s",a)!=EOF) ?? ?{ ?? ??? ?fscanf(fp,"%s",b); ?? ??? ?fscanf(fp,"%s",c); ?? ??? ?fscanf(fp,"%s",d); ?? ??? ?printf("货物编号:%s\n",a); ?? ??? ?printf("货物名字:%s\n",b); ?? ??? ?printf("货物价钱:%s\n",c); ?? ??? ?printf("货物数量:%s\n",d); ?? ??? ?printf("\n"); ?? ?} ?? ?fclose(fp); ?? ?printf("查看完毕\n");? } void zhuce() { ?? ?char zhanghao1[10]; ?? ?char zhanghao2[10]; ?? ?char mima1[10]; ?? ?char mima2[10];? ?? ?while(1) ?? ?{ ?? ??? ?printf("\t\t-------------------------------------------------\n"); ?? ??? ?printf("\t\t?? ??? ?仓库信息管理系统注册页面?? ??? ??? ?\n"); ?? ??? ?printf("\t\t-------------------------------------------------\n"); ?? ??? ?printf("\t\t注册仓库信息管理系统的账号\n"); ?? ??? ?printf("\t\t请输入仓库信息管理系统的账号:"); ?? ??? ?scanf("%s",zhanghao1); ?? ??? ?printf("\t\t请输入仓库信息管理系统的密码:"); ?? ??? ?scanf("%s",mima1); ?? ??? ?system("pause"); ?? ??? ?system("cls"); ?? ??? ?printf("\t\t-------------------------------------------------\n"); ?? ??? ?printf("\t\t?? ??? ?仓库信息管理系统登录页面?? ??? ??? ?\n"); ?? ??? ?printf("\t\t-------------------------------------------------\n"); ?? ??? ?printf("\t\t请输入仓库信息管理系统的账号:"); ?? ??? ?scanf("%s",zhanghao2); ?? ? ? ?printf("\t\t请输入仓库信息管理系统的密码:"); ?? ? ? ?scanf("%s",mima2); ?? ??? ?if(strcmp(zhanghao1,zhanghao2)!=0||strcmp(mima1,mima2)!=0) ?? ??? ?{ ?? ??? ??? ?printf("输入错误,请重新输入:"); ?? ??? ??? ?scanf("%s",zhanghao2); ?? ??? ??? ?printf("密码:"); ?? ??? ?} ?? ??? ?else ?? ??? ?{ ?? ??? ??? ?printf("成功登陆\n"); ?? ??? ??? ?break; ?? ??? ?} ?? ?} ?}?
int main()? {//主函数 ?? ?int n,q; //选择执行程序 ?? ?struct information*head=(struct information*)malloc(sizeof(struct information)); ?? ?head->next=NULL; ?? ?zhuce();? ?? ?system("pause"); ?? ?system("cls"); ?? ?printf(" \t \t \t \t 仓库管理系统\n");
?? ?do? ?? ?{ ?? ??? ?printf("请选择执行程序:\n"); ?? ??? ?Start(); ?? ??? ?printf("请输入数字"); ?? ??? ?n=scanf("%d", &q); ?? ??? ?while(n!=1) ?? ??? ?{ ?? ??? ??? ?while((getchar())!='\n' ); ?? ??? ??? ?printf("警告只能输入数字:"); ?? ??? ??? ?n=scanf("%d", &q);?? ? ?? ??? ?} ?? ??? ?n=q; ?? ??? ?system("pause"); ?? ??? ?system("cls"); ?? ??? ?switch (n)? ?? ??? ?{ ?? ??? ??? ?case 0: ? //退出程序? ?? ??? ??? ??? ?break; ?? ??? ??? ?case 1: ?//1.增加货物信息 ? ? ? ?? ??? ??? ??? ?input(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 2: ?//2.显示货物信息 ?? ??? ??? ??? ?show(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 3: ?//3.查询货物信息 ? ? ? ?? ??? ??? ??? ?query(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 4: ?//4.修改货物信息 ?? ??? ??? ??? ?modify(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 5: ?//5.删除货物信息 ? ? ? ?? ??? ??? ??? ?delet(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 6: ?//6.保存货物信息? ?? ??? ??? ??? ?baocun(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 7: ?? ??? ??? ??? ?seek(); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break; ?? ??? ??? ?case 8: ?? ??? ??? ??? ?join(head); ?? ??? ??? ??? ?system("pause"); ?? ??? ??? ??? ?system("cls"); ?? ??? ??? ??? ?break;? ?? ??? ??? ?default : ?? ??? ??? ??? ?printf("无此选项,请重新输入\n"); ?? ??? ?} ?? ?} while(n); ?? ?printf("结束程序"); ?? ?return 0; }
|