汽车信息管理系统(课程设计))

代码经过上机测试:另(有实验报告在我上传的文件里下载)



#include<stdio.h>
#include<stdlib.h>
#include <graphics.h>
#include <io.h>
#include<conio.h>
#include<string.h>
mi_ma();
mi_ma2();
mi_ma1();
void cai_dan();
void cai_dan1();
save_in_f(struct car *l);
ku_cun();
xiu_gai();
cha_xun();
daying();
tui_chu();
tian_jia();
shan_chu();
pai_xun();
guan_li();
chu_shi_hua();
int v;
struct car
{
	char name[20];//品牌
	char style[20];//型号
	float sale_price;//卖价
	float buy_price;//进价
	float get_money;//利润
	int  num;//汽车数量
	struct car *next;
};
struct mi
{
	char name[20];
	char sex[20];
	float mima;
	struct mi *next;

};


main()
{  

	printf("\n\n");
      printf("                             ╒═━━━━━━━━╗\n");
      printf("                             ║☆1.管理员登录    ║\n");
      printf("                             ╚━━━━━━━━━╝\n");
	  printf("\n\n");
      printf("                             ╒═━━━━━━━━╗\n");
      printf("                             ║☆2.游客登录      ║\n");
      printf("                             ╚━━━━━━━━━╝\n");
	    printf("\n\n");
      printf("                             ╒═━━━━━━━━╗\n");
      printf("                             ║☆3.游客注册      ║\n");
      printf("                             ╚━━━━━━━━━╝\n");
      printf("\n\n                            请选择(1-3):           ");
	  scanf("%d",&v);
	  		if(v==1)
			{
				mi_ma2();
	           cai_dan1();
			}
			if(v==2)
			{
				mi_ma();
	         cai_dan();
			}
				if(v==3)
			{

              mi_ma1();
	         cai_dan();
			}
}
mi_ma2()//密码验证
{
	int   i=0, x = 3;
    int flag = 0;
    char    s[20];
	char mima[20]="123456";
	 system("cls");
 system("color bc");
    do
    { 
	  printf("\n\n");
      printf(" ╒═━━━━━━╗\n");
      printf(" ║请您输入密码: ║\n");
      printf(" ╚━━━━━━━╝\n");
		for(i=0;i<6;i++)
		{
			s[i]=getch();
            printf("%c",s[i]);
		 	printf("\b*");
		}
	getch();
    s[6]='\0';
    printf("\n");
	

	if(!strcmp(s,mima))//进行密码验证
        {
            printf("密码正确!!!!\n\n\n按任意键继续~~~\n");
			getch();
            flag=1;
            break;
        }
        else
        {
            printf("密码错误,请重新输入:\n");
            x--;
        }
    }
    while(x>0);
    if(!flag)
    {
        printf("你已经输入三次错误密码!");
        exit(0);
    }

}

