,,C语言实现简单班级成绩管理系统

,,C语言实现简单班级成绩管理系统

这篇文章主要为大家详细介绍了C语言实现简单班级成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前言:

有朋友最近在做c语言课设,要求写一个班级成绩管理系统,便写份简单的代码来玩。代码原创,未参考任何其他人的代码

程序要求

说明

本程序主要采用结构体数组本文件采用多文件编写,由于程序规模小,故未采用编写头文件的方式使用#杂注一次来防止头文件重复包含

代码

怎么使用本程序看看注释应该就知道了运行主网站就行。其他各文件作用:

定义c定义了一些常量和全局变量,结构体myIO.c实现了成绩录入和成绩打印输出file.c实现了将成绩保存为文件菜单。c实现了菜单功能功能。c包含其他一些要用的函数

主网站

#include 'menu.c '

int main()

{

select();

返回0;

}

定义c

//相同头文件只包含一次,后不赘述

#杂注一次

#包含标准视频

#包含标准库

#包含字符串。h

#定义确定一

#定义错误0

#定义正确一

#定义假0

#定义状态(同Internationalorganizations)国际组织

//课程

typedef结构课程

{

char name[30];

(同Internationalorganizations)国际组织分数;

}当然,* p课程

//学生

typedef结构学生

{

字符数[30];

char name[30];

pCourse pC

}学生,* p学生

//n是学生数,m是课程数

int n,m;

char courseName[30],studentName[30],course[20][30];

p学生pS=空

myIO.c

#杂注一次

#包括'定义c '

p学生输入studentinfo(void);

void printStudentInfo(p学生pS);

//录入学生信息

p学生输入学生信息(无效)

{

int i,j;

printf('请输入学生人数和课程:');

scanf('%d %d ',n,m);

printf('请输入课程名称:');

for(I=0;我是m;我)

{

scanf('%s ',course[I]);

}

p Student pS=(p Student)malloc(sizeof(Student)* n);

如果(!pS)

返回空

printf('请输入信息:\ n’);

for(I=0;I n;我)

{

pS[我]。pC=(pCourse)malloc(sizeof(Course)* m);

如果(!pS[我]。pC)

返回空

scanf('%s %s ',pS[i]).名字,pS[i].号);

for(j=0;j m;j)

{

strcpy(pS[i].pC[j].姓名,课程[j]);

scanf('%d ',pS[i].pC[j].分数);

}

}

返回pS;

}

//打印所有学生信息

void printStudentInfo(p学生pS)

{

int i,j;

//打印标题

printf(' Name \ t number \ t ');

for(I=0;我m-1;我)

printf('%s\t ',course[I]);

printf('%s\n ',course[I]);

//显示信息

for(I=0;I n;我)

{

printf('%s\t%s\t ',pS[i]).名字,pS[i].号);

for(j=0;j m-1;j)

printf('%d\t ',pS[i].pC[j].分数);

printf('%d\n ',pS[i].pC[j].分数);

}

}

file.c

#杂注一次

#包括'定义c '

status saveStudentInfo(p学生pS);

状态保存学生信息(p学生pS)

{

文件* fp

int i,j;

字符文件名[30],字符串[100]='学号;

printf('请输入文件名:');

scanf('%s ',文件名);

fp=fopen(文件名,‘w’);

如果(!fp)

返回错误;

for(I=0;我是m;我)

{

strcat(str,' ');

strcat(str,course[I]);

}

strcat(str,' \ n ');

for(I=0;I n;我)

{

strcat(str,pS[i].姓名);

strcat(str,' ');

strcat(str,pS[i].号);

for(j=0;j m;j)

{

茶评分[30];

itoa(pS[i].pC[j].得分,得分,10);

strcat(str,' ');

strcat(str,score);

}

strcat(str,' \ n ');

}

fputs(str,FP);

fclose(FP);

退货OK;

}

菜单。c

#杂注一次

#包括'定义c '

#包含" myIO.c "

#include 'file.c '

#include 'function.c '

void menu();

void select();

//菜单

无效菜单()

