栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

大一 C语言课程设计(运动员管理系统)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大一 C语言课程设计(运动员管理系统)

运动员管理系统
      • 登录密码
      • 完整代码
      • 效果展示
      • 结语

登录密码

初始密码:123456 (可在main方法中自行修改)

完整代码
#include 
#include 
#include 
#define L sizeof(ID)
#define FORMAT "ttt%-12s%-15s%-60s"
#define DATA ids[i].name, ids[i].x, ids[i].score
int n;
int i = 0;
int j = 0;
int c;
int k;
FILE *p; //定义指向FILE类型文件的指针变量
char name[12];
typedef struct
{
	char name[12];	//姓名
	char x[15];		//号码与项目
	char score[60]; //成绩
} ID;				//声明新的类型名ID 代表上面结构体类型
ID ids[100];
void menu() //菜单
{
	system("cls");
	printf("nnn");
	printf("ttttttttt|----------------------------------------------|n");
	printf("ttttttttt|                                              |n");
	printf("ttttttttt|                 运动员信息                   |n");
	printf("ttttttttt|                                              |n");
	printf("ttttttttt|     1.录入运动员信息     2.查询运动员信息    |n");
	printf("ttttttttt|                                              |n");
	printf("ttttttttt|     3.修改运动员信息     4.删除运动员信息    |n");
	printf("ttttttttt|                                              |n");
	printf("ttttttttt|     5.显示全部运动员信息 0.退出系统          |n");
	printf("ttttttttt|                                              |n");
	printf("ttttttttt|----------------------------------------------|n");
	printf("tttttttttt请在(0—5)选择要进行的操作!n"); //菜单的主页面
}

void all() //全部运动员信息展示
{
	system("cls"); //清屏
	printf("nnnn");
	p = fopen("data.txt", "rb"); //打开文件并将fopen函数的返回值赋给指针变量p
	j = 0;
	while (!feof(p))					  //判断p指向的文件是否结束
		if (fread(&ids[j], L, 1, p) == 1) //将p指向的文件中读入结构体数组ids的一个元素 每次读入一个 则读入成功 其返回值为1
			j++;						  //每读一个 j就加1
	fclose(p);							  //把p指向的文件关闭 以后p不再指向该文件
	if (j == 0)
	{
		printf("tttt目前没有运动员信息nttt");
		system("pause");
		return;
	}
	printf("ttt姓名        号码与成绩     成绩n");
	for (i = 0; i < j; i++) //输出运动员信息
	{
		printf(FORMAT, DATA);
		printf("n");
	}
	printf("ttt输入任意键返回主界面nt");
	system("pause");
}