void cai_dan()//菜单
{
	 int selectnum;
	 system("color ce");
	 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作
    puts("                                                                                        ");
    puts("                                                                                        ");
    puts("                                                ☆ 欢迎使用汽车销售管理系统 ☆        ");
    puts("════════════════════════════════════════════════════════════");
    puts("                          ╔══════════════════════════════════╗"); 
    puts("                          ║                    ※0.退出系统     ※1.查询信息                   ║");
    puts("                          ║                                                                    ║"); 
	puts("                          ║                    ※2.打印库存     ※3.排序管理                   ║"); 
	puts("                          ║                                                                    ║");
    puts("                          ╚━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╝");
	 printf("\n\n请选择(0-3):");
	while(1)
	{
loop:
		scanf("%d",&selectnum);
		    switch(selectnum)
			{
		     
		   	case 1:
				cha_xun();
			    break;		   
			  case 2:
				daying();
				break;										
			  case 3:
				pai_xun();
				break;

			  case 0:
				tui_chu();
				exit(0);
				break;

			  default:printf("您输入的编码不对!请重新输入:\a");
			    goto loop;
			}	
	}
}	
void cai_dan1()//菜单
{
	 int selectnum;
	 system("color ce");
	 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作
    puts("                                                                                        ");
	 
	/*mciSendString("open 贺远.mp3 alias mymusic", NULL, 0, NULL);
	mciSendString("play mymusic", NULL, 0, NULL);// 播放音乐
	 	mciSendString( "play mymusic repeat", NULL, 0, NULL);
		mciSendString("stop mymusic", NULL, 0, NULL);
        mciSendString("close mymusic", NULL, 0, NULL);*/

    puts("                                                                                        ");
    puts("                                                ☆ 欢迎使用汽车销售管理系统 ☆        ");
    puts("════════════════════════════════════════════════════════════");
    puts("                          ╔══════════════════════════════════╗"); 
    puts("                          ║                    ※1.库存管理     ※2.修改数据                   ║");
    puts("                          ║                                                                    ║");
    puts("                          ║                    ※3.查询信息     ※4.删除信息                   ║");
    puts("                          ║                                                                    ║"); 
	puts("                          ║                    ※5.打印库存     ※6.排序管理                   ║"); 
	puts("                          ║                                                                    ║");
    puts("                          ║                    ※7.游客管理     ※8.退出系统                   ║");
    puts("                          ║                                                                    ║");
    puts("                          ╚━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╝");
	 printf("\n\n请选择(1-8):");
	while(1)
	{
loop:
		scanf("%d",&selectnum);
		    switch(selectnum)
			{
		      case 1: 
				ku_cun();
		    	break;
			 case 2:
			    xiu_gai();
			    break;
		   	case 3:
				cha_xun();
			    break;		   
			  case 4:
				shan_chu();
				break;		   
			  case 5:
				daying();
				break;										
			  case 6:
				pai_xun();
				break;				
			  case 7:
		      	guan_li();
				break;
			  case 8:
				tui_chu();
				exit(0);
				break;

			  default:printf("您输入的编码不对!请重新输入:\a");
			    goto loop;
			}	
	}
}	
 struct mi *lianbiao1()//创建mima链表
{
	struct mi *l,*s,*r;
	int n;
    system("cls");
	puts("═══════════════════"); 
	printf("请输您的信息:\n");
	l=(struct mi *)malloc(sizeof(struct mi));
	r=l;
	l->next=NULL;
		s=(struct mi *)malloc(sizeof(struct mi));
		puts("═══════════════════"); 
		     printf("姓名:");
		scanf("%s",&s->name);
	     	printf("性别:");
        scanf("%s",s->sex);
			printf("请输入您的登录密码:");
	    scanf("%f",&s->mima);
		r->next=s;
		r=s;
	r->next=NULL;
	return(l);
}
struct mi *cha_ru1( struct mi *l)
{
	 
   struct mi *p;
   p=( struct mi *)malloc(sizeof( struct mi));
  	printf("请输您的信息:\n");
   	  puts("═══════════════════"); 
		       printf("姓名:");
		scanf("%s",&p->name);
	     	printf("性别:");
        scanf("%s",p->sex);
			printf("请输入您的登录密码:");
	    scanf("%f",&p->mima);
		p->next=l->next;
		l->next=p;
		return l;
 }