{

printf('-\ n ');

printf(' | Menu | \ n ');

printf('| 1 .input | \ n ');

printf('| 2 .show | \ n ');

printf('| 3 .save | \ n ');

printf('| 4 .sort | \ n ');

printf('| 5 .modify | \ n ');

printf('| 6 .count | \ n ');

printf("| 0 .exit | \ n ');

printf('-\ n ');

}

无效选择()

{

(同Internationalorganizations)国际组织分支;

而(真)

{

系统(“cls”);

menu();

printf('[Input]:');

scanf('%d ',分支);

如果(!分支)

打破;

开关(分支)

{

案例1:

{

pS=inputStudentInfo();

if (pS==NULL)

printf('输入错误!请重新输入\ n’);

其他

printf('输入成功!\ n’);

系统("暂停");

打破;

}

案例二:

{

printStudentInfo(pS);

系统("暂停");

打破;

}

案例三:

{

if (OK==saveStudentInfo(pS))

printf('保存成功!\ n’);

其他

printf('保存失败!\ n’);

系统("暂停");

打破;

}

案例4:

{

排序(pS);

printf('排序成功\ n’);

系统("暂停");

打破;

}

案例5:

{

int RES=modify(pS);

中频(分辨率)

{

printf('更改成功!\ n’);

}

其他

{

printf('更改失败!\ n’);

}

系统("暂停");

打破;

}

案例6:

{

int选择

//输入一显示每门课程最高成绩信息

//输入2显示每门课程平均成绩信息

printf('最高分选1:\ n’);

printf('平均分选2:\ n’);

printf('[Input]:');

scanf('%d ',choose);

if (choose==1)

{

秀max(pS);

}

else if (choose==2)

{

显示平均值(pS);

}

其他

{

//输入非法提示信息

printf('输入错误!\ n’);

}

系统("暂停");

打破;

}

}

}

}

功能。c

#包括'定义c '

空的排序(p学生pS);

作废互换(p学生s1,p学生S2);

void秀平均分(p学生pS);

void show max(p学生pS);

状态修改(学生pS);

//按课程成绩排序

空排序(p学生pS)

{

int courseNumber,I,j,k;

char courseName[30];

printf('请输入您要排序的课程名称:');

scanf('%s ',课程名称);

for(课程编号=0;课程编号m;课程编号)

if (strcmp(course[courseNumber],courseName)==0)

打破;

//如果找不到课程,则认为是按总分排序

如果(课程编号==m)

{

printf('按总分排序:\ n’);

//选择排序

for(I=0;I n-1;我)

{

int flag=I;

for(j=I ^ 1;j n;j)

{

int totalScore_1=0,total score _ 2=0;

for(k=0;k m;k)

{

totalScore_1=pS[j].pC[k].分数;

totalScore_2=pS[flag].pC[k].分数;

}

if (totalScore_1 totalScore_2)

{

flag=j;

}

}

Swap(pS[i],pS[flag]);

}

}

其他

{

//选择排序

for(I=0;I n-1;我)

{

int flag=I;

for(j=I ^ 1;j n;j)

{

if (pS[j].pC[课程编号]。分数pS[flag].pC[课程编号]。分数)

{

flag=j;

}

}

Swap(pS[i],pS[flag]);

}

}

}

//修改学生信息

状态修改(学生pS)

{

//密码是1314

char password[30]='1314 ',PSD[30];

字符数[30];

(同Internationalorganizations)国际组织得分,I,j;

printf('请输入密码:');

scanf('%s ',PSD);

//密码正确才继续,否则返回错误

if (strcmp(密码psd)==0)

{

printf('请输入学号:');

scanf('%s ',编号);

for(I=0;I n;我)

{

//找到学生则继续,否则返回错误

if (strcmp(pS[i]).数字,数字)==0)

{

printf('请输入课程并逐一评分:\ n’);

scanf('%s %d ',courseName,score);

for(j=0;j m;j)

{

//找到课程才继续,否则返回错误

if (strcmp(pS[i]).pC[j].name,courseName)==0)

{

//修改课程成绩

pS[我]。pC[j].分数=分数;

退货OK;

}

}

返回错误;

}

}

返回错误;

}

其他

返回错误;

}

//输出各课程最高分的学生

void showMax(pStudent pS)

{

int i,j,max

for(I=0;我是m;我)

{

max=0;

for(j=0;j n;j)

{

if (pS[j].pC[i].分数pS[max].pC[i].分数)

max=j;

}

printf('%s\t%s\t%s\t%d\n ',课程[i],pS[max].名称,pS[max].数量,pS[最大值]。pC[i].分数);

}

}

//显示各课程的平均成绩

无效显示平均值(学生版pS)

{

int i,j;

双欢迎

for(I=0;我是m;我)

{

ave=0;

for(j=0;j n;j)

{

ave=pS[j].pC[i].分数;

}

printf('%s\t%.2lf\n ',course[i],ave/n);

}

}

无效交换(学生s1,学生s2)

{

int I;

char studentName[30],number[30];

//交换姓名

strcpy(学生名,S1-姓名);

strcpy(S1-名字,S2-名字);

strcpy(S2-姓名,学生姓名);

//交换学号

strcpy(数字,S1-数字);

strcopy(S1-数字,S2-数字);

strcpy(s2-number,number);

//交换成绩

for(I=0;我是m;我)

{

int temp=s1-pC[i].分数;

s1-pC[i].得分=s2-pC[i].分数;

s2-pC[i].分数=温度

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: