学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx

上传人:b****2 文档编号:1003996 上传时间:2023-04-30 格式:DOCX 页数:32 大小:20.75KB
下载 相关 举报
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第1页
第1页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第2页
第2页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第3页
第3页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第4页
第4页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第5页
第5页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第6页
第6页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第7页
第7页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第8页
第8页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第9页
第9页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第10页
第10页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第11页
第11页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第12页
第12页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第13页
第13页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第14页
第14页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第15页
第15页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第16页
第16页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第17页
第17页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第18页
第18页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第19页
第19页 / 共32页
学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx

《学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx(32页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统完整版 C程序设计源代码 不用链表 有添加 删除 查找 修改等功能Word文档格式.docx

/*定义学生学号为长整型*/

charname[20];

/*定义姓名为字符型,占12个字符*/

floatmath,English,physics,total,average;

floatTOT_math,TOT_English,TOT_physics,TOT_total,TOT_aver;

floataver_math,aver_English,aver_physics,aver_total,aver_average;

}student;

/*定义结构体名称为student*/

/****************************************输入初始值模块*******************************************/

voidinput(structstudent*p,intsize){

inti;

for(i=0;

i<

size;

i++){

printf("

请输入学号:

"

);

while

(1){scanf("

%ld"

&

p[i].num);

if(long(p[i].num)!

=p[i].num||long(p[i].num)<

=0){/*输入判断*/

printf("

输入错误,学号必须为整数,请重新输入:

"

fflush(stdin);

}

else{break;

}}

printf("

请输入姓名:

scanf("

%s"

p[i].name);

请输入数学成绩:

%f"

p[i].math);

if(float(p[i].math)!

=p[i].math||float(p[i].math)<

=0||p[i].math>

100||p[i].math<

0){

printf("

输入错误,数学成绩必须为0~100之间的数,请重新输入:

fflush(stdin);

else{break;

请输入英语成绩:

while

(1){scanf("

p[i].English);

if(float(p[i].English)!

=p[i].English||float(p[i].English)<

=0||p[i].English>

100||p[i].English<

输入错误,英语成绩必须为0~100之间的数,请重新输入:

fflush(stdin);

}

请输入物理成绩:

p[i].physics);

if(float(p[i].physics)!

=p[i].physics||float(p[i].physics)<

=0||p[i].physics>

100||p[i].physics<

\n"

信息录入成功!

\n\n"

}

/************************************************************************************************************/

/*************************************保存初始值到"

初始二进制值.txt"

模块*************************************/

voidsave(structstudent*p,intsize){/*保存模块*/

FILE*fp;

inti;

if((fp=fopen("

初始值二进制值.txt"

"

wb+"

))==NULL){/*建立文件*/

cannotopenthefile\n"

fwrite(&

p[i],sizeof(student),1,fp);

}/*快写函数,写到磁盘中为二进制数*/

fclose(fp);

/*关闭文件*/

voidsave0(structstudent*p,intsize){/*保存模块*/

初始值二进制值1.txt"

ab+"

/******************************************保存初始值到可浏览文件模块****************************************/

voidSAVE(structstudent*p,intsize){

inti,b=0;

请输入保存初始值的可浏览文件名:

scanf("

name);

if((fp=fopen(name,"

w+"

))==NULL){

文件名输入错误!

!

fprintf(fp,"

\n\t\t----------------------------------------------------------\n"

\t\t序号学号姓名数学英语物理\n"

fprintf(fp,"

\t\t----------------------------------------------------------"

);

i++){b++;

\t\t%-6d%-12d%-12s%-8.2f%-8.2f%-8.2f\n"

b,p[i].num,p[i].name,p[i].math,p[i].English,p[i].physics);

\t\t----------------------------------------------------------\n"

}

\n文件保存成功!

/******************************************读取初始值模块****************************************************/

intread(structstudent*p,intsize){

inti,n=0;

rb+"

i++){

if(fread(&

p[i],sizeof(structstudent),1,fp)!

=0){n++;

fclose(fp);

returnn;

/******************************************读取输出初始值模块************************************************/

voidread_print(structstudent*p,intsize){

inti,n=0,b=0;

}printf("

}}

n;

\t\t%-6d%-12d%-12s%-8.2f%-8.2f"

b,p[i].num,p[i].name,p[i].math,p[i].English);

%-8.2f\n"

p[i].physics);

/*********************************************计算总分和平均分模块*******************************************/

voidtotal_average(structstudent*p,intsize){/*求每位同学的总分和平均分模块*/

for(i=0;

i++){/*循环,从第一个同学开始计算到最后一个同学*/

p[i].total=p[i].math+p[i].English+p[i].physics;

/*每个同学的总分等于三科成绩之和*/

p[i].average=p[i].total/3;

/*每个同学的平均分等于总分的1/3*/

}

/**************************************输出初始值总分和平均分模块*******************************************/

voidread_print1(structstudent*p,intsize){

voidtotal_average(structstudent*p,intsize);

\n\t---------------------------------------------------------------------------\n"

\t序号学号姓名数学英语物理总分平均分\n"

\t---------------------------------------------------------------------------\n"

total_average(p,n);

\t%-6d%-12d%-12s%-8.2f%-8.2f"

%-8.2f%-10.2f%-8.2f\n"

p[i].physics,p[i].total,p[i].average);

/***************************************将初始值按平均分排序模块*********************************************/

voidrange(structstudent*p,intsize){/*所有同学的成绩按平均分由高到低排序模块*/

inti,j,k;

structstudenttemp;

/*定义一个student类型的变量备用*/

i++){/*用选择排序法进行排序*/

k=i;

for(j=i+1;

j<

j++)

if(p[k].average<

p[j].average){

temp=p[k];

p[k]=p[j];

p[j]=temp;

/************************************输出初始值按平均分排序的结果模块****************************************/

intread_print2(structstudent*p,intsize){

voidrange(structstudent*p,intsize);

\t学号姓名数学英语物理总分平均分名次\n"

range(p,n);

\t%-12d%-12s%-8.2f%-8.2f"

p[i].num,p[i].name,p[i].math,p[i].English);

%-8.2f%-10.2f%-8.2f%d\n"

p[i].physics,p[i].total,p[i].average,b);

returnn;

/********************保存初始值按平均分排序后结果到"

初始值按平均分排序二进制值.txt"

模块**********************************/

voidsave1(structstudent*p,intsize){/*保存模块*/

按平均分排序二进制值.txt"

/******************************************读取排序后结果模块************************************************

intread1(structstudent*p,intsize){

r+"

/*******************************保存初始值按平均分排序后结果到可浏览文件模块*********************************/

voidSAVE1(structstudent*p,intsize){

请输入保存排序结果的文件名:

\n\t-----------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2