IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C&C++期末课程设计——学生成绩管理源代码 -> 正文阅读

[C++知识库]C&C++期末课程设计——学生成绩管理源代码

目录

一、描述

二、功能实现

三、运行结果部分截图

1、系统主界面

?2、输入课程信息

?3、输入学生信息成绩

?4、学生基本情况查询

?四、源代码

五、附载/下载地址

其他期末课程设计系统

本系统下载地址

C&C++期末课程设计

C语言期末课程设计


一、描述

????????大家好!我是小浝仔,今天给大家分享C&C++期末课程设计——学生成绩管理系统,这个程序是用C++&C语言程序编写的,运行环境为VisualC++? 6.0,实现了学生成绩的管理功能:输入课程信息、输入学生信息成绩、学生基本情况查询、成绩查询、删除信息等等,是学习C++程序很好的参考资料,如果朋友们用来学习或做C++期末课程设计作业一定是可以的,我来共享给大家一些哦!!!大家觉得好的话,记得给个三连哦!!!

有问题或意见,请及时联系我:?

CSDN:小浝仔_CSDN博客https://blog.csdn.net/m0_46843484?spm=1000.2115.3001.5343

版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

二、功能实现

????????1、输入课程信息

????????2、输入学生信息成绩

????????3、学生基本情况查询

????????4、成绩查询

????????5、删除查询

????????6、按综合成绩或实得学分升序或降序排序并显示数据

????????7、程序结束

三、运行结果部分截图

1、系统主界面

?2、输入课程信息

?3、输入学生信息成绩

?4、学生基本情况查询

?四、源代码

如果建好开发环境,直接拷贝源代码,即可运行,亲测有效!!!

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"
#define N 10
#define FILENAME "student.txt"
typedef struct
{
    int num1;         
    char name1[10];      
    int fen;
}LESSON;

typedef struct
{
	int num2;      /*学号*/
	char name2[10];/*姓名*/
	char xing[10];
	int num3;
	int tele;
	float score[3];
	float zong;
	float fen2;
}STUDENT;
/*******************************************************       
功能:显示菜单
参数:无   
返回值:无
 *******************************************************/
 void displayMenu()
 {

        printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
        printf("+                 学生成绩管理系统                      +\n");
		printf("+                                                       +\n");
        printf("+                 1. 输入课程信息                       +\n");
        printf("+                 2. 输入学生信息成绩                   +\n");
        printf("+                 3. 学生基本情况查询                   +\n");
        printf("+                 4. 成绩查询                           +\n");
        printf("+                 5. 删除信息                           +\n");
        printf("+   6. 按综合成绩或实得学分升序或降序排序并显示数据     +\n");
        printf("+                 7. 程序结束                           +\n");
		printf("+                                                       +\n");
        printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

 }

/*******************************************************       
功能:登陆函数,验证口令
参数:
参数1:n
  类型:char []
  说明:用户输入口令   
返回值:1或0
  类型:int
  说明:1表示通过验证;0表示没有通过
 *******************************************************/
 int login(char password[])
 {
     static char LESSONy[10]="123";
     if(strcmp(password,LESSONy)==0)
       return 1;
     else
       return 0;
 }

 
 int readFromFile2(LESSON lesson[])
 {
	FILE *fp=NULL;
	int i=0;

	fp=fopen("student2","rb"); 

	if(fp!=NULL)
	{

		while(!feof(fp)) 
		{
     
			if(i>=N)
				break;
			if(fread(lesson+i,sizeof(LESSON),1,fp))
				i++;
		}

		fclose(fp);
	}
    return i;
}

  /*******************************************************       
功能:从文件读信息到结构体数组中
参数:
参数1:student[]
  类型:STUDENT []
  说明:用来存储从文件读到的学生信息
返回值:i
  类型:int
  说明:表示实际读取到的个数
 *******************************************************/
 int readFromFile(STUDENT student[])
 {
	FILE *fp=NULL;
	int i=0;

	fp=fopen(FILENAME,"rb"); 

	if(fp!=NULL)
	{

		while(!feof(fp)) 
		{
     
			if(i>=N)
				break;
			if(fread(student+i,sizeof(STUDENT),1,fp))
				i++;
		}

		fclose(fp);
	}
    return i;
}

