使用顺序表完成学生管理系统

实现功能:

.h文件

     1	#ifndef STUDENT_SYS
     2	#define STUDENT_SYS
     3	#include<myhead.h>
     4	
     5	#define MAX 100   // 顺序表最大容量
     6	typedef int datatype; //
     7	typedef struct            //学生信息结构体
     8	{
     9		char name[10];    //名字
    10		char sex[10];        //性别
    11		char id[10];      //学号
    12		int score;        //成绩
    13	}Student;
    14	
    15	typedef struct
    16	{
    17		Student list[MAX];   //存放顺序表的结构体数组
    18		int len;       //顺序表的长度
    19	}Student_list,*Student_listPtr;
    20	
    21	
    22	//定义顺序表的创建函数
    23	Student_listPtr list_create();
    24	
    25	//创建学生信息菜单
    26	void menu();
    27	
    28	//判空判满
    29	//创建好菜单之后,需要往菜单上添加数据
    30	//在添加数据之前,都要对表进行判空判满,才能添加数据
    31	
    32	int list_empty(Student_listPtr L);
    33	
    34	int list_full(Student_listPtr L);
    35	
    36	//添加数据
    37	int list_add(Student_listPtr L,int n);
    38	
    39	
    40	//遍历顺序表
    41	void list_show(Student_listPtr L);
    42	
    43	//3:输出最高最低成绩信息
    44	int list_amx_min(Student_listPtr L);
    45	
    46	//4:输出学生总成绩和平均成绩
    47	int list_sum_avg(Student_listPtr L);
    48	
    49	//5:升序降序输出
    50	int list_sort(Student_listPtr L);
    51	
    52	
    53	
    54	//6:查找学生是否存在
    55	int list_search(Student_listPtr L,char *c);
    56	
    57	//选择需要删除的信息函数
    58	void delete_xinxi();
    59	
    60	//7:修改学生信息
    61	int list_edit(Student_listPtr L,char *c);
    62	
    63	//8:删除学生信息
    64	int list_delete(Student_listPtr L,char *d);
    65	
    66	//9查找学生,并输出该学生的排名
    67	int list_student_pos(Student_listPtr L,char *c);
    68	
    69	//销毁函数
    70	void list_destroy(Student_listPtr L);
    71	
    72	#endif

