学生成绩管理系统程序设计c语言Word下载.doc

上传人:wj 文档编号:7019203 上传时间:2023-05-07 格式:DOC 页数:19 大小:144.50KB
下载 相关 举报
学生成绩管理系统程序设计c语言Word下载.doc_第1页
第1页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第2页
第2页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第3页
第3页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第4页
第4页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第5页
第5页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第6页
第6页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第7页
第7页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第8页
第8页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第9页
第9页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第10页
第10页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第11页
第11页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第12页
第12页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第13页
第13页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第14页
第14页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第15页
第15页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第16页
第16页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第17页
第17页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第18页
第18页 / 共19页
学生成绩管理系统程序设计c语言Word下载.doc_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统程序设计c语言Word下载.doc

《学生成绩管理系统程序设计c语言Word下载.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统程序设计c语言Word下载.doc(19页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统程序设计c语言Word下载.doc

最后,就可以按照主菜单进行一系列的操作。

其实,这些程序的设计都是根据以前学过的只是进行的简单的程序的叠加。

没有什么可以害怕或是担心的。

3、系统完成功能及框图

退出程序

查看所有同学信息

输入学生记录

修改学生记录

按班级查询成绩

查询不及格同学

成绩统计

4、界面设计

主菜单

运行1后界面

运行4后界面

运行5后界面

5、核心算法及说明

#include<

stdio.h>

io.h>

stdlib.h>

string.h>

#defineMAX300

structstudent

{

charcla[10];

//班级

charterm[10];

//学期

charname[10];

//姓名

charno[10];

//学号

floatch;

//语文

floatma;

//数学

floaten;

//英语

floatcom;

//计算机

};

structdata

{

intcount;

//当前学生数组中学生的个数

structstudentstu[MAX];

//学生数组

}dd;

//显示主菜单

voidmenu()

system("

cls"

);

printf("

\n"

\t\t\t************************************\n"

\t\t\t**\n"

\t\t\t*学生成绩管理系统*\n"

\t\t\t*[0]退出*\n"

\t\t\t*[1]查看所有学生信息*\n"

\t\t\t*[2]输入学生记录*\n"

\t\t\t*[3]修改学生记录*\n"

\t\t\t*[4]查询(班级)*\n"

\t\t\t*[5]查询(不及格记录)*\n"

\t\t\t*[6]成绩统计*\n"

}

//等待用户按回车后回到主菜单

voidto_menu()

charc1,c2;

\n\n\n按回车键返回主菜单..."

scanf("

%c%c"

&

c1,&

c2);

menu();

//查看所有学生信息

voidview_data()

{

inti;

班级\t学期\t姓名\t学号\t语文\t数学\t英语\t计算机"

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

for(i=0;

i<

dd.count;

i++)

printf("

%s\t%s\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n"

dd.stu[i].cla,dd.stu[i].term,dd.stu[i].name,dd.stu[i].no,dd.stu[i].ch,dd.stu[i].ma,dd.stu[i].en,dd.stu[i].com);

//将数据从结构体数组保存到文件中

voidsave_data()

FILE*fp;

inti,k;

k=dd.count;

fp=fopen("

c:

/dada.txt"

"

w"

fwrite(&

k,sizeof(int),1,fp);

k;

fwrite(&

dd.stu[i],sizeof(structstudent),1,fp);

fclose(fp);

//输入学生记录(按班级和学期)

voidadd_data()

structstudentst;

intb;

inti,k,j;

charterm[10],cla[10];

请输入所要录入的学生的班级:

"

%s"

cla);

请输入所要录入的学期:

term);

while

(1)

{

j=0;

\n请输入学生信息:

\n姓名\t学号\t语文\t数学\t英语\t计算机"

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

scanf("

%s%s%f%f%f%f"

st.name,st.no,&

st.ch,&

st.ma,&

st.en,&

for(i=0;

{

if(strcmp(dd.stu[i].no,st.no)==0&

&

strcmp(dd.stu[i].term,term)==0)

{

if(strcmp(dd.stu[i].no,st.no)==0)

printf("

\n信息已存在,请重新输入!

j=1;

break;

}

}

if(j==1)

continue;

if(j==0)

{

k=dd.count;

strcpy(dd.stu[k].cla,cla);

strcpy(dd.stu[k].term,term);

strcpy(dd.stu[k].name,st.name);

strcpy(dd.stu[k].no,st.no);

dd.stu[k].ch=st.ch;

dd.stu[k].ma=st.ma;

dd.stu[k].en=st.en;

dd.stu[k].com=;

dd.count++;

}

\n\n继续添加学生信息[1-yes0-no]:

%d"

b);

if(b==0)break;

}

save_data();

//将数据从文件读到结构体数组中

voidread_data()

FILE*fp;

inti,k;

structstudentst;

k=0;

if(access("

0)==-1) //如果文件不存在

{

fp=fopen("

fwrite(&

fclose(fp);

}

fp=fopen("

r"

fread(&

dd.count=k;

for(i=0;

fread(&

st,sizeof(structstudent),1,fp);

strcpy(dd.stu[i].cla,st.cla);

strcpy(dd.stu[i].term,st.term);

strcpy(dd.stu[i].name,st.name);

strcpy(dd.stu[i].no,st.no);

dd.stu[i].ch=st.ch;

dd.stu[i].ma=st.ma;

dd.stu[i].en=st.en;

dd.stu[i].com=;

fclose(fp);

//修改学生成绩记录(按班级和学期)

voidedit_data()

charcla[10],term[10];

inti;

floatch,ma,en,com;

请输入所要修改记录的班级:

请输入所要修改记录的学期:

if(strcmp(dd.stu[i].cla,cla)==0&

{

printf("

\n姓名:

%s,学号:

dd.stu[i].name,dd.stu[i].no);

printf("

\n请修改学生数据:

\n语文成绩:

scanf("

%f"

ch);

dd.stu[i].ch=ch;

\n数学成绩:

ma);

dd.stu[i].ma=ma;

\n英语成绩:

en);

dd.stu[i].en=en;

\n计算机成绩:

com);

dd.stu[i].com=com;

\n\n编辑学生记录成功!

}

save_data();

//按班级输出成绩单

voidquery_data_cla()

inti;

charcla[10];

printf("

\n请输入要查询成绩的班级:

scanf("

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

{

printf("

printf("

}

//查询不及格科目的学生名单

voidquery_data_pass()

{

inti,s=0;

charcla[10],term[10];

请输入所要查询的班级:

请输入所要查询的学期:

for(i=0;

{

if(strcmp(dd.stu[i].term,term)==0&

strcmp(dd.stu[i].cla,cla)==0)

{

printf("

%s,学号:

%s的不及格科目有:

if(dd.stu[i].ch<

60){printf("

语文\t"

s++;

s=0;

if(dd.stu[i].ma<

数学\t"

if(dd.stu[i].en<

英语\t"

s=0;

if(dd.stu[i].com<

计算机\t"

if(s==0)printf("

0科"

}

}

//成绩统计(按班级和学期)求总分和平均分

voidcount_data()

inti,k=0;

floatsum[4]={0.0},average[4];

请输入所要统计记录的班级:

请输入所要统计记录的学期:

{

if(strcmp(dd.stu[i].cla,cla)==0&

{

k++;

sum[0]+=dd.stu[i].ch;

sum[1]+=dd.stu[i].ma;

sum[2]+=dd.stu[i].en;

sum[3]+=dd.stu[i].com;

}

average[0]=sum[0]/k;

average[1]=sum[1]/k;

average[2]=sum[2]/k;

average[3]=sum[3]/k;

printf("

\n所查询%s班级%s学期的各科总分为:

cla,term);

语文\t数学\t英语\t计算机"

%.1f\t%.1f\t%.1f\t%.1f\t"

sum[0],sum[1],sum[2],sum[3]);

\n所查询%s班级%s学期的各科平均分为:

average[0],average[1],average[2],average[3]);

//主函数

voidmain()

intfun;

read_data();

menu();

while

(1)

请输入功能号[0-8]:

fun);

scanf("

switch(fun)

case0:

//退出

break;

case1:

//查看所有学生信息

view_data();

case2:

//按班级和学期输入学生记录

add_data();

case3:

//按班级和学期修改学生记录

edit_data();

case4:

//查询(按班级)

query_data_cla();

case5:

//查询不及格学生及科目(按照班级和学期)

query_data_pass();

break;

case6:

//成绩统计(按班级和学期求平均分和总分)

count_data();

}

if(fun==0)break;

to_menu();

相关程序分析

1、查看所有学生信息

先定义相关变量,然后设计输入输出程序。

输出所要查询的东西,并设计好输出的形式,这是很重要的一点。

这样就可以查看到所有已存的学生信息了

2、按班级查询

同样先定义变量,然后按照要求设计所要输出的文字。

主要应用for循环对已存的所有的学生信息进行输出。

3、查询不及格的记录

同样还是先定义变量,设

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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