/*******************************************************       
功能:判断学号是否唯一
参数:
参数1:student[]
  类型:STUDENT []
  说明:存储学生信息的数组
参数2:length
  类型:int
  说明:表示实际数组的长度 
参数2:stuNumber
  类型:int
  说明:要判断的学号 
返回值:1或0(flag)
  类型:int
  说明:1表示学号唯一;0表示学号不唯一
 *******************************************************/

int unique(STUDENT student[],int length,int stuNumber)
{
	int flag=1,i;
	for(i=0;i<length;i++)
	{
		if(student[i].num2==stuNumber)
		{ 
			flag=0;
			break;
		}
	}
return flag;
}
void inputInfo1(LESSON *lesson)
{
	printf("请输入课程信息:\n");
	printf("课程编号:");
	scanf("%d",&lesson->num1);
	printf("课程名称:");
	scanf("%s",lesson->name1);
	printf("学分:");
	scanf("%d",&lesson->fen);
}
int inputInfo2(STUDENT student[],int length)
{
	int i=length;
	int endFlag=0;

	printf("请输入学生信息(以学号为0结束):\n");
	while(i<N)
	{
		while(1)
		{
			int flag;
			printf("学号:");
			scanf("%d",&student[i].num2);
			if(student[i].num2==0)
			{
				endFlag=1;
				break;
			}
			flag=unique(student,i,student[i].num2);
			if(flag) break;
			printf("该学号已经存在,请重新输入!\n");
		}
		if(endFlag==1)
			break;
		printf("姓名:");
		scanf("%s",student[i].name2);
		printf(" 性别:");
		scanf("%s",student[i].xing);
		while(1)
		{
			printf("宿舍号码:");
			if(scanf("%d",&student[i].num3)==1)
				break;
			printf("输入格式不对,请重新输入!\n");
			while(getchar()!='\n')
				continue;
		}
		while(1)
		{
			printf("电话号码:");
			if(scanf("%d",&student[i].tele)==1)
				break;
			printf("输入格式不对,请重新输入!\n");
			while(getchar()!='\n')
				continue;
		}
		while(1)
		{
			printf("平时成绩:");
			if(scanf("%f",&student[i].score[1])==1)
				break;
			printf("输入格式不对,请重新输入!\n");
			while(getchar()!='\n')
				continue;
		}
		while(1)
		{
			printf("实验成绩:");
			if(scanf("%f",&student[i].score[2])==1)
				break;
			printf("输入格式不对,请重新输入!\n");
			while(getchar()!='\n')
				continue;
		}
        while(1)
		{
			printf("卷面成绩:");
			if(scanf("%f",&student[i].score[3])==1)
				break;
			printf("输入格式不对,请重新输入!\n");
			while(getchar()!='\n')
				continue;
		}

		while(getchar()!='\n')
			continue;
		i++;

	}

	return i;
}
/*输入一个学号,查出此生的基本信息并显示输出*/
void xuehao(STUDENT student[],int length,int stuNum2)
{
	int i=0;
	for(i=0;i<length;i++)
	{
	if(stuNum2==student[i].num2)
	{     
	      printf("找到啦!他的基本信息是 :%d\n", i);
          printf("%-4s %-4s %-4s %-8s %-8s %-10s %-8s %-8s","学号","姓名","性别","宿舍号码","电话号码","平时成绩","实验成绩","卷面成绩","综合成绩","实得学分");
	      printf("\n%-4d %-4s %-4s %-8d %-8d %-4f %-3f %-3f %-8f %-8f\n",student[i].num2,student[i].name2,student[i].xing,student[i].num3,student[i].tele,student[i].score[1],student[i].score[2],student[i].score[3],student[i].zong,student[i].fen2);
	break;
        }
    }
    if(i>=length)
        printf("\n不存在!\n");
}
/*输入一个姓名,查出此生的基本信息并显示输出。*/
void name(STUDENT student[],int length,char stuname2[])
{
	int i=0;
	for(i=0;i<length;i++)
	{

		if(strcmp(stuname2,student[i].name2)==0)

        {
		printf("找到啦!他的基本信息是 :%d\n", i);
	printf("%-4s %-4s %-4s %-8s %-8s %-10s %-8s %-8s","学号","姓名","性别","宿舍号码","电话号码","平时成绩","实验成绩","卷面成绩","综合成绩","实得学分");
	printf("\n%-4d %-4s %-4s %-8d %-8d %-4f %-3f %-3f %-8f %-8f\n",student[i].num2,student[i].name2,student[i].xing,student[i].num3,student[i].tele,student[i].score[1],student[i].score[2],student[i].score[3],student[i].zong,student[i].fen2);
	break;
        }
    }
    if(i>=length)
        printf("\n不存在!\n");
}
/*输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。*/
void suse(STUDENT student[],int length,int stuNum3)
{
	int i=0;
	for(i=0;i<length;i++)
	{
	if(stuNum3==student[i].num3)
        {
	printf("找到啦!他们的基本信息是 :%d\n", i);
    printf("%-4s %-4s %-4s %-8s %-8s %-10s %-8s %-8s","学号","姓名","性别","宿舍号码","电话号码","平时成绩","实验成绩","卷面成绩","综合成绩","实得学分");
	printf("\n%-4d %-4s %-4s %-8d %-8d %-4f %-3f %-3f %-8f %-8f\n",student[i].num2,student[i].name2,student[i].xing,student[i].num3,student[i].tele,student[i].score[1],student[i].score[2],student[i].score[3],student[i].zong,student[i].fen2);
	break;
        }
    }
    if(i>=length)
        printf("\n不存在!\n");
}
/*输入一个学号时,查询出此生的成绩和学分情况*/
void searchNum(STUDENT student[],int length)         //查询
{
 int num2,i;
 printf("\n\t请输入要查询的学号:\n\n\t");
 scanf("%d",&num2);
 printf("\n");
 for(i=0;i<length;i++)
 {
  if(num2==student[i].num2)
   break;
 }
 if(i<length)
 {
  printf("\t学分\t成绩\n\n");
  printf("\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n\n\t",student[i].num2,student[i].name2,student[i].score[1],student[i].score[2],student[i].score[3],student[i].zong,student[i].fen2);
 }
 else
  printf("\t该学号不存在\n\n\t");
} 
/**/
void turm(STUDENT student[],int length)
{	int choice,i,j;
    float term;
	printf("按综合成绩排序选择1,按实得学分排序选择2\n");
	for(i=0;i<length;i++)
	{
	if(student[i].zong>100&&student[i].zong<0);
	else if(student[i].zong>=90&&student[i].zong<=100) student[i].fen2=student[i].zong;
	else if(student[i].zong>=80) student[i].fen2=(float)(student[i].zong*0.8);
	else if(student[i].zong>=70) student[i].fen2=(float)(student[i].zong*0.75);
	else if(student[i].zong>=60) student[i].fen2=(float)(student[i].zong*0.6);
	else  student[i].fen2=0;


	}
	scanf("%d",&choice);
	switch(choice)
	{
		/*按综合成绩降序排序并显示数据。*/
	case 1:
	{
		for(j=0;j<length;j++)
		for(i=0;i<length-j;i++)
		{
			if(student[i].zong<student[i+1].zong)
			{
			term=student[i].zong;
			student[i].zong=student[i+1].zong;
			student[i+1].zong=term;
			}
		}
	




	}
	break;
	/*按得学分降序排序并显示数据。*/
	case 2:
	{
		for(j=0;j<length;j++)
		for(i=0;i<length-j;i++)
		{
			if(student[i].fen2<student[i+1].fen2)
			{
			term=student[i].zong;
			student[i].fen2=student[i+1].fen2;
			student[i+1].fen2=term;
			}
		}	
	}break;
	}
}
/*打印*/
void outputInfo(STUDENT student[],int length)
{
	int i=0;
    printf("%-4s %-4s %-4s %-8s %-8s %-10s %-8s %-8s","学号","姓名","性别","宿舍号码","电话号码","平时成绩","实验成绩","卷面成绩","综合成绩","实得学分");
	for(i=0;i<length;i++)
	{
	printf("\n%-4d %-4s %-4s %-8d %-8d %-4f %-3f %-3f %-8f %-8f\n",student[i].num2,student[i].name2,student[i].xing,student[i].num3,student[i].tele,student[i].score[1],student[i].score[2],student[i].score[3],student[i].zong,student[i].fen2);
	printf("\n");
	}
	printf("\n\n");
}
 /*******************************************************       
  功能:主函数
  参数:无   
  返回值:无
 *******************************************************/

