C语言程序设计课程设计(服装销售管理系统)

这是一篇关于C语言程序设计的课程设计,作者在完成C语言学习后,运用所学知识实现了《服装销售管理系统》。这个系统旨在将课堂理论付诸实践,通过实际项目提升技能。作者曾开发过图书管理系统,本次选择服装管理来探索更多新内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言程序设计(课程设计)

《服装销售管理系统》

在大一学习完学校要求的C语言程序设计的课程设计之后,在学期末有着一个课程设计,就是在练习之前课上的理论知识之后,将上课学习到的这些付诸实践,完成一个数据信息管理系统。由于之前粗略使用C写过图书管理系统,所以这次选择了服装管理系统,用来接触一些较新的东西。

#include<stdio.h>
#include<stdlib.h>
#include<string.h> 
#include <windows.h>
#define KEY 0x86

typedef struct Adm* List1;
typedef struct Clo* List2;
typedef struct Vip* List3;
struct Adm//管理员信息包括  名字  密码 
{
	char nam[20],password[20];
	struct Adm* next;
};
struct Clo//服装信息包括   品牌 名字 编号 尺寸 颜色 价格 总数 
{
	char brand[20],nam[20],size[20],color[20];
	float price;
	int amount,num;
	struct Clo* next;
};
struct Vip//会员信息包括    姓名 电话 积分 
{
	char nam[20],phone[20];
	float score; 
	int num;          //会员号自动分配 
	struct Vip* next;
};
void enter0();                      //登陆界面 
void Vis_window();                  //游客界面 
void Adm_enter();                   //管理员录入
void Adm_change();                  //管理员修改  
void Adm_load();                    //管理员登录 1  
void Adm_manage();                  //管理员管理界面 2                
void Clo_manage();                  //服装管理界面 3 
void Clo_add();                     //服装添加 
void Clo_find();                    //服装信息查询 
void Clo_finding();                 //当前条件下深度查询 
void Clo_change();                  //服装信息改变  
int Clo_stat();                     //服装种类数目统计 
void Vip_manage();                  //会员管理界面 4                
void Vip_enter();                   //会员信息录入
int Vip_stat();                     //会员数统计 
void Vip_find();                    //会员信息查询
void Vip_finding();                 //当前条件下深查 
void Sale_system();                 //销售系统管理界面 5 
void Sale_list();                   //所有服装显示 
void Sale_window();                 //销售窗口 
int Sale_stat();                    //销售服装种类数 
void Use_history();                 //使用记录 
void Data_sort();                   //本次销售排序 

void Pro_bar()///进度条程序 
{
	system("cls");
	char arr[50] = {'\0'};
	const char *p = "|/-\\";
	memset(arr,0,sizeof(arr));
	int n = 50,i = 0;
	while(i<=n)
	{
		arr[i]= '=';
		printf("\t\t\t\t[%-50s][%d%%][%c]\r",arr,i*2,p[i%4]);
		fflush(stdout);
		i++;
		usleep(20000);
    }
	printf("\n");
}
void Mas_int()///关于 
{
	MessageBox(NULL, TEXT("名称:服装销售系统\n学校:****大学\n作者:****"), TEXT("关于"), MB_OK);
 } 
