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

链表实现学生系统写入和查询

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

链表实现学生系统写入和查询

#include 
#include 
#include 

struct Student* CreateList();
void InsertElement(struct Student*List);
void Search_Stu(struct Student* HEAD, char name[10], long long int ID);

struct Student
{
	char name[10];
	long long int Student_ID;
	int grade;
	int level;
	struct Student* last;
	struct Student* next;

};


int main()
{
	char ch;
	struct Student* Head_List = CreateList();
	printf("****************************n");
	printf("*                          *n");
	printf("*         欢迎访问         *n");
	printf("*                          *n");
	printf("****************************n");
	printf("请根据提示完成n");
	printf("选择模式(添加学生+)(移除学生-)(搜索学生s)n");
	while ((ch=getchar())!=0)
	{	
		if (ch == '+')
		{
			InsertElement(Head_List);
		}
		else if (ch == '-')
		{
			
		}
		else if (ch == 's')
		{
			char name[10];long long int Student_ID;
			int tmp;
			printf("请选择姓名查询OR学号查询?(1/2)n");
			scanf("%d", &tmp);
			if (tmp == 1)
			{
				printf("请输入姓名:n");
				scanf("%s", name);
				Search_Stu(Head_List,name,0);
			}
			else if (tmp == 2)
			{
				printf("请输入学号:n");
				scanf("%lld", &Student_ID);
				Search_Stu(Head_List, " ", Student_ID);
			}
			
		}
	}

	free(Head_List);

	return 0;
}

struct Student* CreateList()
{
	struct Student* List=(struct Student*)malloc(sizeof(struct Student));
	List->next = NULL;
	return List;
}

void InsertElement(struct Student* Head)
{
	while (Head->next)
	{
		Head = Head->next;
	}
	struct Student* Body_List = (struct Student*)malloc(sizeof(struct Student));
	printf("input(name、id、grade、level):");
	scanf("%s%lld%d%d", Head->name, &(Head->Student_ID), &(Head->grade), &(Head->level));
	Head->last = NULL;
	Head->next = Body_List;
	Body_List->last = Head;
	Body_List->next = NULL;
	Head = Body_List;
	

}
void Search_Stu(struct Student* HEAD, char name[10], long long int ID)
{
	while (HEAD)
	{
		if (strcmp(HEAD->name, name) == 0 || HEAD->Student_ID == ID)
		{
			printf("name:%20s  id:%15lld  grade:%5d  level:%5d n", HEAD->name, HEAD->Student_ID, HEAD->grade, HEAD->level);
			
		}
		HEAD = HEAD->next;
	}

}

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

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

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