学生成绩管理系统(C语言版)--附全部源码(学生成绩管理系统c语言课程设计)
一、系统功能层次图

二、源代码
//头文件
#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语言经典编程100例实战-学习视频教程-腾讯课春雨直播app下载堂
-
AI越来越可怕了,能创造IP?(ai创作)
-
SpringBoot高校学生公寓宿舍管理系统源码(javaweb宿舍管理系统程序源码)
-
深圳罗湖一楼盘备案价9万元卖4万?办公属性,商办类物业打折促销很常见(深圳罗湖房价格多少)
-
深圳罗湖一楼盘备案价9万元卖4万?办公属性,“商办类物业打折促销很常见”(罗湖在售楼盘住宅房源)
-
智慧校园 人脸识别无感签到宿舍管理系统 为学生的安全做考量(智慧校园识别卡)
-
SpringBoot Vue学生管理系统,采用前后端分离开发的开源项目(springboot vue3)
-
jQuery- HTML表单 292(jquery form表单)
-
java学生信息管理系统(附源码)(利用java做一个学生管理系统)
最新更新
- SpringBoot高校学生公寓宿舍管理系统源码(javaweb宿舍管理系统程序源码)
- 深圳罗湖一楼盘备案价9万元卖4万?办公属性,商办类物业打折促销很常见(深圳罗湖房价格多少)
- 深圳罗湖一楼盘备案价9万元卖4万?办公属性,“商办类物业打折促销很常见”(罗湖在售楼盘住宅房源)
- 智慧校园 人脸识别无感签到宿舍管理系统 为学生的安全做考量(智慧校园识别卡)
- SpringBoot Vue学生管理系统,采用前后端分离开发的开源项目(springboot vue3)
- jQuery- HTML表单 292(jquery form表单)
- java学生信息管理系统(附源码)(利用java做一个学生管理系统)
- 实现高度内容自适应的 textarea(实现高度内容自适应的方法)
- 学生成绩管理系统(C语言版)--附全部源码(学生成绩管理系统c语言课程设计)
- 源码 | 学生信息管理系统(C语言 单链表实现)(基于c语言的学生信息管理系统毕业设计)
推荐阅读
- 小程序开发还能怎么玩 「云开发」模式了解一下(微信小程序云开发超详细实战攻略)
- regardlessT8300讲义:双栏wpforms配置文件点没法咋办?(regardless 自订配置文件)
- 《C语言从入门到精通(第4版)》PDF 电子书下载(c语言从入门到精通这本书怎么样)
- 角谷猜想是啥子哟?和我一起用Python耍下呗,学知识加Python练手(角谷猜想改为逢单数乘5再加1)
- 【AI】10张图总结2023年人工智能状况(10年后的人工智能)
- “全球门户”前景不明(前景不妙)
- 阿里张勇:人工智能浪潮是和20年前的数字化浪潮同等重要的机会(20年后的人工智能)
- 自学考试(天津大学人工智慧专精将于2019年已经开始录取)有关人工智慧专精,
- 瑞士电台进行人工智能(AI)播报实验:“人类还是‘AI’?”交往6年 3个孩子,乔治娜仍未拿下C罗,后者被曝不满欲分手(强人工智能会出现吗)
- 程序语言最差拳法1—— 融洽地采用思路商业模式(程序语言的采用自然法则有什么样文本)