.c文件

     1	#include"student_sys.h"
     2	Student_listPtr list_create()
     3	{
     4		//在堆区申请一个顺序表的大小空间
     5		Student_listPtr L=(Student_listPtr)malloc(sizeof(Student_list));
     6		if(NULL==L)
     7		{
     8			printf("创建失败\n");
     9			return NULL;
    10		}
    11	
    12		//程序执行至此,表示顺序表创建成功
    13		memset(L->list,0,sizeof(L->list));      //将数组初始化
    14		L->len = 0;           //顺序表长度为0
    15	
    16		//printf("创建成功\n"); //检测创建成功,在将这条语句给注释掉
    17		return L;
    18	}
    19	
    20	
    21	//创建学生信息菜单
    22	void menu()
    23	{
    24		printf("-------------------学生信息管理系统----------------------\n");
    25		printf("------------------输入1:录入学生信息---------------------\n");
    26		printf("------------------输入2:输出学生信息---------------------\n");
    27		printf("------------------输入3:输出最高最低成绩信息-------------\n");
    28		printf("------------------输入4:输出学生总成绩和平均成绩---------\n");
    29		printf("------------------输入5:按成绩升降序---------------------\n");
    30		printf("------------------输入6:查找某个学生信息,是否存在--------\n");
    31		printf("------------------输入7:修改学生信息---------------------\n");
    32		printf("------------------输入8:删除学生信息---------------------\n");
    33		printf("------------------输入9:查找某个学生的排名---------------\n");
    34		printf("------------------输入0:退出-----------------------------\n");
    35	}
    36	
    37	//判空判满
    38	int list_empty(Student_listPtr L)
    39	{
    40		return L->len==0;
    41	}
    42	
    43	int list_full(Student_listPtr L)
    44	{
    45		return L->len==MAX;
    46	}
    47	
    48	
    49	
    50	//添加数据
    51	
    52	//添加数据
    53	int list_add(Student_listPtr L,int n)//形参顺序表   n需要录入信息的人数
    54	{
    55		int i=1;
    56	    while(i<=n)
    57		{
    58	
    59		//判断空满
    60		if(NULL==L || list_full(L))
    61		{
    62			printf("人数已满,无法添加.\n");
    63			return -1;
    64		}
    65		
    66			printf("请输入第%d个学生姓名:",i);
    67			scanf("%s",L->list[L->len].name);
    68	
    69			printf("请输入第%d个学生性别:",i);
    70			scanf("%s",L->list[L->len].sex);
    71	
    72			printf("请输入第%d个学生学号:",i);
    73			scanf("%s",L->list[L->len].id);
    74	
    75			printf("请输入第%d个学生成绩:",i);
    76			scanf("%d",&L->list[L->len].score);
    77	
    78		//表长变化
    79		L->len++;
    80		printf("添加成功\n");
    81		i++;
    82		}
    83		return 0;
    84	}
    85	
    86	
    87	
    88	//遍历顺序表
    89	void list_show(Student_listPtr L)
    90	{
    91		//判断逻辑
    92		if(NULL==L || list_empty(L))
    93		{
    94			printf("遍历失败\n");
    95			return ;
    96		}
    97	
    98		//遍历
    99		printf("----------学生信息----------\n");
   100		printf("姓名\t性别\t学号\t成绩\n");
   101		for(int i=0;i<L->len;i++)
   102		{                                                                                 
   103			printf("%s\t%s\t%s\t%d\n",L->list[i].name,L->list[i].sex,L->list[i].id,L->list[i].score);
   104		}
   105	    printf("\n");
   106	}
   107	
   108	
   109	//3:输出最高最低成绩信息
   110	int list_amx_min(Student_listPtr L)
   111	{
   112		//判断逻辑
   113		if(NULL==L || list_empty(L))
   114		{
   115			printf("无学生信息,无法查找成绩信息.\n");
   116			return 0;
   117		}
   118		int max=L->list[0].score,i1=0;  //最大值   最大值下标
   119		int min=L->list[0].score,i2=0;  //最小值   最小值下标
   120		for(int i=0;i<L->len;i++)
   121		{
   122			if(max<L->list[i].score)
   123			{
   124				max=L->list[i].score;
   125				i1=i;
   126			}
   127			if(min>L->list[i].score)
   128			{
   129				min=L->list[i].score;
   130				i2=i;
   131			}
   132		}
   133		printf("---------最高成绩学生信息---------\n");
   134		printf("姓名\t性别\t学号\t成绩\n");
   135		printf("%s\t%s\t%s\t%d\n",L->list[i1].name,L->list[i1].sex,L->list[i1].id,L->list[i1].score);
   136	
   137		printf("\n");
   138		printf("---------最低成绩学生信息---------\n");
   139		printf("姓名\t性别\t学号\t成绩\n");
   140		printf("%s\t%s\t%s\t%d\n",L->list[i2].name,L->list[i2].sex,L->list[i2].id,L->list[i2].score);
   141		return 0;
   142	}
   143	
   144	
   145	
   146	//输出学生总成绩和平均成绩
   147	int list_sum_avg(Student_listPtr L)
   148	{
   149		//判断逻辑
   150		if(NULL==L || list_empty(L))
   151		{
   152			printf("无学生信息,无法统计成绩.\n");
   153			return 0;
   154		}
   155		
   156		//成绩总和
   157		int sum=0;
   158		for(int i=0;i<L->len;i++)
   159		{
   160			sum+=L->list[i].score;
   161		}
   162	
   163		printf("班级一共有%d人,总成绩为%d,平均分为%.2f\n",L->len,sum,(float)sum/L->len);
   164	
   165	}
   166	
   167	
   168	
   169	//5:升序降序输出
   170	int list_sort(Student_listPtr L)
   171	{
   172		//判断逻辑
   173		if(NULL==L || list_empty(L))
   174		{
   175			printf("排序失败\n");
   176			return -1;
   177		}
   178		//冒泡排序
   179		for(int i=1;i<L->len;i++)
   180		{
   181			for(int j=0;j<L->len-i;j++)
   182			{
   183				if(L->list[j].score < L->list[j+1].score)
   184				{                                  
   185					Student temp=L->list[j];
   186					L->list[j] = L->list[j+1];
   187					L->list[j+1]=temp;
   188	
   189				}                //从大到小排序
   190			}
   191	
   192		}
   193	
   194		int b=0;
   195		printf("请输入>>>");
   196		scanf("%d",&b);
   197		if(b==1)         //判断需要升序还是降序
   198		{
   199		list_show(L);   //降序   //调用遍历输出函数
   200		}
   201		else if(b==2)
   202		{
   203			for(int i=L->len-1;i>=0;i--)
   204			{			
   205			printf("%s\t%s\t%s\t%d\n",L->list[i].name,L->list[i].sex,L->list[i].id,L->list[i].score);//升序
   206			}
   207		}
   208		else
   209		{
   210			printf("输出错误\n");
   211		}
   212		return 0;
   213	}
   214	
   215	
   216	//6:查找学生是否存在
   217	int list_search(Student_listPtr L,char *c)
   218	{
   219		//判断逻辑
   220		if(NULL==L || list_empty(L))
   221		{
   222			printf("查找失败\n");
   223			return -1;
   224		}
   225	
   226		//遍历整个顺序表
   227		for(int i=0;i<L->len;i++)
   228		{
   229			if(strcmp(L->list[i].name,c)==0)
   230			{			      
   231	
   232		    printf("姓名\t性别\t学号\t成绩\n");
   233			printf("%s\t%s\t%s\t%d\n",L->list[i].name,L->list[i].sex,L->list[i].id,L->list[i].score);//升序
   234			return 0;
   235			}
   236	
   237		}
   238		printf("没有这个学生\n");
   239		return -1;
   240	}
   241	
   242	//选择需要删除的信息
   243	void delete_xinxi()
   244	{
   245	printf("---------输入1:修改姓名---------\n");
   246	printf("---------输入2:修改性别---------\n");
   247	printf("---------输入3:修改学号---------\n");
   248	printf("---------输入4:修改成绩---------\n");
   249	}
   250	
   251	
   252	
   253	//7:修改学生信息
   254	int list_edit(Student_listPtr L,char *c)
   255	{
   256		//判断逻辑
   257		if(NULL==L || list_empty(L))
   258		{
   259			printf("无法修改\n");
   260			return -1;
   261		}
   262		
   263		int index=0;
   264		for(int i=0;i< L->len;i++)      //遍历找到需要修改的学生的位置
   265		{
   266			if(strcmp(L->list[i].name,c)==0)
   267			{
   268				index=i;
   269			}
   270		}
   271		delete_xinxi();
   272		int d=0;   //选择修改信息
   273		printf("请输入>>>");
   274		scanf("%d",&d);
   275		char stu[10]="";  //输入修改的名字或者性别或者学号
   276		int new_score=0;  //修改的成绩
   277		switch(d)
   278		{
   279			case 1:
   280				printf("输入正确的名字:");
   281				scanf("%s",stu);
   282				strcpy(L->list[index].name,stu);
   283				printf("修改成功\n");
   284				break;
   285			case 2:
   286				printf("输入正确的性别:");
   287				scanf("%s",stu);
   288				strcpy(L->list[index].sex,stu);
   289				printf("修改成功\n");
   290				break;
   291			case 3:
   292				printf("输入正确的学号:");
   293				scanf("%s",stu);
   294				strcpy(L->list[index].id,stu);
   295				printf("修改成功\n");
   296				break;
   297			case 4:
   298				printf("输入正确的成绩:");
   299				scanf("%d",&new_score);
   300				L->list[index].score=new_score;
   301				printf("修改成功\n");
   302				break;
   303			default:
   304				printf("输入错误,无法修改\n");
   305				break;
   306		}
   307		return 0;
   308	}
   309	
   310	
   311	
   312	//8:删除学生信息
   313	int list_delete(Student_listPtr L,char *d)
   314	{
   315		//判断逻辑
   316		if(NULL==L || list_empty(L))
   317		{
   318			printf("查找失败\n");
   319			return -1;
   320		}
   321		int i3=0;
   322		for(int i=0;i< L->len;i++)      //遍历找到需要删除的学生的位置
   323		{
   324			if(strcmp(L->list[i].name,d)==0)
   325			{
   326				i3=i;
   327			}
   328		}
   329		for(int i=i3+1;i<L->len;i++)
   330		{
   331			L->list[i-1]=L->list[i];
   332		}
   333	
   334		//表长变化
   335		L->len--;
   336	
   337		printf("删除成功\n");
   338		return 0;
   339		
   340	}
   341	
   342	
   343	//9查找学生,并输出该学生的排名
   344	int list_student_pos(Student_listPtr L,char *c)
   345	{
   346		//判断逻辑
   347		if(NULL==L || list_empty(L))
   348		{
   349			printf("排序失败\n");
   350			return -1;
   351		}
   352		//冒泡排序
   353		for(int i=1;i<L->len;i++)
   354		{
   355			for(int j=0;j<L->len-i;j++)
   356			{
   357				if(L->list[j].score < L->list[j+1].score)
   358				{                                  
   359					Student temp=L->list[j];
   360					L->list[j] = L->list[j+1];
   361					L->list[j+1]=temp;
   362	
   363				}                //从大到小排序
   364			}
   365	
   366		}
   367	
   368		int index=0;
   369		for(int i=0;i< L->len;i++)      //遍历找到需要找学生的位置
   370		{
   371			if(strcmp(L->list[i].name,c)==0)
   372			{
   373				index=i;
   374			}
   375		}
   376		printf("%s\t排名:%d\n",L->list[index].name,index+1);
   377		printf("姓名\t性别\t学号\t成绩\n");
   378		printf("%s\t%s\t%s\t%d\n",L->list[index].name,L->list[index].sex,L->list[index].id,L->list[index].score);
   379		return 0; 
   380	
   381	}
   382	
   383	
   384	//销毁函数
   385	void list_destroy(Student_listPtr L)
   386	{
   387		if(NULL!=L)
   388		{
   389			free(L);
   390			L=NULL;//防止野指针
   391		}
   392		printf("销毁成功\n");
   393	}
   394	
   395	

