C语言学生选课系统实现

这篇具有很好参考价值的文章主要介绍了C语言学生选课系统实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学生选修课程系统设计

1、需求分析

    系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。

2、总体设计

   整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。

3、详细设计

   数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。

 Struct

{

  Char courseCode[10];   //课程编号

  Char courseName[20];  //课程名称

  Char courseType[10];  //课程类别

  Int  totalPeriod;      //总学时

  Int  classPeriod;     //授课学时

  Int  experiPeriod;    //上机学时

  Float creditHour;    //学分

  Int  term;         //开课学期

}CourseInfo[N];   //课程信息结构体

Struct

{

  Int stuNo;  //学号;

  Char courseCode[10];   //课程编号

}StuCourInfo[N]; //学生选课信息结构体

(1) 信息输入模块

  从键盘输入课程信息和学生选课信息,写入文件。(fwrite, fprintf)

(2)信息浏览模块

  分屏显示课程信息,每屏10条课程记录,按任意键继续。从文件中读数据(fread,fscanf),然后再显示。

(3)信息查询模块

   通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。

 1、首先在项目文件夹内(.c文件同级文件夹)创建class.txt文件和student.txt文件,作为系统的数据文件进行保存。C语言学生选课系统实现

 2、在初次运行系统时,建议先选择课程可学生数据添加选项,因为数据文件中不存在数据。

3、本系统最大选课数在15门以内,超出的不计。

4、源码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>//需要用到strcmp函数 
//宏定义
#define LEN 15//姓名和学号的最大字符数.文件URL路径长度,最多选课数 
#define N 50//最大学生人数,课程数

int n = 0, c = 0, t = 1;//n代表当前学生人数,c表示课程数,t用来控制整个程序的执行,以及程序的退出; 
int m = 0,M=0;//m添加的学生人数,M添加的课程数

//函数声明
void menu();//主菜单函数
void readInfo();  //数组初始化
void select();  //操作选择
void help(); 			 //使用帮助 
void increaseClass();	 //增加课程信息
void increaseStudent();	 //增加学生信息
void classDisplay();	 //课程浏览
void studentDisplay(); 	 //学生浏览
void save(int f);		//信息文件保存
void find();  //查找
void findStudent();
void findClass();
void exitSys();	//退出函数 

struct Class
{
	char courseCode[10];	//课程编号;001
	char courseName[20];	//课程名称;大学英语
	char courseType[10];	//课程类型;必修
	int totalPeriod;		//总学时;60
	int classPeriod;		//授课学时;40
	int experiPeriod;		//上机学时;20
	float creditHour;		//学分;4
	int term;				//开课学期;1为上学期,2为下学期
}CourseInfo[N];
struct Student
{
	int stuNo;  //学号0000;
	char courseCode[LEN][10];  //课程编号;
}StuCourInfo[N];

void menu()
{
	printf("\n\n");
	printf("*****************************************************\n");
	printf("*                 学生选修课程系统                  *\n");
	printf("*****************************************************\n");
	printf("********************系统功能菜单*********************\n");
	printf("-----------------------------------------------------\n");
	printf("**    1、使用帮助\n\n");
	printf("**    2、增加课程信息\n\n");
	printf("**    3、增加学生信息\n\n");
	printf("**    4、课程浏览\n\n");
	printf("**    5、学生浏览\n\n");
	printf("**    6、查询\n\n");
	printf("**    0、退出系统\n\n");
	printf("-----------------------------------------------------\n");
	printf("*****************************************************\n\n");

}
//初始化数组函数

