⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2337-书籍信息管理系统(子图版).c

📁 数据结构课程的一个实训项目(书籍信息管理系统)
💻 C
📖 第 1 页 / 共 3 页
字号:
	FILE  *fp;
    int i,j;
    char file[20];
	loop:		
     	printf("请输入要读取的文件名(格式*.txt):");
     	scanf("%s",file);
    	if((fp=fopen(file,"rb+"))==NULL)
    	{						
     		printf("\n此文件打不开或不存在!\n");
			loop10:
	     		printf("\n按1重新输入,按0返回上级菜单:" );
	 	 		while( 1 )
				{
		        	char c;
					scanf("%1s",&c);
		        	if( c=='1')
						goto loop;
		        	else break;
				}
	        	return;
     	}
     	fp=fopen(file,"rb+");
     	
		printf("\n编号\t书名\t作者\t类别\t价格\t出版日期\t库存\n");	
		j=0;
		while(!feof(fp))
		{
      		fread(&stu[j],sizeof(struct book),1,fp);			
    	    j=j+1;
		}
		
		number=j-1;		
		for(i=0;i<number;i++)
		{
  			printf(" %d\t%s\t%s\t%s\t%.1f\t%d-%d-%d\t%d\n",stu[i].num,stu[i].name,stu[i].zuozhe,stu[i].leibie,stu[i].jiage,stu[i].year,stu[i].month,stu[i].day,stu[i].kucun);								
		}		
     	fclose(fp);
		goto loop10;
}