save_in_f1(struct mi *l)
{
	struct mi *p;
	FILE *fp;
	if((fp=fopen("密码.txt","wt"))==NULL)
	{
		printf("写文件出错!!按任意键退出。");
		getch();
		exit(1);
	}
	for(p=l->next;p!=NULL;p=p->next)
		fprintf(fp,"%s %s %f\n",p->name,p->sex,p->mima);
	    printf("保存成功!!请按任意键继续。\n");
	    fclose(fp);
	    getch();
}
struct mi *read_in_f1()//从文件中读取信息
{
	struct mi *l,*s,*r;
	FILE *fp;
	if((fp=fopen("密码.txt","rt"))==NULL)
	{
		printf("读文件出错!!按任意键退出。");
		getch();
		exit(1);
	}
	l=(struct mi *)malloc(sizeof(struct mi));
	l->next=NULL;
	r=l;
	while(!feof(fp))
	{
			s=(struct mi *)malloc(sizeof(struct mi));//开辟新空间存放读取的信息
		   	fscanf(fp,"%s %s %f\n",s->name,s->sex,&s->mima);
			r->next=s;
			r=s;
	}
	r->next=NULL;
	fclose(fp);
	printf(":从文件中读取信息完成\n");
	return l;
}
cha_xun_mi()
{
		char name[20];
		float mima;//品牌
        struct mi *p,*m;
	    int n,a=0;
	    system("cls");
	 	m=read_in_f1();
		printf("请登录:\n");
back:
		printf("\n请输入您的名字: ");//输入要改变库存量的信息
           scanf("%s",name);
      printf("\n请输入您的密码: ");//输入要改变库存量的信息
           scanf("%f",&mima);
		   for(p=m->next;p!=NULL;p=p->next)
			{
		     	if((!strcmp(p->name,name))&&((p->mima==mima)))
			  {
			       a++;
			       printf("您输入的密码正确!!\n");
				   break;
			  }
			}
			if(a==0)
			{
				printf("您输入的密码错误!!\n");
			    getch();
			}
			else
			{
				if(v==1)
				{
	              cai_dan1();
				}
			    if(v==2||v==3)
				{
	            cai_dan();
				}
			}

		    printf("重新登录请按1,退出请按2:\n");

	           scanf("%d",&n);
			   if(n==1)
	              goto back;
			   if(n==2)
				   exit(0);
}
	da_ying1(struct mi *l)//打印
{
	struct mi *p;
	printf("姓名          性别           \n");
    for(p=l->next;p->next!=NULL;p=p->next)
    printf("%-15s%-15s%\n",p->name,p->sex);
}
 