void readInfo() 
{
	//课程初始化
	int i=0;
	int j = 0,flag=0;
	FILE* fp = fopen("class.txt", "r"); //打开文件;fopen()为C语言内置的文件打开函数。
	if (NULL == fp)
	{
		printf("打开文件失败!!\n");
		exit(0);//退出整个程序
	}

	while(!feof(fp))//内置函数,判断文件指针所指文件内有无数据,此处在文件数据为空的时候依然会进入,所以数据默认为1条。
	{
		fscanf(fp, "%s %s %s %d %d %d %f %d\n",
			&CourseInfo[i].courseCode,
			&CourseInfo[i].courseName,
			&CourseInfo[i].courseType,
			&CourseInfo[i].totalPeriod,
			&CourseInfo[i].classPeriod,
			&CourseInfo[i].experiPeriod,
			&CourseInfo[i].creditHour,
			&CourseInfo[i].term);//文件数据读取函数
		c++;
		i++;
	}
	fclose(fp); //关闭文件

	//学生初始化
	FILE* fp1 = fopen("student.txt", "r"); //打开文件
	if (NULL == fp1)
	{
		printf("打开文件失败!!\n");
		exit(0);
	}
	i = 0;
	while (!feof(fp1))
	{
		fscanf(fp1, "%d ",&StuCourInfo[i].stuNo);
		for (j = 0; j < LEN-1; j++)
		{
			fscanf(fp1, "%s ", &StuCourInfo[i].courseCode[j]);
		}
		fscanf(fp1,"%s \n", &StuCourInfo[i].courseCode[j]);
		n++;
		i++;
	}
	fclose(fp1); //关闭文件
	printf("当前课程数为:%d(默认为1)\n",c);
	printf("当前人数为:%d(默认为1)\n", n);
	system("pause");
}
void select() 
{
	int num;//num是菜单选项 
	readInfo();//初始化程序,读取数据文件。
	while (t)//t是全局变量,用tuichu函数来控制循环是否继续 
	{
		system("cls");  //清屏
		menu();//输出主菜单界面 
		printf("您好,请输入菜单编号:");
		scanf("%d", &num);
		switch (num)
		{
		case 1: help(); break;
		case 2: increaseClass(); break;
		case 3: increaseStudent(); break;
		case 4: classDisplay(); break;
		case 5: studentDisplay(); break;
		case 6: find(); break;  //进入后选择findStudent()学生查询还是findClass()课程查询。
		case 0: exitSys(); break;
		default:printf("输入有误,请重新输入!");
		}
	}
	system("pause");
}
void help()
{
	system("cls");  //清屏
	printf("\n这是一个学生选修课程系统,为了帮助您更快的了解使用它,请先仔细阅读以下注意事项:\n");
	printf("\n                  注意事项:\n ");
	printf("\n       1、请根据提示进行操作!\n");
	printf("\n       2、初次使用请先选择增加学生信息!\n");
	printf("\n       3、修改或者增加学生信息后会自动保存,请放心!\n");
	printf("\n       5、若您之前使用过,下次进入系统将会自动读取文件信息!\n");
	printf("\n       6、在添加学生时,用两个字符代表不同的性别,比如男用‘M’代替,女用‘W’代替!\n");
	printf("\n       7、保存或者刷新时,系统会在源程序“studentClass.c”的相同目录建立一个.txt文件来保存学生信息,您可以查看该文件,\n但非专业人员不要轻易改动,否则会造成刷新数据异常或刷新失败!\n");
	printf("\n       8、学生信息包括:学号、已选修的课程号!\n");
	printf("\n       9、课程信息包括:课程编号,课程名称,课程类型,总学时,授课学时,上机学时,学分,开课学期!\n");
	printf("\n       10、使用遇到任何问题请与开发人员联系!\n");
	printf("\n       11、最后感谢您的使用!\n");
	system("pause");
}
void increaseClass()
{
	system("cls");  //清屏
	int i = c, j, flag;  //i表示增加课程数
	printf("\n请输入增加科目数:\n");
	scanf("%d",&M);
	if (M > 0)
	{
		do
		{
			//课程号输入及查重
			flag = 1;
			while (flag)
			{
				flag = 0;
				printf("----------------------------------------------\n");
				printf("\n请输入第%d个课程编号(例:001):\n", i + 1);
				scanf("%s", &CourseInfo[i].courseCode);
				//判断课程号是否重复:
				for (j = 0; j < i; j++)
				{
					if (strcmp(CourseInfo[i].courseCode, CourseInfo[j].courseCode) == 0)//字符串比较函数相等为0
					{
						printf("\n该课程已存在,请重新输入:\n");
						flag = 1;
						break;
					}
				}
			}
			//其他信息录入
			printf("请输入第%d个课程名称(例:大学英语):\n", i + 1);
			scanf("%s",&CourseInfo[i].courseName);
			printf("请输入第%d个课程类型(例:必修):\n", i + 1);
			scanf("%s", &CourseInfo[i].courseType);
			printf("请输入第%d个课程总学时(例:60):\n", i + 1);
			scanf("%d", &CourseInfo[i].totalPeriod);
			printf("请输入第%d个课程授课学时(例:40):\n", i + 1);
			scanf("%d", &CourseInfo[i].classPeriod);

			//实验学时为总学时-授课学时
			CourseInfo[i].experiPeriod = CourseInfo[i].totalPeriod - CourseInfo[i].classPeriod;
			printf("请输入第%d个课程上机学时为:\n%d\n", i + 1,CourseInfo[i].experiPeriod);

			printf("请输入第%d个课程学分(例:4):\n", i + 1);
			scanf("%f", &CourseInfo[i].creditHour);
			printf("请输入第%d个课程开课学期(例:1:前半年;2:后半年):\n", i + 1);
			scanf("%d", &CourseInfo[i].term);
			i++;
			printf("----------------------------------------------\n");
		} while (i<c+M);  //输入的课程数量没有达到;
	}
	c += M;  //课程数更新。
	save(1);  //课程保存
	system("pause");
	system("cls");
}
//f=0表示为学生文件写入;f=1表示为课程文件写入。
void save(int f) 
{
	//数据写入:
	int i,j;
	FILE* fp;
	char filename[LEN];  //文件名class.txt和student.txt
	if (f == 0)
	{
		strcpy(filename, "student.txt");
		if ((fp = fopen(filename, "a")) == NULL)
		{
			printf("打开文件失败!\n");
			exit(0);
		}
		for (i = n-m; i < n; i++)
		{
			//可用sprintf(strStuNo,"%d",StuCourInfo[i].sruNo)
			//也可用char *_itoa_s(int i,char *s,int radix);//i为要转换为字符的数字;*s为转换后的指向字符串的指针;radix为转换后的字符串指针。
			/*if (fwrite(&StuCourInfo[i], sizeof(struct Student), n, fp) != 1)
				printf("保存失败!!\n");*/
			char strStuNo[10];
			sprintf(strStuNo,"%d", StuCourInfo[i].stuNo );//内置将基本数据型转换为字符串的函数
			fputs(strStuNo, fp);
			fputs(" ", fp);

			for (j = 0; j < LEN; j++)
			{

				fputs(StuCourInfo[i].courseCode[j], fp);
				fputs(" ", fp);
			}

			fputs("\n", fp);
		}
		m = 0;//添加人数清零
	}
	else
	{

		strcpy(filename, "class.txt");
		if ((fp = fopen(filename, "a")) == NULL)
		{
			printf("打开文件失败!\n");
			exit(0);
		}
		for (i = c-M; i < c; i++)
		{
			//if (fwrite(&CourseInfo[i], sizeof(struct Class), c, fp) != 1)
			//    printf("保存失败!!\n");
			fputs(CourseInfo[i].courseCode, fp);//将CourseInfo[i].courseCode取出来的数据赋给fp指针,并写到文件里
			fputs(" ", fp);
			fputs(CourseInfo[i].courseName, fp);
			fputs(" ", fp);
			fputs(CourseInfo[i].courseType, fp);
			fputs(" ", fp);

			char strTotalPeriod[10];
			sprintf(strTotalPeriod, "%d", CourseInfo[i].totalPeriod);//将int型转换为字符串
			fputs(strTotalPeriod, fp);//将转换后的字符串写入文件
			fputs(" ", fp);

			char strClassPeriod[10];
			sprintf(strClassPeriod,"%d", CourseInfo[i].classPeriod);
			fputs(strClassPeriod, fp);
			fputs(" ", fp);

			char strExperiPeriod[10];
			sprintf(strExperiPeriod,"%d", CourseInfo[i].experiPeriod);
			fputs(strExperiPeriod, fp);
			fputs(" ", fp);

			char strCreditHour[10];
			sprintf(strCreditHour, "%.1f", CourseInfo[i].creditHour);
			fputs(strCreditHour, fp);
			fputs(" ", fp);

			char strTerm[10];
			sprintf(strTerm,"%d" ,CourseInfo[i].term);
			fputs(strTerm, fp);
			fputs("\n", fp);
		}
		M = 0;//添加课程清零
	}
	//printf("请输入文件名:\n");
	//scanf("%s", filename);

	fclose(fp);
	printf("保存成功!!\n");

}
void increaseStudent()
{
	system("cls");  //清屏
	int i = n, j, flag,x=0;  //i表示增加学生人数,x表示学生选课数
	printf("\n请输入增加学生人数:\n");
	scanf("%d", &m);
	if (m > 0)
	{
		do
		{
			//学生号输入及查重
			flag = 1;
			while (flag)
			{
				flag = 0;
				printf("----------------------------------------------\n");
				printf("\n请输入第%d个学生学号(例:0001):\n", i + 1);
				scanf("%d", &StuCourInfo[i].stuNo);
				//判断学号是否重复:
				for (j = 0; j < i; j++)
				{
					if (StuCourInfo[i].stuNo==StuCourInfo[j].stuNo)
					{
						printf("该学号已存在,请重新输入:\n");
						flag = 1;
						break;
					}
				}
			}
			//其他信息录入
			printf("**********************************************\n");
			printf("请输入该学生一共选修课程数:\n");
			scanf("%d", &x);
			printf("**********************************************\n");
			for (j = 0; j < x; j++)
			{

				printf("\n请输入第%d个学生第%d个选修课程号(例:001:大学英语):\n", i + 1,j+1);
				scanf("%s", &StuCourInfo[i].courseCode[j]);
			}
			for (; j < LEN; j++)
			{
				strcpy(StuCourInfo[i].courseCode[j], "*");//字符串赋值
			}
			i++;
			printf("----------------------------------------------\n");
		} while (i < n + m);  //输入的学生人数没有达到;
	}
	n += m;  //人数更新。
	save(0);  //学生保存
	system("pause");
	system("cls");
}
//查询结果不需要清屏
void classDisplay()
{
	int i;
	system("cls");  //清屏
	printf("----------------------------------------------\n");
	printf("当前所有课程信息展示:\n");
	for (i = 0; i < c; i++)
	{
		printf("%d",i+1);
		printf("-课程编号:%s\t",CourseInfo[i].courseCode);
		printf("-课程名称:%s\t", CourseInfo[i].courseName);
		printf("-课程类型:%s\t", CourseInfo[i].courseType);
		printf("-总学时:%d\t", CourseInfo[i].totalPeriod);
		printf("-授课学时:%d\t", CourseInfo[i].classPeriod);
		printf("-上机学时:%d\t", CourseInfo[i].experiPeriod);
		printf("-学分:%.1f\t", CourseInfo[i].creditHour);
		printf("-开课学期:%d\t\n",CourseInfo[i].term);
		if ((i+1) % 10 == 0)
		{
			system("pause");
			system("cls");
		}
	}
	printf("展示完成!!\n");
	printf("----------------------------------------------\n");
	system("pause");
}
void studentDisplay()
{
	int i,j;
	system("cls");  //清屏
	printf("----------------------------------------------\n");
	printf("当前所有学生信息展示:\n");
	for (i = 0; i < n; i++)
	{
		printf("%d", i + 1);
		printf("-学号:%05d\t已选课程编号:", StuCourInfo[i].stuNo);

		for (j = 0; j!=LEN; j++)
		{
			printf("\t-%s",StuCourInfo[i].courseCode[j]);
		}
		printf("\n");
	}
	printf("展示完成!!\n");
	printf("----------------------------------------------\n");
	system("pause");
}
void find()
{
	system("cls");  //清屏
	int flag;
	printf("\n----------------------------------------------\n");
	printf("请选择查询方向:\n");
	printf("----》1、课程信息查询\n");
	printf("----》2、学生信息查询\n");
	scanf("%d",&flag);
	printf("----------------------------------------------\n");
	if (flag == 1)
		findClass();
	else
		findStudent();
}
void findClass()
{
	int f = 1;
	printf("----------------------------------------------\n");
	printf("课程查询:\n");
	//***********************************************************************
	do
	{
		printf("1-->根据课程编号查询课程\n");
		printf("2-->根据课程名称查询课程\n");
		printf("3-->根据课程类别查询课程\n");
		printf("4-->根据开课学期查询课程\n");
		printf("5-->根据课程学分查询课程\n");

		printf("请输入您的查询条件编号:\n");
		int choice = 0;
		scanf("%d", &choice);
		if (choice == 1) {
			printf("请输入课程编号:\n");
			char courseCode[10];
			scanf("%s", courseCode);
			for (int i = 0; i < c; i++) {
				if (strcmp(courseCode, CourseInfo[i].courseCode) == 0) {
					printf("--》课程编号:%s 课程名称:%s 课程类型:%s 总学时:%d 授课学时:%d 上机学时:%d 学分:%.1f 开课学期:%d\n",
						CourseInfo[i].courseCode,
						CourseInfo[i].courseName,
						CourseInfo[i].courseType,
						CourseInfo[i].totalPeriod,
						CourseInfo[i].classPeriod,
						CourseInfo[i].experiPeriod,
						CourseInfo[i].creditHour,
						CourseInfo[i].term);
				}
			}
			printf("数据已经全部显示!\n");
		}
		else if (choice == 2) {
			printf("请输入课程名称:\n");
			char courseName[10];
			scanf("%s", courseName);
			for (int i = 0; i < c; i++) {
				if (strcmp(courseName, CourseInfo[i].courseName) == 0) {
					printf("%s %s %s %d %d %d %f %d\n",
						CourseInfo[i].courseCode,
						CourseInfo[i].courseName,
						CourseInfo[i].courseType,
						CourseInfo[i].totalPeriod,
						CourseInfo[i].classPeriod,
						CourseInfo[i].experiPeriod,
						CourseInfo[i].creditHour,
						CourseInfo[i].term);
				}
			}
			printf("数据已经全部显示!\n");
		}
		else if (choice == 3) {
			printf("请输入课程类别:\n");
			char courseType[10];
			scanf("%s", courseType);
			for (int i = 0; i < c; i++) {
				if (strcmp(courseType, CourseInfo[i].courseType) == 0) {
					printf("%s %s %s %d %d %d %f %d\n",
						CourseInfo[i].courseCode,
						CourseInfo[i].courseName,
						CourseInfo[i].courseType,
						CourseInfo[i].totalPeriod,
						CourseInfo[i].classPeriod,
						CourseInfo[i].experiPeriod,
						CourseInfo[i].creditHour,
						CourseInfo[i].term);
				}
			}
			printf("数据已经全部显示!\n");
		}
		else if (choice == 4) {
			printf("请输入开课学期:\n");
			int term = 0;
			scanf("%d", &term);
			for (int i = 0; i < c; i++) {
				if (term == CourseInfo[i].term) {
					printf("%s %s %s %d %d %d %f %d\n",
						CourseInfo[i].courseCode,
						CourseInfo[i].courseName,
						CourseInfo[i].courseType,
						CourseInfo[i].totalPeriod,
						CourseInfo[i].classPeriod,
						CourseInfo[i].experiPeriod,
						CourseInfo[i].creditHour,
						CourseInfo[i].term);
				}
			}
			printf("数据已经全部显示!\n");
		}
		else if (choice == 5) {
			printf("请输入学分:\n");
			float creditHour = 0.0;
			scanf("%f", &creditHour);
			for (int i = 0; i < c; i++) {
				if (creditHour == CourseInfo[i].creditHour) {
					printf("%s %s %s %d %d %d %f %d\n",
						CourseInfo[i].courseCode,
						CourseInfo[i].courseName,
						CourseInfo[i].courseType,
						CourseInfo[i].totalPeriod,
						CourseInfo[i].classPeriod,
						CourseInfo[i].experiPeriod,
						CourseInfo[i].creditHour,
						CourseInfo[i].term);
				}
			}
			printf("数据已经全部显示!\n");
		}
		else {
			printf("输入错误!!\n");
		}
		printf("\n");

		printf("是否继续查询?(1为是;0为否)\n");
		scanf("%d", &f);
	} while (f==1);
	//***********************************************************************
	printf("查询完成!!\n");
	system("pause");
}
void findStudent()
{
	int i,number,j,f=1;
	printf("----------------------------------------------\n");
	printf("学生查询:\n");
	do
	{
		printf("请输入学生学号(例0001):\n");
		scanf("%d", &number);
		for (i = 0; i < n; i++)
		{
			if (number == StuCourInfo[i].stuNo)
			{
				printf("-学号:%05d\t已选课程编号:", StuCourInfo[i].stuNo);

				for (j = 0; j != LEN; j++)
				{
					printf("\t-%s", StuCourInfo[i].courseCode[j]);
				}
				printf("\n");
				break;
			}
		}
		printf("数据已经全部显示!\n");
		printf("是否继续查询?(1为是;0为否)\n");
		scanf("%d", &f);
	} while (f==1);
	printf("查询完成!!\n");
	system("pause");
}
void exitSys()
{
	system("cls");  //清屏
	int h;//控制是否确认退出 
	printf("即将退出,确认请按1,取消请按0\n");
	scanf("%d", &h);
	if (h == 1)
	{
		t = 0;//t是main函数中while函数是否继续执行的控制条件,是一个全局变量,程序开头已经定义并且赋值位 1
		printf("成功退出,感谢使用!\n");
	}
	if (h == 0)
	{
		printf("退出已取消!\n");
		system("pause");
	}
}

