学生成绩管理系统程序设计c语言Word格式.doc
- 文档编号:14566095
- 上传时间:2022-10-23
- 格式:DOC
- 页数:19
- 大小:144.50KB
学生成绩管理系统程序设计c语言Word格式.doc
《学生成绩管理系统程序设计c语言Word格式.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统程序设计c语言Word格式.doc(19页珍藏版)》请在冰豆网上搜索。
学生成绩信息包括:
学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。
主要功能:
(1)能按学期、按班级完成对学生成绩的录入、修改
(2)能按班级统计学生的成绩,求学生的总分及平均分
(3)能查询学生成绩,不及格科目及学生名单
(4)能按班级输出学生的成绩单
要求:
使用二进制文件方式存储数据,系统以菜单方式工作
2、设计思想
我们设计的学生成绩管理系统共有7个功能,所涉及到的函数有按回车返回主菜单、查询、保存、输入、修改、输出、统计等等。
这是一个关于学生成绩的管理系统,所以就会涉及到一系列问题,例如:
去各科成绩的总和、平均值、不几个学生的科目及对应的成绩。
这个程序的整个思路就是按照要求写出相应的程序并使之能够运行。
首先,写出所有能够用到的库函数,并设计出能够显示主菜单的程序。
其次按照主菜单设计出所有的有关程序。
再次,由于这个程序会用到结构体所以会涉及到“将数据从结构体数组保存到文件中”、“将数据从文件读到结构体数组中”这两个程序。
为了使程序更完美还涉及了主函数的显示。
最后,就可以按照主菜单进行一系列的操作。
其实,这些程序的设计都是根据以前学过的只是进行的简单的程序的叠加。
没有什么可以害怕或是担心的。
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();
//将数据从文件读到结构体数组中
voi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 程序设计 语言