9.19 数据结构作业4

作业:当前代码基础上实现学生管理系统。
#include<myhead.h>
#include"1.h"

int main(int argc, char* argv[])
{
	Plist L=create_list();
	int ch;
	while(1){
		printf("\t————————学生管理系统————————\n");
		printf("\t1、 输入学生信息\n");
		printf("\t2、 输出学生信息\n");
		printf("\t3、 学生信息插入任意位置\n");
		printf("\t4、 删除任意位置学生信息\n");
		printf("\t5、 查找任意位置学生信息\n");
		printf("\t6、 修改任意位置学生信息\n");
		printf("\t7、 表头插入学生信息\n");
		printf("\t8、 表尾插入学生信息\n");
		printf("\t9、 表头删除学生信息\n");
		printf("\t10、表尾删除学生信息\n");
		printf("\t11、去除重复学生信息\n");
		printf("\t12、按照姓名查找\n");
		printf("\t0、 退出系统\n");
		printf("请输入你的选择:");
		scanf("%d",&ch);
		switch(ch){
		case 1: input(L);
			break;
		case 2: output(L);
			break;
		case 3:
			printf("请输入需要插入的学生信息:\n");
			stu a;
			printf("请输入学号:");
			scanf("%d",&a.id);				
			printf("请输入姓名:");
			scanf("%s",a.name);
			printf("请输入专业:");
			scanf("%s",a.major;
			printf("请输入年龄:");
			scanf("%d",&a.age);
			printf("请输入需要插入的位置:");
			int pos1;
			scanf("%d",&pos1);
			insert(L,pos1,a);
			break;
		case 4:
			printf("请输入需要删除的位置:");
			int pos2;
			scanf("%d",&pos2);
			delete_list(L,pos2);
			break;
		case 5:
			printf("请输入需要查找的位置");
			int pos3;
			scanf("%d",&pos3);
			find_stu(L,pos3);
			break;
		case 6:
			printf("请输入需要修改的学生信息:\n");
			stu b;
			printf("请输入学号:");
			scanf("%d",&b.id);				
			printf("请输入姓名:");
			scanf("%s",b.name);
			printf("请输入专业:");
			scanf("%s",b.major);
			printf("请输入年龄:");
			scanf("%d",&b.age);
			printf("请输入需要修改的位置:");
			int pos4;
			scanf("%d",&pos4);
			change_stu(L,pos4,b);
			break;
		case 7:
			printf("请输入需要表头插入的学生信息:\n");
			stu c;
			printf("请输入学号:");
			scanf("%d",&c.id);				
			printf("请输入姓名:");
			scanf("%s",c.name);
			printf("请输入专业:");
			scanf("%s",c.major);
			printf("请输入年龄:");
			scanf("%d",&c.age);
			insert_front(L,c);
			break;
		case 8:
			printf("请输入需要表尾插入的学生信息:\n");
			stu d;
			printf("请输入学号:");
			scanf("%d",&d.id);				
			printf("请输入姓名:");
			scanf("%s",d.name);
			printf("请输入专业:");
			scanf("%s",d.major);
			printf("请输入年龄:");
			scanf("%d",&d.age);
			insert_rear(L,d);
			break;
		case 9: delete_front(L);
			break;
		case 10: delete_rear(L);
			break;
		case 11: delete_repeat(L);
			break;
		case 12:
			printf("请输入需要查找的姓名:");
			char key[20];
			scanf("%s",key);
			find_stu_all(L,key);
			break;
		case 0:
			printf("感谢您的使用!\n");
			free(L);
			L=NULL;
			return 0;
		}
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值