int main()
{
	select();
	return 0;
}

 5、实验报告如下:

C语言学生选课系统实现

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

C语言学生选课系统实现 

 文章来源地址https://www.toymoban.com/news/detail-464219.html

到了这里,关于C语言学生选课系统实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql 创建学生表、课程表、学生选课表

    数据库系统概论(第五版)79页提供的三个表,为了我们上机操作容易,下面创建这三个表 学生-课程数据库中包含以下三个表 学生表:Student( Sno ,Sname,Ssex,Sage,Sdept) 课程表:Course( Cno ,Cname,Cpno,Ccredit) 学生选课表:SC( Sno , Cno ,Grade) 关系的主码加粗表示,各个表中的数据实例: St

    2024年02月11日
    浏览(41)
  • 数据库课程设计-学生选课管理系统(实训报告+答辩ppt+源码+sql文件+打包好的程序)springboot项目-javaweb

    作者:ChenZhen 博客地址:https://www.chenzhen.space/ 版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。 如果对你有帮助,请给一个小小的star⭐ 源码加vx : ChenZhen_7 (实训报告+答辩ppt+源码+sql文件+打包好的程序 无套路 免费获取! 不放

    2024年02月11日
    浏览(67)
  • C++实现---学生选课系统

    目录 一、项目要求 二、模块分析 分析: 设计思路 类实现:(也就是每一节车厢的模板) 1)基类(信息类) 2)课程类;(公有继承信息类) 3)学生类(公有继承信息类) 函数实现 1) void print();向屏幕输出课程信息 2)void get();指定课程的信息,用课程编号获取 3)

    2024年02月09日
    浏览(37)
  • java实现管理学生选课系统

    项目简介 基于Java Swing+MySQL的学生选课管理系统,支持对课程的发布,查询,添加,删除操作,同时支持对学生及教师信息的管理。       2.项目采用技术 该项目主要使用Java Swing+SQLServer        3.功能需求分析 学生选课管理系统中要实现管理者对于学生和教师信息的管理以

    2024年02月07日
    浏览(44)
  • 10-28 查询选修张老师讲授所有课程的学生(对自己来说有难度的一道题)

    分数 10 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句, 查询选修了张老师所讲授的所有课程的学生。 提示:MSSQLServer 评测SQL语句。 表结构: 请在这里写定义表结构的SQL语句。例如: 表样例 请在这里给出上述表结构对应的表样例。例如 stu 表:

    2024年02月02日
    浏览(83)
  • Java+Swing+MySQL实现学生选课管理系统

    目录 一、系统介绍 1.运行环境 2.技术说明 3.系统功能 4.数据库实体E-R图设计 5.数据库表的设计 二、系统实现  1.用户登录 2.主界面   3.数据库连接 4.数据查询 5.查询课程信息 6.添加学生信息 7.修改学生信息 三、部分代码  1.ChangePwd.java 2.Login.java 3.Main.java 5.备注 开发工具:

    2024年02月08日
    浏览(67)
  • 基于JavaWeb实现的学生选课系统(源码+数据库)

    本项目是一套基于JavaWeb实现的学生选课系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse 确保可以运行! 该系统功能完善、界面美观、

    2024年02月08日
    浏览(74)
  • Python Django的学生选课管理系统,实现多用户登录注册,可选课可评课

    学生选课管理系统是一个基于Python Django开发的教务管理系统,旨在提供方便快捷的选课服务和学籍管理功能。该系统分为教师端和学生端两个角色,为教师和学生提供了不同的功能和权限。 教师端功能: 教师可以登录系统后,进行课程管理、成绩录入和学生管理等操作。具

    2024年01月24日
    浏览(49)
  • 一零五六、Jsp+mysql 实现学生选课系统(附源码及数据库)

    目录 实现效果 项目代码 数据库 结语 实现效果 login.jsp index.jsp  course_query.jsp  course_selection.jsp   course_withdraw.jsp selection_query.jsp    项目代码 checkSelectionStatus.jsp course_query.jsp course_selection.jsp course_selection_check.jsp course_withdraw.jsp course_withdraw_check.jsp index.jsp login.jsp login_check.jsp se

    2024年02月09日
    浏览(52)
  • 数据库-MySQL 实战项目——学生选课系统数据库设计与实现(附源码)

            该项目非常适合MySQL入门学习的小伙伴,博主提供了源码、数据和一些查询语句,供大家学习和参考,代码和表设计有什么不恰当还请各位大佬多多指点。  MySQL可视化工具:navicat;  数据库:MySql 5.7/8.0等版本均可;      学生选课系统主要完成某学校教务系统中

    2024年04月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包