main()
{
	STUDENT student[N];
	LESSON LESSON[3];
    int choice=0,choice2=0; /*select and store menu item  */
    int s=0,arrayLength=0,stuNum2,stuNum3;
    char password[10],stuname2[10];

    /*====验证用户的口令,直到正确为止====*/
	do{
		printf("请输入口令密码:");
		scanf("%s",password);

		s=login(password);
     }while(s==0);

	arrayLength=readFromFile(student);

    /*====根据用户的选择,执行相应的操作.====*/
    while(1)
    {

		displayMenu();

		printf("\n 请选择您的操作(1,2,3,4,5,6,7,8):\n");
        scanf("%d",&choice);

		switch(choice)
        {

			case 1:
				inputInfo1(LESSON);
				break;

			case 2:
				arrayLength=inputInfo2(student,arrayLength);
				printf("\n现有%d个学生信息\n",arrayLength);
				break;
			case 3:
                printf("请选择:\n");
                printf("1:根据学号查找\n");
                printf("2:根据姓名查找\n");
                printf("3:根据宿舍号码查找\n");
                scanf("%d",&choice2);
                switch(choice2)
				{
                   case 1:
                   printf("请输入欲查找的学号:\n");
                   scanf("%d",&stuNum2);
                   xuehao(student,arrayLength,stuNum2);
		           break;
                   case 2:
                   printf("请输入欲查找的姓名:\n");
                   scanf("%s",&stuname2);
                   name(student,arrayLength,stuname2);
		           break;
                   case 3:
                   printf("请输入欲查找的宿舍号码查找\n");
                   scanf("%d",& stuNum3);
                   suse(student,arrayLength, stuNum3);
		           break;
				}
			case 4:
				searchNum(student,arrayLength);
				break;
            case 5:
			
            case 6:
				turm(student,arrayLength);
				outputInfo(student,arrayLength);
				break;
			case 7:
				exit(0);
				break;
				
        }
    }

}

五、附载/下载地址

其他期末课程设计系统

C&C++期末课程设计——图书管理系统源代码_小浝仔-CSDN博客

C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++&&C语言期末课程设计系统下载地址)_小浝仔-CSDN博客

本系统下载地址

C&C++课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

C&C++期末课程设计

C&C++——文件成绩(源代码)-C/C++文档类资源-CSDN文库

C&C+课程设计——图书管理系统.zip_图书管理系统c++增添删除-C/C++文档类资源-CSDN文库

C&C++课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

C/C++课程设计——职工工作量统计系统(源代码、注释).zip-C/C++文档类资源-CSDN文库

C&C++课程设计——班级学生档案管理系统源代码(源代码+注释).zip-C/C++文档类资源-CSDN文库

C&C++期末课程设计——KTV歌曲管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C&amp;C++期末课程设计——产品信息管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

?C&C++期末课程设计——个人收支管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

?C&C++期末课程设计——职工资源管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

C&C++期末课程设计——个人收支管理系统(二)(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言期末课程设计

C语言课程设计——教工工资管理系统(源代码+课程设计+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——成绩管理系统源程序.zip-C/C++文档类资源-CSDN文库

C语言课程设计——超市管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——火车票订票管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——商品销售系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——通讯录管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——图书管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——图书借阅系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——万年历系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——文本编辑器系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

?C语言课程设计——学生成绩管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——学生信息系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C&C++课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

?- ?版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 07:46:15  更:2021-11-24 07:46:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:14:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码