void enter()///进入界面 
{
	Pro_bar();
	system("cls");
	int x0;
	char name[20];
	printf("\t\t\t\t  ***************程序主界面*****************\n");
	printf("\n");
	printf("\t\t\t\t  ******************************************\n");
	printf("\n");
	printf("\t\t\t\t  ********     1.管理员界面@_@   ***********\n");
	printf("\n");
	printf("\t\t\t\t  ********      2.游客界面@_@    ***********\n");
	printf("\n");
	printf("\t\t\t\t  ********     3.退出该程序@_@   ***********\n");
	printf("\n");
	printf("\t\t\t\t  ******************************** 0.关于 **\n");
	printf("\n");
	printf("\t\t\t\t  ******************************************\n");
	printf("\t\t\t\t  ") ;
	scanf("%d",&x0);
	switch (x0)
	{
		case 0:
			Mas_int(); 
			enter();
			break;
		case 1:
			enter0();
			break;
		case 2:
			Vis_window();
			break;
		case 3:
			Pro_bar(); 
			system("cls");
			exit(0);
			break;
		default :
		    printf("\t\t\t\t  未被定义,按任意键返回当前\n") ;
		    getch();
			system("cls"); 
			enter();
    }
} 
void Vis_window()///游客进入窗口 
{
	system("cls");
	int x0;
	char name[20];
	printf("\t\t\t\t  ****************游客界面******************\n");
	printf("\n");
	printf("\t\t\t\t  ******************************************\n");
	printf("\n");
	printf("\t\t\t\t  *********     1.服装查找@_@    ***********\n");
	printf("\n");
	printf("\t\t\t\t  *********     2.服装购买@_@    ***********\n");
	printf("\n"); 
	printf("\t\t\t\t  *********     3.返回上层@_@    ***********\n");
	printf("\n"); 
	printf("\t\t\t\t  ******************************************\n");
	printf("\t\t\t\t  ") ;
	scanf("%d",&x0);
	switch (x0)
	{
		case 1:
			Clo_find(x0);
			break;
		case 2:
			Sale_window();
			break;
		case 3:
			enter(); 
			break;
		default :
		    printf("\t\t\t\t  未被定义,按任意键返回上层\n") ;
		    getch();
			system("cls"); 
			enter();
	}
}
void enter0()///第一界面   登录界面 
{
	system("cls");
	int x0;
	char name[20];
	printf("\t\t\t\t  **************管理员主界面****************\n");
	printf("\n");
	printf("\t\t\t\t  ******************************************\n");
	printf("\n");
	printf("\t\t\t\t  ********     1.添加管理员@_@   ***********\n");
	printf("\n");
	printf("\t\t\t\t  ********     2.管理员修改@_@   ***********\n");
	printf("\n");
	printf("\t\t\t\t  ********     3.管理员登录@_@   ***********\n");
	printf("\n");
	printf("\t\t\t\t  ********     4.返回上一层@_@   ***********\n");
	printf("\n");
	printf("\t\t\t\t  ******************************************\n");
	printf("\t\t\t\t  ") ;
	scanf("%d",&x0);
	switch (x0)
	{
		case 1:
			Adm_enter();
			break;
		case 2:
			Adm_change();
			break;
		case 3:
			Adm_load();
			break;
		case 4:
			enter(); 
			break;
		default :
		    printf("\t\t\t\t  未被定义,按任意键返回上层\n") ;
		    getch();
			system("cls"); 
			enter0();
	}
}
void Adm_enter()///管理员录入 
{
	system("cls");
	FILE *fp;
	int i,j=0,m;
	char nam[20],nam0[20],psword[20],psword0[20];
	fp = fopen("Adm_list.txt","r");
	if(fp == NULL)
	{
		j=1;
		fp = fopen("Adm_list.txt","a");
	} 
	fclose(fp);
	printf("\t\t\t\t  输入管理员名:");
	scanf("%s",nam);
	if(j==0);
	{
		fp = fopen("Adm_list.txt","r");
		while(!feof(fp))
		{
			fscanf(fp," %s %s\n",nam0,psword0);
			{
				if (!strcmp(nam0,nam))
				{
					printf("\t\t\t\t  已存在该管理员,无需重复录入!\n");
					printf("\t\t\t\t  任意键返回上层!");
					getch();
					fclose(fp);
					enter0(); 
				}
			}
		}
	}
	fp = fopen("Adm_list.txt","a");
	printf("\t\t\t\t  输入密码:"); 
	for(i=0; ;i++)
	{
		m=0;
		psword0[i]=getch();
		if(psword0[i]=='\r')
		{
			psword0[i]='\0';
			break;
		}
		if(psword0[i]=='\b')
		{
			m=1;
			psword0[i]='\0';
			psword0[i-1]='\0';
			i = i-2;
			printf("\b \b");
		}
		if(m==0) printf("*");
	}
	printf("\n\t\t\t\t  请再次输入密码:");
	for(i=0; ;i++)
	{
		m=0;
		psword[i]=getch();
		if(psword[i]=='\r')
		{
			psword[i]='\0';
			break;
		}
		if(psword[i]=='\b')
		{
			m=1;
			psword[i]='\0';
			psword[i-1]='\0';
			i = i-2;
			printf("\b \b");
		}
		if(m==0) printf("*");
	}
	if(!strcmp(psword0,psword))
	{
		for (i=0;i<strlen(psword);i++)
		{
			psword0[i] = psword[i]^KEY;
			
		}
		fprintf(fp," %s %s\n",nam,psword0);
		printf("\n\t\t\t\t  录入成功,任意键返回上层!");
	}
	else
	{
		printf("\n\t\t\t\t  录入失败,密码不一致,任意键返回上层:");		
	}
	getch(); 
	fclose(fp);
	enter0(); 
}
void Adm_load()///管理员登录 
{
	system("cls");
	FILE *fp;
	char nam[20],nam0[20],psword[20],psword0[20];
	int flag = 0,i,j;
	fp = fopen("Adm_list.txt","r");
	if (fp == NULL)
	{
		printf("\t\t\t\t  尚未创建管理员,任意键创建并录入.");
		Adm_enter();
	 } 
	printf("\t\t\t\t  输入登录管理员名称:");
	scanf("%s",nam0);
	while(!feof(fp))
	{
		fscanf(fp, " %s %s\n",nam,psword);
		if (!strcmp(nam,nam0))
		{
			flag = 1;
			printf("\t\t\t\t  输入密码:");
			for(i=0; ;i++)
			{
				j=0;
				psword0[i]=getch();
				if(psword0[i]=='\r')
				{
					psword0[i]='\0';
					break;
				}
				i
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值