学生综合测评系统C语言课程设计

学生综合测评系统

1、问题描述
学校每年都要对学生进行综合测评,大量的数据采集和分析处理必须得使用信息化的方法才能进行管理。本系统完成对学生各项成绩的录入、查询、统计。评分公式为考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%,即综合测评总分=(考试成绩)0.6+(同学互评分)0.1+品德成绩0.1+任课老师评分0.2。
2、功能要求
(1)数据维护:对学生信息(包括学号、姓名、性别、家庭住址、联系电话)、各项成绩(包括考试平均成绩、同学互评分、品德成绩、任课教师评分)等信息增删改查操作。
(2)查询功能: 可根据学号、班级查询学生的综合测评成绩。
(3)统计功能: 计算综合测评总分及名次。
(4)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(5)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
大体框架如下:

#include <stdio.h> 
#include <stdlib.h> 
#define N 100
void init();
char welcome();
void InputInfo();
void view();
void xiugai();
void DeleteInfo();
void paiming1(struct student_info student[]);
void paiming2(struct student_info student[]);
void ViewAll();
void clean();
void PaimingView();
void exits();
struct student_info input();
void SortInfo(struct student_info student[]);
void ViewInfo(struct student_info *sp);
void SaveStruct(struct student_info *sp,int size,int n,char filename[20]);
void LoadStruct(struct student_info *sp,int size,int n,char filename[20]);
void SaveInt(int *p ,int size,int n,char filename[20]);
void LoadInt(int *p ,int size,int n,char filename[20]);
int NumExist(struct student_info student[],int num);

struct student_info
{
	int num;     //学号
    char name[6];   //姓名
	char sex[5];    //性别
	char adress[20]; //家庭住址
	char tel[11];    //电话
	int huping,pingde,jiaoping,paiming1,paiming2;
	double average,zhongping;
}student[N];
	int counter=0,PM=0;
	void main()
	{
		char select;
		init();
		while(1)
		{
			select=welcome();
			switch(select)
			{
			case '1':system("cls"); InputInfo(); break;     //选项1:输入学生信息
			case '2':system("cls");  view(); break;        //选项2:浏览学生信息
            case '3':system("cls"); xiugai(); break;       //选项3:修改学生信息
			case '4':system("cls"); DeleteInfo(); break;  //选项4:删除学生信息
			case '5':system("cls"); paiming1(student); paiming2(student); PM=1;
				getchar(); getchar(); system("cls"); break;    //选项5:学生信息排名
			case '6': system("cls"); ViewAll();break;     //选项6:浏览全部学生信息
			case '7': system("cls"); clean();break;    //选项7:清除所有信息
			case '8': system("cls"); PaimingView();break;   //选项8:查询排名
			case 'O':system("cls"); exits(); break;       //选项9:退出
			}

		}
	}
	void init()
	{
		FILE *fp;
		fp=fopen("counter.dat","rb");
		if(fp!=NULL)
		{
			fclose(fp);
			LoadInt(&counter,sizeof(counter),1,"counter.dat");
		}
		else
		{
			fp=fopen("counter.dat","wb"); 
			fclose(fp);
			counter=0;
		}
		if(counter!=0)           //载入学生数据
			LoadStruct(student,sizeof(struct student_info),counter,"student_info.dat");
	}
	char welcome()
	{
		char select;
		while(1)
		{
			system("cls");
			printf("\t\t 欢迎使用学生信息管理系统       \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("7.清除所有数据              \n\n");
			printf("8.查询排名                  \n\n");
			printf("O.退出                      \n\n");
			printf("输入相应的功能序号:");
			select=getchar();

			if(select=='1'||select=='2'||select=='3'||select=='4'||select=='5'||select=='6'||select=='7'||select=='8'||select=='O')
				return select;
			system("cls");
			continue;
		}
	}

在这里插入图片描述

  • 9
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值