void memu1()                 /*1.书籍信息管理菜单的函数*/      
{
	char c1;
	system( "CLS" );
	printf( "\n\t\t* * * * *<书籍信息管理菜单> * * *\n");	
    printf( "\t\t*\t\t\t\t*\n" );
	printf( "\t\t*\t1.添加书籍信息.\t\t*\n\t\t*\t\t\t\t*\n" );
	printf( "\t\t*\t2.显示书籍信息.\t\t*\n\t\t*\t\t\t\t*\n" );			
	printf( "\t\t*\t3.修改书籍信息.\t\t*\n\t\t*\t\t\t\t*\n" );
	printf( "\t\t*\t4.删除书籍信息.\t\t*\n\t\t*\t\t\t\t*\n" );	
	printf( "\t\t*\t0.返回上级菜单.\t\t*\n" );
	printf( "\t\t* * * * * * * * * * * * * * * * *\n" );
	printf( "\t\t\t请选择[0-4]:" );	

	while( 1 )
	{
	    scanf("%1s",&c1);
	    if( c1=='1')
		{
	        system( "CLS" );
	        printf( "1.请输入书籍信息。" );
	        shuru();
	    	getchar();	        
	       	printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu1();
		}
	
		else if( c1=='2')
		{
			system( "CLS" );
			printf( "2.输出书籍信息。\n" );													
			shuchu();
	    	getchar();																		
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu1();
		}	
		
		else if( c1=='3')
		{
			system( "CLS" );
			printf( "3.修改书籍信息。\n" );													
			xiugai();
			getchar();															
			printf( "\n\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu1();
		}	
		
		else if( c1=='4')
		{
			system( "CLS" );
			printf( "4.删除书籍信息。\n" );													
			shanchu();
			getchar();															
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu1();
		}
				
	    else if( c1=='0')
		{
		    memu();
	    }
			
	   	else 
		   printf("\n\t\t\t输入有误!请重新输入:");
    }     
}
 
void memu2()                 /*2.书籍库存条件查询菜单的函数*/      
{
	char c2;
	system( "CLS" );
	printf( "\n\t\t* * * * * * * * *<书籍库存条件查询菜单> * * * * *\n");	
    printf( "\t\t*\t\t\t\t\t\t*\n" );
	printf( "\t\t*\t1.查询给定库存的书籍信息.\t\t*\n\t\t*\t\t\t\t\t\t*\n" );
	printf( "\t\t*\t2.查询大于或小于给定库存的书籍信息.\t*\n\t\t*\t\t\t\t\t\t*\n" );			
	printf( "\t\t*\t3.查询大于或小于给定价格的书籍信息.\t*\n\t\t*\t\t\t\t\t\t*\n" );
	printf( "\t\t*\t4.查询大于或小于给定出版时间的书籍信息.\t*\n\t\t*\t\t\t\t\t\t*\n" );	
	printf( "\t\t*\t5.查询给定数值段中库存最值的书籍信息.\t*\n\t\t*\t\t\t\t\t\t*\n" );	
	printf( "\t\t*\t6.查询给定书名的书籍信息.\t\t*\n\t\t*\t\t\t\t\t\t*\n" );	
	printf( "\t\t*\t7.查询所有最值的书籍信息.\t\t*\n\t\t*\t\t\t\t\t\t*\n" );	
	printf( "\t\t*\t0.返回上级菜单.\t\t\t\t*\n" );
	printf( "\t\t* * * * * * * * * * * * * * * * * * * * * * * * *\n" );
	printf( "\t\t\t请选择[0-7]:" );
	
	while( 1 )
	{		
	    scanf("%1s",&c2);
	    if( c2=='1')
		{
	        system( "CLS" );
	        printf( "1.查询给定库存的书籍信息。\n" );
	        chaxun1();
	    	getchar();        
	       	printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}
	
		else if( c2=='2')
		{
			system( "CLS" );
			printf( "2.查询大于或小于给定库存的书籍信息。\n" );													
			chaxun2();
	    	getchar();																	
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}	
		
		else if( c2=='3')
		{
			system( "CLS" );
			printf( "3.查询大于或小于给定价格的书籍信息。\n" );	
			chaxun3();
	    	getchar();																													
			printf( "\n\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}
			
		else if( c2=='4')
		{
			system( "CLS" );
			printf( "4.查询大于或小于给定出版时间的书籍信息。\n" );													
			chaxun4();
	    	getchar();																
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}
	
		else if( c2=='5')
		{
			system( "CLS" );
			printf( "5.查询给定数值段中库存最值的书籍信息。\n" );													
			chaxun5();
	    	getchar();																	
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}
			
		else if( c2=='6')
		{
			system( "CLS" );
			printf( "6.查询给定书名的书籍信息。\n" );													
			chaxun6();
	    	getchar();																	
			printf("\n\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}
			
		else if( c2=='7')
		{
			system( "CLS" );
			printf( "7.查询所有最值的书籍信息。\n" );													
			chaxun7();
	    	getchar();																
			printf("\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu2();
		}
					
	    else if( c2=='0')
		{
		    memu();
		}
		
	   	else 
		   printf("\n\t\t\t输入有误!请重新输入:");
	}     
}

void memu3()                 /*3.书籍库存排序菜单的函数*/      
{
	char c3;
	system( "CLS" );
	printf( "\n\t\t* * * * * * * * *<书籍库存排序菜单> * * * * * * *\n");
    printf( "\t\t*\t\t\t\t\t\t*\n" );
	printf( "\t\t*\t1.根据库存对书籍内容进行输出.\t\t*\n\t\t*\t\t\t\t\t\t*\n" );
	printf( "\t\t*\t2.根据价格对书籍内容进行输出.\t\t*\n\t\t*\t\t\t\t\t\t*\n" );			
	printf( "\t\t*\t3.根据出版时间对书籍内容进行输出.\t*\n\t\t*\t\t\t\t\t\t*\n" );
	printf( "\t\t*\t4.按照库存、价格组合进行排序输出.\t*\n\t\t*\t\t\t\t\t\t*\n" );	
	printf( "\t\t*\t0.返回上级菜单.\t\t\t\t*\n" );
	printf( "\t\t* * * * * * * * * * * * * * * * * * * * * * * * *\n" );
	printf( "\t\t\t请选择[0-4]:" );	

	while( 1 )
	{
	    scanf("%1s",&c3);
	    if( c3=='1')
		{
	        system( "CLS" );
	        printf( "1.根据库存对书籍内容进行排序输出。\n" );
			paixu1();
			getchar();
	       	printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu3();
		}
	
		else if( c3=='2')
		{
			system( "CLS" );
			printf( "2.根据价格对书籍内容进行排序输出。\n" );													
			paixu5();
			getchar();															
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu3();
		}	
		
		else if( c3=='3')
		{
			system( "CLS" );
			printf( "3.根据出版时间对书籍内容进行排序输出。\n" );													
			paixu6();
			getchar();														
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu3();
		}	
		
		else if( c3=='4')
		{
			system( "CLS" );
			printf( "4.按照库存、价格组合进行排序输出。\n" );													
			paixu4();
			getchar();														
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu3();
		}
					
	    else if( c3=='0')
		{
		    memu();
		}
			
	   	else 
		   printf("\n\t\t\t输入有误!请重新输入:");
    }     
}
 			
void memu()                 /*书籍信息管理系统菜单的函数*/      
{
	char c;
	system( "CLS" );
	printf( "\n* * * * * * * * * * * * * * <书籍信息管理系统> * * * * * * * * * * * * * * * *\n");
    printf( "\t\t*\t\t\t\t\t*\n" );
	printf( "\t\t*\t1.书籍信息管理.\t\t\t*\n\t\t*\t\t\t\t\t*\n" );
	printf( "\t\t*\t2.书籍库存条件查询.\t\t*\n\t\t*\t\t\t\t\t*\n" );			
	printf( "\t\t*\t3.书籍库存排序.\t\t\t*\n\t\t*\t\t\t\t\t*\n" );
	printf( "\t\t*\t4.保存文件.\t\t\t*\n\t\t*\t\t\t\t\t*\n" );
	printf( "\t\t*\t5.读取文件.\t\t\t*\n\t\t*\t\t\t\t\t* 曾  欢\n" );
	printf( "\t\t*\ta.制作小组资料.\t\t\t* 子  迎\n\t\t*\t\t\t\t\t* 图  使\n" );
    printf( "\t\t*\tb.帮助.\t\t\t\t*     用\n\t\t*\t\t\t\t\t* 作\n" );
	printf( "\t\t*\t0.退 出 系 统.\t\t\t* 制\n" );
	printf( "\t\t* * * * * * * * * * * * * * * * * * * * *\n" );
	printf( "\t\t\t请选择[0-9]:" );	

	while( 1 )
	{
	    scanf("%1s",&c);
	    if( c=='1')
		{
	    	memu1();
		}
		
		else if( c=='2')
		{
	    	memu2();
		}	
		
		else if( c=='3')
		{
	    	memu3();
		}	
		
		else if( c=='4')
		{
			system( "CLS" );
			printf( "4.把输入的学生信息保存到一个文件中\n" );
			bao();	
			getchar();																										
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu();
		}	
		
		else if( c=='5')
		{
			system( "CLS" );
			printf( "5.读取文件中保存的学生信息\n" );
			du();																								
	    	getchar();
	    	memu();
		}	
	
		else if( c=='a')
		{
			system( "CLS" );
			printf( "\t制作人员资料\n\n" );
			printf( "\t网名:曾子图\n" );
			printf( "\tQQ:179483458\n" );
			printf( "\t学号:2337\n" );			
			printf( "\t指导老师:袁宜英,张禅\n" );
			printf( "\n\t\t\t\t2007年12月28日\n" );													
			getchar();															
			printf( "\n\t按回车键返回上级菜单......" );
	    	getchar();
	    	memu();
		}
	
		else if( c=='b')
		{
			system( "CLS" );
			printf( "\n帮助:\n" );
			printf( "按提示键盘敲入数字0-9选择进入操作。\n" );
			printf( "请慎重操作或在老师指导下操作。\n" );												
			getchar();															
			printf( "\n按回车键返回上级菜单......" );
	    	getchar();
	    	memu();
		}
				
	    else if( c=='0')
		{
			printf("\n\t\t\t按1保存,按0确定退出:" );
			while( 1 )
			{										
				char c3;
				scanf("%1s",&c3);
				if( c3=='1')
				{
					bao();
					getchar();																										
					printf( "\n\t\t\t按回车键返回......" );
	    			getchar();
	    			memu();	
				}		
				else exit(0);
			}           		
		}
	        
	   	else 
		   printf("\n\t\t\t输入有误!请重新输入:");
    }       
}

main()
{
	memu();
	getchar();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -