中国继续教育网_助力学生自学考试学历提升

欢迎访问中国继续教育网!中国继续教育网:学历提升,文凭提升,自学考试,成人高考,出国留学等相关知识科普和分享!

学生成绩管理系统(C语言版)--附全部源码(学生成绩管理系统c语言课程设计)

2023-08-18分类:智能AI 阅读:86

一、系统功能层次图

二、源代码

//头文件

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <conio.h>

//成绩结构体

struct score

{

char snum[9];

char sname[11];

int chinese;

int math;

int english;

int sumcj;//成绩总数

int rank;//排名

};

//函数声明

void showmenu(void);//菜单

int xg(int);//修改成绩

void lr(int);//录入成绩

void cx(int);//查询成绩

void xhcx春雨直播app下载(int);//学号查询

void xmcx(int n);//姓名查询

void allrankcx(int);//排名查询

void showcxmenu(void);//二级菜单,查询菜单

void xs(int);//成绩显示

void jspm(int);//计算排名

int sc(int);//删除成绩

void bccj(void);//保存成绩并退出

//main函数

int main()

{

int flag,n=0,count=0;//flag标志位,count计数,当前总人数

//-------------判断文件里面有多少条记录--------------------//

FILE *fp;

fp春雨直播app下载=fopen("cj.txt","a+");

if(fp==NULL)

{

printf("打开文件失败,请重试! ");

getch();

fclose(fp);

exit(0);

}

int c = 0;

while(!feof(fp))

{

char cc = fgetc(fp);

if(cc==EOF)

{

break;

}

//输出字符

// putchar(cc);

c++;

}

count = c/14;

// printf("%d", count);

// getch();

fclose(fp);

//---------------------------------//

do

{

showmenu();

scanf("%d",&春雨直播app下载flag);//选择操作

switch(flag)

{

case 1: printf("请输入您要录入的人数:");

scanf("%d",&n);

lr(n);

count += n;break;

case 2: count=sc(count);break;

case 3: xg(count);break;

case 4: cx(count);break;

case 5: jspm(count);break;

case 6: xs(count);break;

case 0: bccj();break;

default:printf("输入错误,请重试! ");getch();

}

}while(flag!=0);

get春雨直播app下载ch();

return 0;

}

//0显示菜单

void showmenu()

{

system("cls");

printf("*----------------------------------------------------* ");

printf("* 欢迎使用**成绩管理系统 * ");

printf("*----------------------------------------------------* ");

printf("* 1: 录入成绩 * ");

printf("* 2: 删除成绩 * ");

printf("* 3: 修改成绩 * ");

printf("* 4: 春雨直播app下载成绩查询 * ");

printf("* 5: 成绩计算并排名 * ");

printf("* 6: 显示成绩信息 * ");

printf("* 0: 保存信息并退出系统 * ");

printf("*----------------------------------------------------* ");

printf("选择操作<0-6> ");

return;

}

//1录入成绩

void lr(int n)

{

struct score stu[100];

FILE *fp;

fp=fopen("cj.txt","a+");

if(fp==NULL)

{

printf("打开文件失败,请重试!春雨直播app下载 ");

getch();

fclose(fp);

exit(0);

}

printf("请输入全部学生的学号,姓名,语文成绩,数学成绩,英语成绩; ");

int i;

for(i=0;i<n;i++)

{

printf("----第%d个学生---- ", i+1);

printf("学号:");

scanf("%s",&stu[i].snum);

printf("姓名:");

scanf("%s,",&stu[i].sname);

printf("语文成绩:");

scanf("%d",&stu[i].chinese);

printf("数学成绩:");

scanf("%d",&stu[i].math);

print春雨直播app下载f("英语成绩:");

scanf("%d",&stu[i].english);

stu[i].sumcj=0;

stu[i].rank=0;

//写入数据

fprintf(fp,"%s %s %d %d %d %d %d ",stu[i].snum,stu[i].sname,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sumcj,stu[i].rank);}

fclose(fp);

printf("添加学生成功,请按任意键返回 ");

getch();

}

//4成绩查询

void cx(int n) //n全班人数

{

int k;

do

{

showcxmenu春雨直播app下载();

scanf("%d",&k);

switch(k)

{

case 1:xhcx(n);break;//学号查询

case 2:xmcx(n);break;//姓名查询

case 3:allrankcx(n);break;//全班排名查询

case 0:break;

default:printf("输入错误,请重新选择 ");getch();

}

}while(k!=0);

return;

}

//4.0查询菜单

void showcxmenu()

{

system("cls");

printf("*----------------------------------------------------* ");

pr春雨直播app下载intf("* 成绩查询菜单 * ");

printf("*----------------------------------------------------* ");

printf("* 1: 按学号查询 * ");

printf("* 2: 按姓名查询 * ");

printf("* 3: 全班排名查询 * ");

printf("* 0: 退出查询系统,返回主系统 * ");

printf("*----------------------------------------------------* ");

printf("选择操作<0-3> ");

}

//4.1学号查询

void春雨直播app下载 xhcx(int n)

{

struct score stu[100];

char snum[9];

printf("请输入你要查询学生的学号:");

scanf("%s",&snum);

FILE *fp;

fp=fopen("cj.txt ","r");

if(fp==NULL)

{

printf("打开文件失败! ");

getch();

exit(0);

}

int c = 0;

while(!feof(fp)){

fscanf(fp,"%s %s %d %d %d %d %d ",&stu[c].snum,&stu[c].sname,&stu[c].chinese,&stu[c].math,&stu[c].e春雨直播app下载nglish,&stu[c].sumcj,&stu[c].rank);

c++;

}

int i;

for(i=0;i<n;i++)

{

if(strcmp(snum,stu[i].snum)==0)

{

printf("学号 姓名 语文 数学 英语 总分 名次 ");

printf("%s %s %d %d %d %d %d ",stu[i].snum,stu[i].sname,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sumcj,stu[i].rank);

printf("按任意键返回 ");

getch();

fclose(f春雨直播app下载p);

return;

}

}

printf("未找到要查询学生的成绩,请重试! ");

getch();

fclose(fp);

return;

}

//4.2姓名查询

void xmcx(int n)

{

struct score stu[100];

char sname[11];

printf("请输入你要查询学生的姓名:");

scanf("%s",&sname);

FILE *fp;

fp=fopen("cj.txt ","r");

if(fp==NULL)

{

printf("打开文件失败! ");

getch();

exit(0);

}

int c = 0;

while(!feof(fp)){

fscanf(fp,"%s %s春雨直播app下载 %d %d %d %d %d ",&stu[c].snum,&stu[c].sname,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sumcj,&stu[c].rank);

c++;

}

int i;

for(i=0;i<n;i++)

{

if(strcmp(sname,stu[i].sname)==0)

{

printf("学号 姓名 语文 数学 英语 总分 名次 ");

printf("%s %s %d %d %d %d %d ",stu[i].snum,stu[i].sname,stu[i].chinese,春雨直播app下载stu[i].math,stu[i].english,stu[i].sumcj,stu[i].rank);

printf("按任意键返回 ");

getch();

fclose(fp);

return;

}

}

printf("未找到要查询学生的成绩,请重试! ");

getch();

fclose(fp);

return;

}

//4.3全班排名查询

void allrankcx(int n)

{

struct score stu[100];

struct score temp;

FILE *fp;

fp=fopen("cj.txt ","r");

if(fp==NULL)

{

printf("打开文件失败! ");

getch春雨直播app下载();

exit(0);

}

int c = 0;

while(!feof(fp)){

fscanf(fp,"%s %s %d %d %d %d %d ",&stu[c].snum,&stu[c].sname,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sumcj,&stu[c].rank);

c++;

}

int i,j;

for(i=0;i<n;i++)

{

if(stu[i].rank == 0){

printf("请先进行成绩计算进行排名!! ");

getch();

fclose(fp);

return;

}

stu[i].sumcj = stu[i]春雨直播app下载.chinese + stu[i].math + stu[i].english;

//冒泡排序算法:进行 n-1 轮比较

for(i=0; i<n-1; i++){

//每一轮比较前 n-1-i 个,也就是说,已经排序好的最后 i 个不用比较

for(j=0; j<n-1-i; j++){

if(stu[j].sumcj > stu[j+1].sumcj){

temp = stu[j];

stu[j] = stu[j+1];

stu[j+1] = temp;

}

}

}

printf("学号 姓名 语文 数学 英语 总分 名次 ");

for(i=0;i<n;i++)

{

printf("%s %s %d春雨直播app下载 %d %d %d %d ",stu[i].snum,stu[i].sname,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sumcj,stu[i].rank);

}

printf("按任意键返回 ");

getch();

fclose(fp);

return;

}

printf("查询失败,请重试! ");

getch();

fclose(fp);

return;

}