mi_ma1()
{
	struct mi *l,*w;
 system("cls");
	 system("color 89");
	printf("请您注册账号:");
	  l=read_in_f1();
	   cha_ru1(l);
	    save_in_f1(l);
	    printf("恭喜您注册成功!!\n");
		cha_xun_mi();
}
mi_ma()
{
	struct mi *l,*w;
 system("cls");
	 system("color 89");
	cha_xun_mi();
	 printf("按任意键返回主菜单.");
	             getch();
	      	if(v==1)
			{
	           cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
}
xiu_gai1()
{
     char name[20];//
	 char sex[20];//
     struct mi *p,*w,*m;
	 int n;
	  system("cls");
     w=read_in_f1();
     da_ying1(w); //   	   
back1:
	       puts(" ══════════════════");
		   printf("\n请输入姓名: ");
           scanf("%s",name);
           printf("\n请输入性别:");
           scanf("%s",sex);
		   for(p=w->next;p!=NULL;p=p->next)
		   {
			   if((strcmp(p->name,name)==0)&&(strcmp(p->sex,sex)==0))
			   {
			     	printf("姓名          性别           密码\n");
                   printf("%-15s%-15s%-15.2f\n",p->name,p->sex,p->mima);      
                    printf("请输入改变的密码:\n");
                    scanf("%f",&p->mima);
			   }
		   }
		   printf("继续请按1,结束请按2:\n");
	           scanf("%d",&n); 
			   if(n==1)
				   goto back1;
			   else
			   {
			     save_in_f1(w);	///保存
	             m=read_in_f1();
	             da_ying1(m);
			   }
	             printf("按任意键返回主菜单.");
	             getch();
	      	if(v==1)
			{
	           cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
}



print()
	{	
	struct mi *w;
    system("cls");
	 system("color 89");
	 w=read_in_f1();
	 da_ying1(w);
	   printf("按任意键返回主菜单\n");
	     getch();
    	if(v==1)
			{
	           cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
}

guan_li()
{  
	int selectnum;
	 system("color ce");
	 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作
	 puts("                                                                                        ");
    puts("                                                                                        ");
    puts("                                                    ☆ 游客管理 ☆        ");
    puts("════════════════════════════════════════════════════════════");
    puts("                          ╔══════════════════════════════════╗"); 
    puts("                          ║                                                                    ║");
    puts("                          ║                    ※查看游客注册信息                              ║");
    puts("                          ║                                                                    ║"); 
    puts("                          ╚━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╝");
	 printf("\n\n按任意键查看:");
	
	       getch();
			print();
			 
	
}	
struct car *lianbiao()//创建链表
{
	struct car *l,*s,*r;
	int n;
    system("cls");
	printf("请输入要添加的汽车的数量,品牌,型号,进价,售价:\n");
	l=(struct car *)malloc(sizeof(struct car));
	r=l;
    do
	{
		s=(struct car *)malloc(sizeof(struct car));
		puts("═══════════════════"); 
		     printf("数量:");
		scanf("%d",&s->num);
	     	printf("品牌:");
        scanf("%s",s->name);
			printf("型号:");
	    scanf("%s",s->style);
			printf("进价:");
	    scanf("%f",&s->buy_price);
			printf("售价:");
	    scanf("%f",&s->sale_price);
		r->next=s;
		r=s;
      printf("继续请按1,结束请按2:\n");
	scanf("%d",&n);
	}
	while(n==1);
	r->next=NULL;
	return(l);
}
save_in_f(struct car *l)//将汽车信息存入文件
{
	struct car *p;
	FILE *fp;
	if((fp=fopen("car.txt","wt"))==NULL)
	{
		printf("写文件出错!!按任意键退出。");
		getch();
		exit(1);
	}
	for(p=l->next;p!=NULL;p=p->next)
		fprintf(fp,"%d %s %s %f %f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
	    printf("保存成功!!请按任意键继续。\n");
	    fclose(fp);
	    getch();
}
struct car *read_in_f()//从文件中读取信息
{
	struct car *l,*s,*r;
	FILE *fp;
	if((fp=fopen("car.txt","rt"))==NULL)
	{
		printf("读文件出错!!按任意键退出。");
		getch();
		exit(1);
	}
	l=(struct car *)malloc(sizeof(struct car));
	l->next=NULL;
	r=l;
	while(!feof(fp))/*文件未结束*/
	{
			s=(struct car *)malloc(sizeof(struct car));//开辟新空间存放读取的信息
		    fscanf(fp,"%d %s %s %f %f\n",&s->num,&s->name,&s->style,&s->buy_price,&s->sale_price);
			r->next=s;
			r=s;
	}
	r->next=NULL;
	fclose(fp);
	printf(":从文件中读取信息完成\n");
	return l;
}


da_ying(struct car *l)//打印
{
	struct car *p;
	printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
    for(p=l->next;p!=NULL;p=p->next)
    printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
}
 
 struct car *cha_ru( struct car *l)
{
	 
   struct car *p;
   p=( struct car *)malloc(sizeof( struct car));
   printf("请输入要添加的信息:\n");
   	  puts("═══════════════════"); 
		     printf("数量:");
		scanf("%d",&p->num);
	     	printf("品牌:");
        scanf("%s",p->name);
			printf("型号:");
	    scanf("%s",p->style);
			printf("进价:");
	    scanf("%f",&p->buy_price);
			printf("售价:");
	    scanf("%f",&p->sale_price);
		p->next=l->next;
		l->next=p;
		return l;
 }
ku_cun()
{ 
	 int selectnum;
	 system("color ce");
	 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作
    puts("                                                                                        ");
    puts("                           ☆库存管理☆        ");
    puts("            ══════════════════");
    puts("     ╔═══════════════════════╗"); 
    puts("     ║                    ※1.初始化库存            ║");
    puts("     ║                                              ║");
    puts("     ║                    ※2.添加库存              ║");
    puts("     ║                                              ║");
    puts("     ╚━━━━━━━━━━━━━━━━━━━━━━━╝");
	 printf("\n\n请选择(1-2):");
	while(1)
	{
		scanf("%d",&selectnum);
		    switch(selectnum)
			{
		      case 1: 
			    chu_shi_hua();
		    	break;
			 case 2:
		    	tian_jia();
			    break;
			 default:printf("您输入的编码不对!请重新输入:");
		
			}		
	}
}
chu_shi_hua()
{
	 struct car *l,*w;
	 system("cls");
	 system("color 89");
	    l=lianbiao();
	    save_in_f(l);
	    w=read_in_f();
	    da_ying(w);
	    printf("初始化库存成功,按任意键返回主菜单\n");
	     getch();
    	if(v==1)
			{
	           cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
}
tian_jia()
{ 
	struct car *m,*t;

	 system("cls");
	 system("color 89");
	 m=read_in_f();
     cha_ru(m);
	 save_in_f(m);
     t=read_in_f();
     da_ying(t);
	 printf("添加信息成功,按任意键返回主菜单\n");
	 getch();
   	if(v==1)
	{
	        cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
	 }
xiu_gai()
{
     char name[20];//品牌
	 char style[20];//型号
     struct car *p,*w,*m;
	 int n;
	  system("cls");
     w=read_in_f();
     da_ying(w); //输出原来汽车库存的信息     	   
back1:
	       puts(" ══════════════════");
		   printf("\n请输入品牌名: ");//输入要改变库存量的信息
           scanf("%s",name);
           printf("\n请输入型号:");
           scanf("%s",style);
		   for(p=w->next;p!=NULL;p=p->next)
		   {
			   if((strcmp(p->name,name)==0)&&(strcmp(p->style,style)==0))
			   {
			     	printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
                    printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);            
                    printf("请输入改变的进价:\n");
                    scanf("%f",&p->buy_price);
		            printf("请输入改变的售价:\n");
                    scanf("%f",&p->sale_price);
                    printf("\n请输入改变的车的数量:\n");
                    scanf("%d",&p->num);
			   }
		   }
		   printf("继续请按1,结束请按2:\n");
	           scanf("%d",&n); 
			   if(n==1)
				   goto back1;
			   else
			   {
			     save_in_f(w);	///保存
	             m=read_in_f();
	             da_ying(m);
			   }
	             printf("按任意键返回主菜单.");
	             getch();
	      	if(v==1)
			{
	           cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
}
cha_xun1()
	{
		char name[20];//品牌
        struct car *p,*m;
	    int n,a=0;
	    system("cls");
	 	m=read_in_f(); 	
back:
		   printf("\n请输入要查询的品牌名: ");//输入要改变库存量的信息
           scanf("%s",name);
		   for(p=m->next;p!=NULL;p=p->next)
			{
		     	if(!strcmp(p->name,name))
			  {
			       a++;
			       printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
                   printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
			  }
			}
			if(a==0)
		    	printf("没有您要查询的品牌。\n");
		    printf("继续查询请按1,按照其他类型查询请按2,返回主菜单请按,3:\n");
	           scanf("%d",&n);
			   if(n==1)
	              goto back;
			   if(n==2)
				  cha_xun();
			  if(n==3)
					if(v==1)
					{
		
	                   cai_dan1();
					}
		    	if(v==2||v==3)
				{

	            cai_dan();
				}
	}
	cha_xun2()
	{
	 char style[20];//型号
     struct car *p,*m;
	 int n,a=0;
	 system("cls");
	 m=read_in_f(); 	
back:
		  
           printf("\n请输入要查询的型号:");
           scanf("%s",&style);
		  	for(p=m->next;p!=NULL;p=p->next)
			{
				
		     	if(!strcmp(p->style,style))
			  {
					a++;
			       printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
                   printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
			  }			  					
			}
			if(a==0)
			   printf("没有您要查询的型号。\n");
		    printf("继续查询请按1,按照其他类型查询请按2,返回主菜单请按,3:\n");
	        scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				  cha_xun();
			  if(n==3)
				 	if(v==1)
			{
		
	           cai_dan1();
			}
			if(v==2||v==3)
			{

          
	         cai_dan();
			}
	}
cha_xun3()
	{
	float buy_price;//进价
     struct car *p,*m;
	 int a=0,n;
	 system("cls");
	 m=read_in_f(); 	
back:
		   printf("\n请输入要查询的进价: ");//输入要改变库存量的信息
           scanf("%f",&buy_price);
		  	for(p=m->next;p!=NULL;p=p->next)
			{
		      if(p->buy_price==buy_price)
			  {
				     a++;
			    	 printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
                     printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
			  }							  
			}
			if(a==0)
		     	printf("没有您要查询的品牌。");
		    printf("继续查询请按1,按照其他类型查询请按2,返回主菜单请按,3:\n");
	        scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				  cha_xun();
			  if(n==3)
					if(v==1)
			{
		          cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
	}
cha_xun4()
	{
		float sale_price;//卖价
          struct car *p,*m;
	     int a=0,n;
	 	 m=read_in_f();
		 system("cls");

	
back:
		   printf("\n请输入要查询的售价: ");//输入要改变库存量的信息
           scanf("%f",&sale_price);    
		  	for(p=m->next;p!=NULL;p=p->next)
			{
		      if(p->sale_price==sale_price)
			  {
				   a++;
			       printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
                   printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
			  }				
			}
			if(a==0)
			      printf("没有您要查询的品牌。");
			printf ("继续查询请按1,按照其他类型查询请按2,返回主菜单请按,3:\n");
	           scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				  cha_xun();
			  if(n==3)
				if(v==1)
			{
	           cai_dan1();
			}
		if(v==2||v==3)
			{

	         cai_dan();
			}
	}	
cha_xun5()
	{
          struct car *p,*m;
	     int a=0,n,num;
	 	 m=read_in_f();
		 system("cls");

	
back:
		   printf("\n请输入要查询的数量: ");//输入要改变库存量的信息
           scanf("%d",&num);
		  	for(p=m->next;p!=NULL;p=p->next)
			{
		      if(p->num==num)
			  {
				  a++;
			      printf("数量(辆)       品牌           型号           进价(万元)     售价(万元)  \n");
                   printf("%-15d%-15s%-15s%-15.2f%-15.2f\n",p->num,p->name,p->style,p->buy_price,p->sale_price);
			  }
			  
			}
			if(a==0)
			     printf("没有您要查询的品牌。");
			  printf("继续查询请按1,按照其他类型查询请按2,返回主菜单请按,3:\n");
	          scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				  cha_xun();
			  if(n==3)
				if(v==1)
			{
	
	           cai_dan1();
			}
			if(v==2||v==3)
			{
	         cai_dan();
			}
	}
cha_xun()//查询
	{
	 int selectnum;
	 system("color 89");
	 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作
    puts("                                                                                        ");
    puts("                                                                                        ");
    puts("                                                   ☆ 查询信息 ☆        ");
    puts("══════════════════════════════════════════════════");
    puts("                          ╔═══════════════════════════╗"); 
    puts("                          ║                    ※1.按品牌查询                    ║");
    puts("                          ║                                                      ║");
    puts("                          ║                    ※2.按型号查询                    ║");
    puts("                          ║                                                      ║"); 
	puts("                          ║                    ※3.按进价查询                    ║"); 
	puts("                          ║                                                      ║");
    puts("                          ║                    ※4.按售价查询                    ║");
    puts("                          ║                                                      ║");
	puts("                          ║                    ※5.按数量查询                    ║");
    puts("                          ╚━━━━━━━━━━━━━━━━━━━━━━━━━━━╝");
    printf("\n请选择(1-5):");
	while(1)
	{
loop:
		scanf("%d",&selectnum);
		    switch(selectnum)
			{
		      case 1: 
		     	cha_xun1();
			    break;
			 case 2:
				cha_xun2();
				break;
			 case 3:
			    cha_xun3();
		    	break;
			 case 4:
			    cha_xun4();
				break;
			case 5:
				cha_xun5();
				break;
			default:printf("您输入的编码不对!请重新输入:");
			 goto loop;
			}		
	}
}
shan_chu5()
	{
          struct car *p,*m,*w;
	     int n,num;
		  	 system("cls");
back:	 	 
		 m=read_in_f(); 
		  w=m;
	      p=m->next;
		   printf("\n请输入要删除的数量: ");//输入要改变库存量的信息
           scanf("%d",&num);
         
		 if(m->next->next==NULL)
			 printf("没有库存");
		 while(p!=NULL)
		 {
			 if(p->num!=num)
			 {
			  w=p;
		      p=p->next;
			 }
			 else
			 {
				 printf("---\n");
				 w->next=p->next;
			 break;
			 }
		 }          
		 save_in_f(m);
	     da_ying(m);
		 printf("继续删除请按1,按照其他类型删除请按2,返回主菜单请按,3:\n");
	     scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				   shan_chu();
			  if(n==3)
			if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
			if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
	}
	shan_chu4()
	{
           struct car *p,*m,*w;
	       float sale_price;//卖价
	       int n;
		   	 system("cls");
back:	 	
	m=read_in_f();		
		  w=m;
	      p=m->next;	
		   printf("\n请输入要删除的售价: ");//输入要改变库存量的信息
           scanf("%f",&sale_price);        
		 if(m->next->next==NULL)
			 printf("没有库存");
		 while(p!=NULL)
		 {
			 if(p->sale_price!=sale_price)
			 {
			    w=p;
		        p=p->next;
			 }
			 else
			 {
				 w->next=p->next;
			   break;
			 }
		 }           
			 save_in_f(m);
			 da_ying(m);
			printf("继续删除请按1,按照其他类型删除请按2,返回主菜单请按,3:\n");
	           scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				   shan_chu();
			  if(n==3)
				if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
			if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
	}
shan_chu3()
	{
          struct car *p,*m,*w;
	float buy_price;//进价
	     int n;
		 	 system("cls");
back:	 
		 m=read_in_f(); 
		  w=m;
	      p=m->next;	 
		   printf("\n请输入要删除的进价: ");//输入要改变库存量的信息
           scanf("%f",& buy_price);        
		 if(m->next->next==NULL)
			 printf("没有库存");
		 while(p!=NULL)
		 {
			 if(p->buy_price!= buy_price)
			 {
			  w=p;
		      p=p->next;
			 }
			 else
			 {
				 w->next=p->next;
			 break;
			 }
		 }          
		 save_in_f(m);
			 da_ying(m);
			printf("继续删除请按1,按照其他类型删除请按2,返回主菜单请按,3:\n");
	           scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				   shan_chu();
			  if(n==3)
					if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
			if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
	}
shan_chu2()
	{
          struct car *p,*m,*w;
	      char style[20];
	     int n;
		 	 system("cls");
	
back:	 
		 m=read_in_f(); 
		  w=m;
	      p=m->next;
		   printf("\n请输入要删除的型号: ");//输入要改变库存量的信息
           scanf("%s",&style);       
		 if(m->next->next==NULL)
			 printf("没有库存");
		 while(p!=NULL)
		 {
			if(strcmp(p->style,style))
			 {
			  w=p;
		      p=p->next;
			 }
			 else
			 {
				 w->next=p->next;
			 break;
			 }
		 }          
			 save_in_f(m);
			 da_ying(m);
	         printf("继续删除请按1,按照其他类型删除请按2,返回主菜单请按,3:\n");
	           scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				   shan_chu();
			  if(n==3)
				 	if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
			if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
	}
shan_chu1()
	{
          struct car *p,*m,*w;
	char name[20];//品牌
	     int n;
		 	 system("cls");
back:	 
		 m=read_in_f(); 
		  w=m;
	      p=m->next;
		   printf("\n请输入要删除的品牌: ");//输入要改变库存量的信息
           scanf("%s",&name);         
		 if(m->next->next==NULL)
			 printf("没有库存");
		 while(p!=NULL)
		 {
			 	if(strcmp(p->name,name))
			 {
			  w=p;
		      p=p->next;
			 }
			 else
			 {
				 w->next=p->next;
			 break;
			 }
		 }           
			 save_in_f(m);
			 da_ying(m);
			printf("继续删除请按1,按照其他类型删除请按2,返回主菜单请按,3:\n");
	           scanf("%d",&n);
			   if(n==1)
	             goto back;
			   if(n==2)
				   shan_chu();
			  if(n==3)
				 	if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
			if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
	}
shan_chu()
{
	 int selectnum;
	system("color 89");
	 system("cls");//清屏 包含在stdlib.h头文件中,执行清屏操作
    puts("                                                                                        ");
    puts("                                                                                        ");
    puts("                                                  ☆ 删除信息 ☆        ");
    puts("══════════════════════════════════════════════════");
    puts("                          ╔═══════════════════════════╗"); 
    puts("                          ║                    ※1.按品牌删除                    ║");
    puts("                          ║                                                      ║");
    puts("                          ║                    ※2.按型号删除                    ║");
    puts("                          ║                                                      ║"); 
	puts("                          ║                    ※3.按进价删除                    ║"); 
	puts("                          ║                                                      ║");
    puts("                          ║                    ※4.按售价删除                    ║");
    puts("                          ║                                                      ║");
	puts("                          ║                    ※5.按数量删除                    ║");
    puts("                          ╚━━━━━━━━━━━━━━━━━━━━━━━━━━━╝");
    printf("\n请选择(1-5):");
	while(1)
	{
loop:
		scanf("%d",&selectnum);
		    switch(selectnum)
			{
		      case 1: 
		     shan_chu1();

			    break;
			 case 2:
			shan_chu2();
				break;
			 case 3:
			  shan_chu3();
		    	break;
			 case 4:
			   shan_chu4();
				break;
			case 5:
			 shan_chu5();
				break;
			default:printf("您输入的编码不对!请重新输入:");
			 goto loop;
			}		
	}
}
daying()//打印
{	
	 struct car *w;
	 w=read_in_f();
	 system("cls");
	 da_ying(w);
	 printf("按任意键返回主菜单");
	getch();
	if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
			if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
}
tui_chu()//退出
{  		
   system("cls");
	printf("☆☆☆☆☆☆☆☆\n\n");
      printf("╒═══════════════════╗\n");
     printf ("║感谢您的使用,祝您生活愉快,再见!!  ║\n");
      printf("╚═══════════════════╝\n");
	exit(0);
	}
pai_xun()

{
	struct car *l,*p,*d,*r,*min,*before,*s,*t;
	int n,m,k;
back:
	system("cls");
	 puts("                                                  ☆ 排序管理 ☆        ");
    puts("══════════════════════════════════════════════════");
    puts("                          ╔═══════════════════════════╗"); 
    puts("                          ║                    ※1.按数量排序                    ║");
    puts("                          ║                                                      ║");
	puts("                          ║                    ※2.按进价排序                    ║"); 
	puts("                          ║                                                      ║");
    puts("                          ║                    ※3.按售价排序                    ║");
    puts("                          ╚━━━━━━━━━━━━━━━━━━━━━━━━━━━╝");	
	 printf("\n\n请选择(1-3):");
	 scanf("%d",&n);
	 	system("cls");
		if(n==1)
	        	printf("按数量排序");
    	if(n==2)
				printf("按进价排序");
		if(n==3)
				printf("按售价排序");
	printf("从小到大排序请按1,按从大到小排序请按2:");
	 scanf("%d",&m);
	l=read_in_f();
	t=l->next;
        d=(struct car *)malloc(sizeof(struct car));
		d->next=NULL;
        r=d;
   do
	{
		for(p=l,min=l->next;p->next!=NULL;p=p->next)
		{
			if(n==1)
			{
				if(m==1)
				{
					 if((p->next->num)<=(min->num))
					   {
			         	before=p;
			        	min=p->next;
					   }
				}
				if(m==2)
				{
					   if((p->next->num)>=(min->num))
					   {
			    	     before=p;
			    	   min=p->next;
					   }
				}
			}
			if(n==2)
			{
				if(m==1)
				{
		    	      if((p->next->buy_price)<=(min->buy_price))
					  {
			         	before=p;
			    	    min=p->next;
					  
					  }
				}
				if(m==2)
				{
					if((p->next->buy_price)>=(min->buy_price))
					  {
			         	before=p;
			    	    min=p->next;
					  
					  }
				}
			}
			if(n==3)
			{
				if(m==1)
				{
					if((p->next->sale_price)<=(min->sale_price))
					{
			    	before=p;
			     	min=p->next;
					}
				}
				if(m==2)
				{
						if((p->next->sale_price)>=(min->sale_price))
						{
			    	    before=p;
			         	min=p->next;
						}
				}
			}

		}
		s=(struct car *)malloc(sizeof(struct car));
		   s->next=NULL;
		  s=min;
		   r->next=s;
		   r=s;
		  before->next=min->next;
		   p=l->next;
	}
	while(l->next!=NULL);
	 da_ying(d);
	 printf("按其排序请按1,返回主菜单请按2:");
	 scanf("%d",&k);
	 if(k==1)
		 goto back;
	 if(k==2)
			if(v==1)
			{
			//	mi_ma();
	           cai_dan1();
			}
				if(v==2||v==3)
			{

              //mi_ma();
	         cai_dan();
			}
}

		   






				







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值