学生成绩查询系统Word格式.docx
《学生成绩查询系统Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩查询系统Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
![学生成绩查询系统Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/9d1b5af9-ce01-476e-8dab-4363f7667d82/9d1b5af9-ce01-476e-8dab-4363f7667d821.gif)
1.系统以菜单方式工作
2.创建学生成绩信息并以磁盘文件保存;
3.读取磁盘文件并显示输出所有学生的成绩;
4.查询学生成绩
(1)按学号查询成绩
(2)学号姓名查询成绩
5.添加成绩记录;
6.修改指定姓名或学号的学生的成绩并可存盘;
7.显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。
二、详细设计
1、数据结构设计
#include<
stdio.h>
stdlib.h>
string.h>
windows.h>
intn=4;
structstudent
{
intnum;
/*学号*/
charname[10];
/*姓名*/
floatscore[3];
/*成绩*/
}
2.函数说明
1.主函数
main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。
2.其他部分功能函数包括
(1)将学生成绩信息保存为文件voidsave();
算法思想:
①定义指向文件的指针变量;
②输入保存路径及文件名,打开文件,若不能打开文件给出提示信息;
③将存有学生成绩信息的结构体数组信息依次保存到文件中。
(2)学生成绩信息录入函数voidinput()
①依次录入结构体数组中所包含的各个成员;
②直到输入的结构体成员中信息为4,数据输入结束;
③返回实际录入的学生成绩信息数。
(3)从文件中读出学生成绩信息voidoutput();
①定义指向结构体变量的指针和指向文件的指针;
②输入文件的路径,打开文件,若不能打开文件给出提示信息;
③将文件中的信息依次读出,最后结构体的指针为NULL。
3.函数设计
(1)主菜单函数main()
功能:
函数返回值为整数,代表所选的菜单项
intmain()
{
printf("
*********************************************************\n"
);
§
\n"
printf("
§
<
>
>
欢迎进入学生成绩记录系统<
【1】--------------------------创建学生成绩信息§
【2】--------------------------显示所有学生成绩信息§
【3】--------------------------添加学生成绩信息§
【4】--------------------------查询学生成绩信息§
【5】--------------------------修改学生的信息§
【6】--------------------------按分数段显示学生的信息§
【0】--------------------------退出§
请输入相应菜单编号:
"
(2)我负责编写的程序
A.添加学生信息
voidAddstudent()
FILE*fp;
structstudents;
fp=fopen("
stu.dat"
"
ab"
if((fp=fopen("
))==NULL)
Fileopenerror!
else
{
请输入所增加学生的学号姓名c语言成绩:
scanf("
%d"
&
s.num);
%s"
s.name);
%f"
s.score[0]);
fwrite(&
s,sizeof(structstudent),1,fp);
fclose(fp);
/*关闭文件*/
}
写入成功!
}//endfunctionAddstudent;
B.修改学生成绩
voidmodify()
intnumber,i;
请输入要修改信息的学生学号:
"
scanf("
number);
for(i=0;
i<
n;
i++)
if(number==stud[i].num)
break;
/*查找判断*/
if(i<
n)/*查找判断*/
{
printf("
请输入修改后的学生的信息:
\n请输入学生的c语言成绩:
scanf("
stud[i].score[0]);
save();
}
else
没找到该学生的信息\n"
system("
paues"
system("
cls"
C.查询学生成绩
voidnamecheck(void);
voidscorecheck(void);
voidsearchmenu()
{printf("
*****欢迎进入学生成绩查询系统******\n"
*1------------------按姓名查询成绩*\n"
*2-----------------按学号查询成绩*\n"
*3-----------------返回上一层*\n"
*4------------------退出*\n"
*************************************\n"
intm;
m);
switch(m)
case1:
namecheck();
system("
PAUSE"
CLS"
case2:
scorecheck();
case3:
main();
break;
case4:
exit(0);
break;
voidnamecheck()
{
按照姓名查询请按\n"
\n请输入姓名:
name);
查询结果\n"
学号姓名c语言成绩\n"
if(strcpy(stud[i].name,name))
{
printf("
%d%s%.2f\n"
stud[i].num,stud[i].name,stud[i].score[0]);
}
voidscorecheck()
intb;
按照学号查询请按\n"
\n请输入学号:
b);
for(i=0;
if(stud[i].num==b)
三、程序清单和执行结果
1.头文件
#include<
/******以下是函数原型*******/
voidsave(void);
voidinput(void);
voidoutput(void);
voidmodify();
/*修改信息*/
voidsearchmenu(void);
/*查询信息*/
voidnamecheck(void);
/*按姓名查询*/
voidscorecheck(void);
/*按学号查询*/
voidAddstudent();
/*添加信息*/
voidsclsearch();
/*成绩按分数段显示*/
2.函数源程序代码与运行结果
[1]函数源程序代码
}stud[100];
inti,choose,a,t=0;
longintnum;
voidmodif