//5计算排名函数

void jspm(int n)

{

struct score stu[100];

int i,j,temp;

int count;

FILE *fp;

fp=fopen("c春雨直播app下载j.txt","r");

if(fp==NULL)

{

printf("打开文件失败! ");

getch();

exit(0);

}

int c = 0;

while(!feof(fp)){

fscanf(fp,"%s %s %d %d %d %d %d ",&stu[c].snum,&stu[c].sname,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sumcj,&stu[c].rank);

stu[c].sumcj = stu[c].chinese + stu[c].math + stu[c].english;

c++;

}

fclose(fp)春雨直播app下载;

//计算排名并存储

for(i=0;i<n;i++)

{

temp=1;//第1名

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

if(stu[i].sumcj<stu[j].sumcj) temp++;//如果较小,排名下降1名

}

stu[i].rank=temp;

}

//更新记录

fp=fopen("cj.txt","w");

for(i=0;i<n;i++)

{

fprintf(fp,"%s %s %d %d %d %d %d ",stu[i].snum,stu[i].sname,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sumcj,stu[i].rank);春雨直播app下载

}

fclose(fp);

printf("数据重新计算和排名成功,请按任意键返回主菜单。 ");

getch();

return;

}

//6显示成绩信息

void xs(int n)

{

struct score stu[100];

int i;

printf("成绩信息如下: ");

FILE *fp;

fp=fopen("cj.txt","r");

if(fp==NULL)

{

printf("打开文件失败,请重试! ");

getch();

fclose(fp);

exit(0);

}

printf("学号 姓名 语文 数学 英语 总分 名次 ");

int c = 0;

while(!feof(fp))

{

f春雨直播app下载scanf(fp,"%s %s %d %d %d %d %d ",&stu[c].snum,&stu[c].sname,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sumcj,&stu[c].rank);

c++;

}

if(n!=0){//人数不为0

for(i=0;i<c;i++)

{

printf("%s %s %d %d %d %d %d ",stu[i].snum,stu[i].sname,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sumcj,stu[i].ran春雨直播app下载k);

}

}

fclose(fp);

printf("显示完毕 ,请按任意键返回 ");

getch();

return;

}

//0保存信息并退出系统

void bccj()

{

printf("感谢您的使用,欢迎下次使用! ");

getch();

return;

}

各位可爱的同学们好,现在已经为大家准备好超级精典的C语言、C++语言、C语言经典算法100例、数据结构算法(C语言版)、Windows高级编程(上册)项目实战课程,希望可以帮助大家提高编程实战水平,点击链接就可以学习啦,祝大家学习开心,天天进步、前程似锦!!!

C语言入门指南系列-学习视频教程-腾讯课堂

C语言经典编程100例实战-学习视频教程-腾讯课春雨直播app下载

数据结构算法(C语言版)-学习视频教程-腾讯课堂

C++语言入门指南系列-学习视频教程-腾讯课堂

Windows高级编程(上册)-学习视频教程-腾讯课堂

部分文章来源于网络,仅作为参考,如果网站中图片和文字侵犯了您的版权,请联系我们处理!

上一篇:源码 | 学生信息管理系统(C语言 单链表实现)(基于c语言的学生信息管理系统毕业设计)

下一篇:实现高度内容自适应的 textarea(实现高度内容自适应的方法)

相关推荐

返回顶部