main.c文件

    1	#include"student_sys.h"
     2	int main(int argc, const char *argv[])
     3	{
     4		Student_listPtr L=list_create();    //创建顺序表函数
     5	
     6		char c[10]="";   //名字字符数组
     7		if(NULL==L)
     8		{
     9			return -1;
    10		}
    11		while(1)
    12		{
    13			menu();        //调用菜单函数
    14			printf("请输入>>>");
    15			int num=0;
    16			scanf("%d",&num);      //num表示选择功能
    17			switch(num)
    18			{
    19			case 1:
    20	
    21				printf("\t------------录入学生信息------------\t\n");
    22				int a=0;
    23				printf("请输入需要输入的人数:");
    24				scanf("%d",&a);
    25				list_add(L,a);//调用添加学生函数	
    26				break;
    27			case 2:
    28				list_show(L); //调用遍历学生信息函数
    29				break;
    30			case 3:
    31	
    32				list_amx_min(L);//调用最高/最低成绩学生信息函数
    33					break;
    34			case 4:
    35	 		    list_sum_avg(L); //调用输出最高最低成绩
    36				break;
    37			case 5:
    38				printf("-------------输入1:学生成绩降序输出-----------\n");
    39				printf("-------------输入2::学生成绩升序输出-----------\n");
    40				list_sort(L);
    41				break;
    42			case 6:
    43				 printf("请输入需要查找的学生信息:");
    44			   	scanf("%s",c);
    45				 list_search(L,c);  //调用查找学生信息
    46				break;
    47			case 7:
    48				 printf("请输入需要修改的学生信息的名字:");
    49			   	scanf("%s",c);
    50	  			list_edit(L,c);
    51				break;
    52			case 8:
    53				
    54				 printf("请输入需要删除的学生信息的名字:");
    55			   	scanf("%s",c);
    56				list_delete(L,c);    //调用删除学生信息函数
    57				break;
    58			case 9:
    59				printf("请输入需要查找的学生信息:");
    60			   	scanf("%s",c);
    61				list_student_pos(L,c);
    62				break;
    63			case 0:
    64		list_destroy(L);
    65				return 0;
    66			default:
    67				printf("输入错误\n");
    68				break;
    69	
    70			}	
    71		}
    72		
    73		list_destroy(L);
    74		return 0;
    75	}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值