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

📄 guanlixit.txt

📁 该商品管理系统具有查询记录和删除商品的功能
💻 TXT
字号:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#define zd 1000
struct   food //定义一个结构体
{
	char           num[20] ;   //编号     
	char           name[30];  //名称
	char            amount[30]; //数量
	char          price[20] ; //价格
	char             type[30];  //种类
	double          date[50];   //日期
	char        produce[30];   //产地
 };
typedef struct food FOOD;      
FOOD JiLu[zd];
int totalnum=0;
void mainmenu()  //主菜单界面
{   system("color 2a");
	printf("*************************************************************************\n\n\n");
	printf("***********************欢迎进入消费信息管理系统**************************\n\n\n");
	printf("***************************************************************************\n\n");
	printf("************         1:录入信息       2:修改信息          *************\n\n\n\n");     
	printf("************         3:删除信息       4:查询信息          *************\n\n\n");
	printf("************         5:保存信息       6:读取信息          *************\n\n\n");
	printf("*****                        0:退出系统                    ******\n\n");
	printf("**************************************************************************\n\n");
	printf("                            请输入一个功能编号:");
}
void Record (FOOD  *pp  ) //记录原始商品信息
{  
	 
	system("color 9d");
	printf("请输入商品编号:\n");gets(pp->num);
	printf("请输入商品名称:\n");gets(pp->name);
	printf("请输入商品数量(件):\n");gets(pp->amount);
    printf("请输入商品单价(元):\n");gets(pp->price);
	printf("请输入商品种类:\n");gets(pp->type);
	printf("请输入商品生产日期(nnnn-yy-rr):\n");gets(pp->date);
	printf("请输入商品产地:\n");gets(pp->produce);
	  
}
void print(int index)                            
{
	if(index>=0&&index<zd)
	{	
		printf("     \n");
		printf("      商品编号:%-15s\n",JiLu[index].num );
		getchar();
		printf("      商品名称:%-15s\n",JiLu[index].name);
		printf("      商品数量:%-15s\n",JiLu[index].amount);
		printf("      商品单价:%-15s\n",JiLu[index].price);
		printf("      商品种类:%-15s\n",JiLu[index].type);
		printf("      商品生产日期:%-15s\n",JiLu[index].date);
		printf("      商品产地:%-15s\n",JiLu[index].produce);
		printf("     \n");
	}	
}
void Recordxinxi() // 记录信息函数
{
	system("cls");
   	printf("***************************************************************************\n");
	if(totalnum<zd-1)
	{
		printf("         请输入商品信息:\n");
		Record(&(JiLu[totalnum]));
		totalnum++;
        system("cls");
	 }
	else
	{
		printf("               信息已满!!!\n ");
	}
    
	system("cls");
	printf("****************************************************************************\n\n\n");
}
int Revisexinxi()  //信息修改函数                 
{
	char num[20],name[30],op;
	FOOD pp;
	int i; 
    system("cls");
	system("color 0c");
	printf("**********************************************************************\n");
	printf("请在下面输入要修改商品的信息\n\n");
	printf("         编号:"); 
	scanf("%s",num);
	printf("         名称:");
	scanf("%s",name);
	printf("\n");
	for(i=0;i<zd;i++)
	{
		if(strcmp(num,JiLu[i].num)==0 && strcmp(name,JiLu[i].name)==0)
		{
			printf("      下面的记录将要被修改!\n\n");
			print(i);
			printf("       \n请输入修改后的记录值:\n\n");
            Record(&pp);
			
			printf("      是否确定修改此条记录(y/n)? \n "); 
            op=getch();
			if(op=='Y' || op=='y')
			{
				JiLu[i]=pp;
				printf("      信息已修改~!!!\n\n\n");
			}
			return 1;
		}
	}
	printf("          无此信息,输入有错!!!\n\n");
	return 0;
}
int Deletexinxi()    //信息删除函数           
{
	char num[20],name[30],op;
	int i,j;
	system("color 5d");
	printf("***********************************************************************\n");
	printf("请输入要删除的商品编号和名称\n");
	printf("           编号:"); 
	scanf("%s",num);
	printf("           名称:");
	scanf("%s",name);
	for(i=0;i<zd;i++)
	{
		if(strcmp(num,JiLu[i].num)==0 && strcmp(name,JiLu[i].name)==0)
		{
			printf("     下面的记录将要被删除\n");
			print(i);
			printf("      是否确定要删除这条记录(y/n)? ");
			printf("\n");
            op=getch();
			if(op=='Y' || op=='y')
			{
				for(j=i;j<totalnum-1;j++)
					JiLu[j]=JiLu[j+1];
				totalnum-=1;
			}
			printf("      信息已删除!!!\n\n ");
			return 1;
		}
	}
    printf("             无此信息,输入错误   !!!\n");
	return 0;
}
void Seekxinxi()      //信息查询函数
{
	int i;
	char opercode,info[20];
	system("color 12");
	printf("                商品信息查询\n\n\n");
	printf("            1.编号           2.名称 \n\n ");
	printf("            3.数量           4.剩余商品查询\n\n");
	opercode=getchar();     //getchar();   
	switch(opercode)
	{
		case '1':
			printf("输编号查询:");
			scanf("%s",info);
			for(i=0;i<zd;i++)
			{
				if(strcmp(info,JiLu[i].num)==0)
					print(i);
				
			}
			break;
		case '2':
			printf("输名称查询:");
			scanf("%s",info);
			for(i=0;i<zd;i++)
			{
				if(strcmp(info,JiLu[i].name)==0)
					print(i);
			}
			break;
		case '3':
			printf("输数量查询:");
			scanf("%s",info);
			for(i=0;i<zd;i++)
			{				if(strcmp(info,JiLu[i].amount)==0)
					print(i);
			}
			break;
		case '4':
			if(totalnum !=0 )
			{	printf("所有记录显示如下\n");
			    printf("*******************************************************\n");
			    for(i=0;i<totalnum;i++)
				{
				    print(i);
				}
			}
			else
				printf("\n当前无记录!\n\n\n");

			break;
		default:
			printf("\n输入错误,请检查!!!\n");
	}
}
 
