ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:18.15KB ,
资源ID:9384684      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9384684.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用c语言编写学生成绩管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用c语言编写学生成绩管理系统.docx

1、用c语言编写学生成绩管理系统#include /编译预处理指令#include /定义处理字符串函数#include /宏指令的声明#include /定义通过控制台进行数据输入以及输出#define N 2000 /最多的人数人#define M 3 /统计成绩typedef struct student /定义类型 char number10; /保存所有人的学号 char name20; /保存学生姓名 char sex10; /保存性别 float scoreM; /保存所有课程成绩 float aver; /保存每个人的平均成绩 float total; /总计成绩STU;STU s

2、tuN;int n;void inputscore(void); /学生成绩新建void savescore(void); /学生成绩保存void avergescore(void); /学生平均成绩void total(void); /学生成绩总计void modifyscore(void); /学生成绩修改void lookscore(void); /学生成绩查看 void searchscore(void); /学生成绩查询void statistic(void); /学生成绩统计void add(void); /学生成绩添加void modify(void); /学生成绩修改void

3、delscore(void); /学生成绩删除void menu(void); /学生成绩菜单void main() short int flag=0; menu(); do flag=1; switch(getch() case 1 : inputscore();break; /在菜单界面输入1,调用i函数nputscore()实现输入学生成绩信息功能 case 2 : lookscore();break; /在菜单界面输入2,调用函数lookscore()实现学生成绩按平均分高低排序输出,同时lookscore()函数调用avregescore()函数实现各个学生的平均分计算 case 3

4、 : searchscore();break; /在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能 case 4 : statistic();break; /在菜单界面输入4,调用statistic()函数输出每一门课程的最高分,平均分以及不及格人员 case 5 : modify();break; /在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能 case 6 : add();break; /在菜单界面输入6,调用add()函数实现添加学生成绩 case 7 : delscore();break; /在菜单界面输入7,调用dels

5、core()函数实现删除指定学生的成绩 case 8 : savescore();break; /在菜单界面输入8,调用savescore()函数将学生成绩信息保存 case 9 :exit(0); break; /在菜单界面输入9,退出成绩管理系统 default : printf(输入有误n); printf(按任意键继续n); getch(); /按任意键继续,起到暂停的作用,函数头文件conio.h已经定义过 menu(); / 菜单 while (flag=1);void menu(void) system(cls); /清屏 printf(n); printf( 欢迎进入学生成绩管

6、理系统n); printf( 菜单 n); printf( 输入成绩-1n); printf( 查看成绩及成绩排序-2n); printf( 查询学生成绩-3n); printf( 成绩统计-4n); printf( 修改成绩-5n); printf( 添加成绩-6n); printf( 删除成绩-7n); printf( 保存成绩-8n); printf( 退出系统-9n); printf( n); printf( 请输入您的选择(19)n);/*输入各个同学的学生信息*/void inputscore(void) /输入成绩 int i,j; system(cls); /清屏专用,以下出现

7、位置作用相同 printf( 已经转到输入成绩菜单n); printf(请输入学生总数:n); scanf(%d,&n); printf(提示:输入学号时请输入9位学生编号:图书借阅证上的学号n); /因二维表上下需对正故有此要求 for(i=0;in;i+) printf(n); printf(请输入第%d位学生的学号:n,i+1); scanf(%s,stui.number); /输入学生学号 printf(:n); scanf(%s,stui.name); /输入学生名字 printf(请输入该学生性别n); scanf(%s,stui.sex); /输入性别 printf(请输入学生成

8、绩:n); printf(高数分t英语分tC语言分n); for(j=0;jM;j+) scanf(%f,&stui.scorej); /输入高数、英语、C语言的成绩 printf( 成功输入(按任意键继续后请输入8进行保存)n);/*计算各个同学的总分*/void total(void) int i,j; /定义变量i,j;i用来表示学生个数,j则用来表示学生每门课的分数 for(i=0;in;i+) stui.total=0; for(j=0;jM;j+) /M表示科目在头文件出已经定义 stui.total+=stui.scorej; /*计算各个同学的平均分*/void averges

9、core(void) int i,j; /定义变量i,j;i用来表示学生个数,j则用来表示学生每门课的分数 for(i=0;in;i+) stui.aver=0; for(j=0;jM;j+) /M表示科目在头文件出已经定义 stui.aver+=stui.scorej; stui.aver=stui.aver/M; /计算平均分 /*查看学生成绩及根据平均分对学生进行排序*/void lookscore(void) int i,j,k; / i,j,k都表示学生成绩比较用来调换顺序 STU t; total(); / 此处用来对调用函数的声明 avergescore(); system(cl

10、s); / 清屏专用 printf( 已经转到查看成绩及成绩排序菜单n); for(i=0;in-1;i+) for(k=i,j=i+1;jstuk.aver) k=j; if(k!=j) t=stuk; stuk=stui; stui=t; printf(名次t学号tt姓名t性别t高数分t英语分tC语言分t总分t平均分n); for(i=0;in;i+) printf(%dt%st%st%st,i+1,stui.number,stui.name,stui.sex); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.t

11、otal); printf(%4.2f,stui.aver); printf(n); /*通过输入学号查找学生成绩*/void searchscore(void) char a10; /定义数组a的类型可输入数字,字母或字符 int i,j; system(cls); /清屏 printf( 已经转到查询学生成绩菜单n); printf(请输入需查询的学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,stui.number)=0) /如果输入的学号为真则输出相关信息 printf(名次t学号tt姓名t性别t高数分t英语分tC语言分t总分t平均分n)