void input()
{
	system("cls"); //清屏
	printf("nnn");
	if ((p = fopen("data.txt", "a+")) == NULL) //打开文件,先检查是否有错,有错则输出无法打开文件
	{
		printf("ttttt无法打开文件nttttt");
		system("pause");
		return;
	}
	while (!feof(p)) //判断p指向的文件是否结束
	{
		if (fread(&ids[j], L, 1, p) == 1) //将p指向的文件中读入结构体数组ids的一个元素 每次读入一个 则读入成功 其返回值为1
			j++;
	}
	fclose(p); //把p指向的文件关闭 以后p不再指向该文件
	if (j == 0)
		printf("ttttt目前没有运动员n");
	else
	{
		system("cls"); //清屏
		printf("nnnn");
		all();
	}
	if ((p = fopen("data.txt", "wb")) == NULL) //打开文件,先检查是否有错,有错则输出无法打开文件,p指向该文件
	{
		printf("ttttt文件无法打开nttttt");
		system("pause");
		return;
	}
	for (i = 0; i < j; i++) //建立运动员信息
		fwrite(&ids[i], L, 1, p);
	printf("ttttt输入1开始建立运动员信息 输入0结束nttttt");
	scanf("%d", &c);
	while (c)
	{
		printf("ttttt输入运动员姓名nttttt");
		scanf("%s", &ids[j].name);
		for (i = 0; i < j; i++)
			if (strcmp(ids[j].name, ids[i].name) == 0)
			{
				printf("ttttt该运动员已存在nttttt");
				system("pause");
				fclose(p);
				return;
			}
		printf("ttttt运动员号码与项目:nttttt");
		scanf("%s", &ids[j].x);
		printf("ttttt运动员的成绩:nttttt");
		scanf("%s", &ids[j].score);
		if (fwrite(&ids[j], L, 1, p) != 1)
		{
			printf("ttttt写入失败nttttt");
			system("pause");
			return;
		}
		else
		{
			printf("ttttt运动员信息 %s 写入成功n", &ids[j].name);
			j++;
		}
		printf("ttttt是否继续输入?输入1继续 输入0结束nttttt");
		scanf("%d", &c);
	}
	fclose(p);
	printf("ttttt已关闭文件n");
	printf("ttttt任意键返回主界面nttttt");
	system("pause");
}
void search()
{
	system("cls");
	printf("nnnn");
	if ((p = fopen("data.txt", "rb")) == NULL)
	{
		printf("ttttt打开文件失败nttttt");
		system("pause");
		return;
	}
	while (!feof(p))
		if (fread(&ids[j], L, 1, p) == 1)
			j++;
	fclose(p);
	if (j == 0)
	{
		printf("ttttt目前没有运动员信息nttttt");
		system("pause");
		return;
	}
	printf("ttttt请输入要查找的运动员姓名nttttt");
	scanf("%s", name);
	for (i = 0; i < j; i++)
		if (strcmp(ids[i].name, name) == 0)
		{
			printf("ttttt已找到运动员n");
			printf("ttttt是否显示此运动员? 输入1显示 输入0不显示nttttt");
			scanf("%d", &c);
			if (c)
			{
				printf("ttt姓名        号码与项目     成绩tttttn");
				printf(FORMAT, DATA);
			}
			break;
		}
	if (i == j)
		printf("ttttt未查询到该运动员n");
	printf("ttttt任意键返回主页面nttttt");
	system("pause");
}
void updata()
{
	system("cls");
	printf("nnnn");
	if ((p = fopen("data.txt", "rb")) == NULL)
	{
		printf("ttttt无法打开文件nttttt");
		system("pause");
		return;
	}
	while (!feof(p))
	{
		if (fread(&ids[j], L, 1, p) == 1)
			j++;
	}
	if (j == 0)
	{
		printf("ttttt目前还没有运动员n");
		fclose(p);
		return;
	}
	fclose(p);
	all();
	printf("ttttt输入你想修改的运动员信息n");
	printf("ttttt姓名:");
	scanf("%s", name);
	for (i = 0; i < j; i++)
	{
		if (strcmp(name, ids[i].name) == 0)
		{
			printf("ttttt已找到该运动员,请修改n");
			printf("ttttt姓名:");
			scanf("%s", &ids[i].name);
			printf("ttttt号码与项目:");
			scanf("%s", &ids[i].x);
			printf("ttttt成绩:");
			scanf("%s", &ids[i].score);
			fopen("data.txt", "wb");
			for (c = 0; c < j; c++)
				if (fwrite(&ids[c], L, 1, p) != 1)
				{
					printf("ttttt没有成功保存n");
					system("pause");
					return;
				}
			printf("ttttt运动员 %s 的信息修改成功n", name);
			fclose(p);
			break;
		}
	}
	if (i == j)
		printf("ttttt没有找到该运动员n");
	printf("ttttt输入任意键返回主界面nttttt");
	system("pause");
}
void dlt()
{
	system("cls");
	printf("nnnn");

	if ((p = fopen("data.txt", "r+")) == NULL)
	{
		printf("ttttt目前没有文件nttttt");
		system("pause");
		return;
	}
	j = 0;
	while (!feof(p))
	{
		if (fread(&ids[j], L, 1, p) == 1)
		{
			j++;
		}
	}
	fclose(p);
	if (j == 0)
	{
		printf("ttttt目前没有运动员信息nttttt");
		system("pause");
		return;
	}
	printf("ttttt输入你想删除的运动员姓名: ");
	scanf("%s", name);
	for (i = 0; i < j; i++)
	{
		if (strcmp(name, ids[i].name) == 0)
		{
			printf("ttttt已找到该运动员,是否删除 1 确定 0 取消n");
			printf("ttt姓名        号码与项目     成绩tttttn");
			printf(FORMAT, DATA);
			printf("nttt");
			scanf("%d", &k);
			if (k)
			{
				for (n = i; n < j; n++)
				{
					ids[n] = ids[n + 1];
				}
				j -= 1;
			}
			break;
		}
	}
	fopen("data.txt", "wb");
	for (i = 0; i < j; i++)
	{
		if (fwrite(&ids[i], L, 1, p) != 1)
		{
			printf("ttttt没有修改成功n");
			system("pause");
			return;
		}
	}
	printf("ttttt运动员 %s 的信息删除成功n", name);
	fclose(p);
	printf("ttttt输入任意键返回主界面nttttt");
	system("pause");
}
main()
{
	char s[20];
	printf("nnnnnnnnnnnntttttt请输入密码以进入系统:");
	scanf("%s", s);
	if (strcmp(s, "123456") == 0)	//密码
	{

		void menu();
		void input();
		void search();
		void updata();
		void dlt();
		void all();
	repeat:
		menu();
		scanf("%d", &n);
		while (n)
		{
			switch (n)
			{
			case 1:
				input();
				break;
			case 2:
				search();
				break;
			case 3:
				updata();
				break;
			case 4:
				dlt();
				break;
			case 5:
				all();
				break;
			}
			goto repeat;
		}
	}
	else
		printf("密码输入错误!系统已关闭!");
	return 0;
}
效果展示

运行环境:VS Code

  1. 输入密码

  2. 成功进入

  3. 录入运动员信息

  4. 查询运动员信息

  5. 修改运动员信息

  6. 删除运动员信息

  7. 显示全部运动员信息

  8. 退出系统

结语

都看到这了,点个赞再走呗~嘻嘻

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号