int  Savexinxi()   //信息保存函数       
{
	char Savename[30];
	FILE *fp=0;
	system("color 1a");
	printf("*****************************************************************\n");
	printf("       请输入保存文件的文件名:\n");
	scanf("%s",Savename);
    fp=fopen(Savename,"wb");
	if(fp==NULL)
	{
		printf("不能保存文件:%s\n",Savename);
		return -1;
	}
	fwrite(&totalnum,sizeof(int),1,fp);
	fwrite(JiLu,sizeof(FOOD),totalnum,fp);
	fclose(fp);
	printf("注意:%5d记录已经被成功的写入文件:%s!!\n",totalnum,Savename);
	printf("*****************************************************************\n");
	return totalnum;
}
int Readxinxi() // 信息读取函数
{
	char Filename[30];
	FILE *fp=0;
	system("color 6b");
	printf("****************************************************************\n");
	printf("要读取文件,请输入一个包含完整路径的文件名:\n");
	scanf("%s",Filename);
    fp=fopen(Filename,"rb");
	if(fp==NULL)
	{
		printf("不能打开指定的文件:%s,或文件不存在!\n",Filename);
		return -1;
	}
	fread(&totalnum,sizeof(int),1,fp);
	fread(JiLu,sizeof(FOOD),totalnum,fp);
	fclose(fp);
	printf("注意:%5d记录已从文件%s中成功读取出来!!\n",totalnum,Filename);
	printf("*****************************************************************\n");
	return totalnum;
}
int ExitSystem()
{
	char ch;
	system("color 09");
	printf("你确定要退出系统吗(y/n)?");
	ch=getch();
    if(ch=='Y'||ch=='y')
		return 1;
	else
		return 0;
}
int main( )
{
    char choice;
	int opercode;
	do
	{
		mainmenu();
        choice=getchar();     getchar(); 
		printf("\n\n\n");
		switch(choice)
		{
			case'1':
			    Recordxinxi();
				break;
			case'2':
				Revisexinxi();
			    break;
			case'3':
				Deletexinxi();
			    break;
			case'4':
				Seekxinxi();
			    break;
			case'5':
				Savexinxi();
			    break;
			case'6':Readxinxi();
				break;
				
           case '0':
   opercode=ExitSystem();
   if(opercode==1)
{
 printf("\n系统已经退出!!!\n");
  exit(0);           
}
 else
 break;
			
			default:
				printf("\n\n错误的功能编号,请重新输入!!!\n");   			
		}
	}while(1);
	return 0;
}

⌨️ 快捷键说明

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