12、; printf(%dt%st%st%st,i+1,stui.number,stui.name,stui.sex); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total); printf(%4.2f,stui.aver); printf(n); break; /找到该学生成绩信息后跳出for循环 else printf(未找到该学生信息n); /*统计学生成绩信息,计算出每一门课的最高分*/ void statistic() int i,j=0,k=0,c1; char str2; float averageM

13、,sum=0; printf(没有可被查找的记录n); / system(cls); if(M=0) /如果没有输入成绩则输出没有可查找的记录 printf(没有可被查找的记录n); else while(1) printf(下面将统计考试成绩n); printf(请选择你要统计哪科的成绩 1.高数t2.英语t3.C语言n); scanf(%d,&c1); printf(t一共有%d个记录n,M); /*总共记录数*/ switch(c1) case 1: /用来判断高数的最高分,平均分,输出不及格人员名单 for(i=0;istui.score0) k=i; if(stuj.score0st

14、ui.score0) j=i; average0=sum/M; printf(t高数的最高分:n); printf(tt学号:%s :%s 分数:%.2fn,stuj.number,stuj.name,stuj.score0); printf(t高数的最低分是:n); printf(tt学号:%s :%s 分数:%.2fn,stuk.number,stuk.name,stuk.score0); printf(t高数的平均分是 %5.2fn,average0); printf(平均分低于60分的学生成员名单n); for(i=0;iM;i+) if(stui.score060) printf(%

15、sn,stui.name); break; case 2: / 用来判断英语的最高分,平均分,输出不及格人员名单 for(i=0;istui.score1) k=i; if(stuj.score1stui.score1) j=i; average1=sum/M; printf(t英语的最高分:n); printf(tt学号:%s :%s 分数:%.2fn,stuj.number,stuj.name,stuj.score1); printf(t英语的最低分是:n); printf(tt学号:%s :%s 分数:%.2fn,stuk.number,stuk.name,stuk.score1); p

16、rintf(t英语的平均分是 %5.2fn,average1); printf(平均分低于60分的学生成员名单n); for(i=0;iM;i+) if(stui.score160) printf(%sn,stui.name); break; case 3: /用来判断C语言的最高分,平均分,输出不及格人员名单 for(i=0;istui.score2) k=i; if(stuj.score2stui.score2) j=i; average2=sum/M; printf(tC语言的最高分:n); /*最高分*/ printf(tt学号:%s :%s 分数:%.2fn,stuj.number,

17、stuj.name,stuj.score2); printf(tC语言的最低分是:n); /*最低分*/ printf(tt学号:%s :%s 分数:%.2fn,stuk.number,stuk.name,stuk.score2); printf(tC语言的平均分是 %5.2fn,average2); printf(平均分低于60分的学生成员名单n); for(i=0;iM;i+) if(stui.score260) printf(%sn,stui.name); break; default: /如果输入的数字不符合要求则显示错误信息 printf(输入错误!请输入13之间的数n); sum=

18、0; getchar(); printf(是否继续进行统计?(y/n); gets(str); if(str0=y|str0=Y) statistic(); else break; /*修改学生成绩*/void modify(void) char a10; int i,j; system(cls); printf( 已经转到修改成绩菜单n); printf(请输入需要修改成绩的学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,stui.number)=0) printf(名次t学号tt姓名t性别t高数分t英语分tC语言分t总分t平均分n); pri

19、ntf(%dt%st%st%st,i+1,stui.number,stui.name,stui.sex); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2f,stui.total); printf(%4.2f,stui.aver); printf(n); printf(请重新输入该学生的姓名:n); scanf(%s,stui.number); printf(n); scanf(%s,stui.name); printf(请输入该学生性别n); scanf(%s,stui.sex); printf(请重新输入该学生成绩:n); pr

20、intf(高数分t英语分tC语言分n); for(j=0;jM;j+) scanf(%f,&stui.scorej); printf(修改成功n); break; /找到该学生成绩后进行修改,跳出for循环 else printf(请确认该学生是否为该校学生!n); /*添加学生成绩*/void add(void) int a,i,j; /i定义为学生,j为学生分数,a代表加入学生的数量 system(cls); printf( 已经转到添加成绩菜单n); printf(请输入新增加的学生人数:n); scanf(%d,&a); n=n+a; for(i=n-a;in;i+) printf(n

21、); printf(请输入第%d位学生的学号:n,i+1); scanf(%s,stui.number); printf(:n); scanf(%s,stui.name); printf(输入该学生性别n); scanf(%s,stui.sex); printf(请输入学生成绩:n); printf(高数分t英语分tC语言分n); for(j=0;jM;j+) scanf(%f,&stui.scorej); printf(添加成功n); /*删除学生成绩*/void delscore(void) int i,j,c; char m,a10; /m用来存放后面输入删除的字母y或n system(

22、cls);printf( 已经转到删除成绩菜单n); printf(请输入学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,stui.number)=0) printf(名次t学号tt姓名t性别t高数分t英语分tC语言分t总分t平均分n); printf(%dt%st%st%st,i+1,stui.number,stui.name,stui.sex); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total); printf(%4.2f,stui.aver); prin

23、tf(n); c=i; break; else printf(未找到该学生信息n); printf(是否删除该学生成绩(y/n)n); scanf(%s,&m); if(m=y) for(i=c;in-1;i+) stui=stui+1; /结构体整体赋值将后一位学生成绩信息拷贝进入前一位学生信息的存储位置 n=n-1; /删除该学生信息后学生总数减一 printf(删除成绩成功n); else printf(删除成绩失败n);/*保存学生成绩*/void savescore(void) FILE *fp; /定义指针 int i,flag=1; char m; system(cls); printf( 已经转到保存成绩菜单n); puts(是否保存学生成绩(y/n); scanf(%s,&m); if(m=y) if(fp=fopen(score.dat,wb)=NUL

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1