学生成绩查询系统方案.docx

上传人:b****0 文档编号:9864913 上传时间:2023-05-21 格式:DOCX 页数:28 大小:199.98KB
下载 相关 举报
学生成绩查询系统方案.docx_第1页
第1页 / 共28页
学生成绩查询系统方案.docx_第2页
第2页 / 共28页
学生成绩查询系统方案.docx_第3页
第3页 / 共28页
学生成绩查询系统方案.docx_第4页
第4页 / 共28页
学生成绩查询系统方案.docx_第5页
第5页 / 共28页
学生成绩查询系统方案.docx_第6页
第6页 / 共28页
学生成绩查询系统方案.docx_第7页
第7页 / 共28页
学生成绩查询系统方案.docx_第8页
第8页 / 共28页
学生成绩查询系统方案.docx_第9页
第9页 / 共28页
学生成绩查询系统方案.docx_第10页
第10页 / 共28页
学生成绩查询系统方案.docx_第11页
第11页 / 共28页
学生成绩查询系统方案.docx_第12页
第12页 / 共28页
学生成绩查询系统方案.docx_第13页
第13页 / 共28页
学生成绩查询系统方案.docx_第14页
第14页 / 共28页
学生成绩查询系统方案.docx_第15页
第15页 / 共28页
学生成绩查询系统方案.docx_第16页
第16页 / 共28页
学生成绩查询系统方案.docx_第17页
第17页 / 共28页
学生成绩查询系统方案.docx_第18页
第18页 / 共28页
学生成绩查询系统方案.docx_第19页
第19页 / 共28页
学生成绩查询系统方案.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生成绩查询系统方案.docx

《学生成绩查询系统方案.docx》由会员分享,可在线阅读,更多相关《学生成绩查询系统方案.docx(28页珍藏版)》请在冰点文库上搜索。

学生成绩查询系统方案.docx

学生成绩查询系统方案

《程序设计基础》课程设计

 

设计题目:

_学生成绩查询系统_______

专业:

班级:

___

__

学号:

指导老师:

________

 

一、课程设计目的与要求

1.课程设计目的

(1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。

(2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。

2.课程设计要求

设计一个简易学生成绩记录簿设计,其中包括:

,学号,C语言成绩;

具体功能:

1.系统以菜单方式工作

2.创建学生成绩信息并以磁盘文件保存;

3.读取磁盘文件并显示输出所有学生的成绩;

4.查询学生成绩

(1)按学号查询成绩

(2)学号查询成绩

5.添加成绩记录;

6.修改指定或学号的学生的成绩并可存盘;

7.显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。

 

二、详细设计

1、数据结构设计

#include

#include

#include

#include

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");

printf("§§\n");

printf("§<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§\n");

printf("§>>欢迎进入学生成绩记录系统<<§\n");

printf("§>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<§\n");

printf("§§\n");

printf("§【1】--------------------------创建学生成绩信息§\n");

printf("§§\n");

printf("§【2】--------------------------显示所有学生成绩信息§\n");

printf("§§\n");

printf("§【3】--------------------------添加学生成绩信息§\n");

printf("§§\n");

printf("§【4】--------------------------查询学生成绩信息§\n");

printf("§§\n");

printf("§【5】--------------------------修改学生的信息§\n");

printf("§§\n");

printf("§【6】--------------------------按分数段显示学生的信息§\n");

printf("§§\n");

printf("§【0】--------------------------退出§\n");

printf("§§\n");

printf("*********************************************************\n");

printf("请输入相应菜单编号:

");

}

(2)我负责编写的程序

A.添加学生信息

voidAddstudent()

{

FILE*fp;

structstudents;

fp=fopen("stu.dat","ab");

if((fp=fopen("stu.dat","ab"))==NULL)

printf("Fileopenerror!

\n");

else

{

printf("请输入所增加学生的学号c语言成绩:

\n");

scanf("%d",&s.num);

scanf("%s",s.name);

scanf("%f",&s.score[0]);

fwrite(&s,sizeof(structstudent),1,fp);

fclose(fp);/*关闭文件*/

}

printf("写入成功!

\n");

}//endfunctionAddstudent;

B.修改学生成绩

voidmodify()

{

intnumber,i;

printf("请输入要修改信息的学生学号:

");

scanf("%d",&number);

for(i=0;i

if(number==stud[i].num)

break;/*查找判断*/

if(i

{

printf("请输入修改后的学生的信息:

");

printf("\n请输入学生的c语言成绩:

");

scanf("%f",&stud[i].score[0]);

save();

}

else

printf("没找到该学生的信息\n");

system("paues");system("cls");

}

C.查询学生成绩

voidnamecheck(void);

voidscorecheck(void);

voidsearchmenu()

{printf("*****欢迎进入学生成绩查询系统******\n");

printf("*1------------------按查询成绩*\n");

printf("*2-----------------按学号查询成绩*\n");

printf("*3-----------------返回上一层*\n");

printf("*4------------------退出*\n");

printf("*************************************\n");

printf("请输入相应菜单编号:

");

intm;

scanf("%d",&m);

switch(m)

{

case1:

namecheck();

printf("\n");

system("PAUSE");

system("CLS");

break;

case2:

scorecheck();

printf("\n");

system("PAUSE");

system("CLS");

break;

case3:

main();break;

case4:

exit(0);break;

}

}

voidnamecheck()

{

charname[10];

printf("按照查询请按\n");

printf("\n请输入:

");

scanf("%s",&name);

printf("查询结果\n");

printf("学号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;

printf("按照学号查询请按\n");

{

printf("\n请输入学号:

");

scanf("%d",&b);

printf("查询结果\n");

printf("学号c语言成绩\n");

for(i=0;i

if(stud[i].num==b)

{

printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);

}

}

三、程序清单和执行结果

1.头文件

#include

#include

#include

#include

intn=4;

structstudent

{

intnum;/*学号*/

charname[10];/**/

floatscore[3];/*成绩*/

/******以下是函数原型*******/

voidsave(void);

voidinput(void);

voidoutput(void);

voidmodify();/*修改信息*/

voidsearchmenu(void);/*查询信息*/

voidnamecheck(void);/*按查询*/

voidscorecheck(void);/*按学号查询*/

voidAddstudent();/*添加信息*/

voidsclsearch();/*成绩按分数段显示*/

2.函数源程序代码与运行结果

[1]函数源程序代码

#include

#include

#include

#include

intn=4;

structstudent

{

intnum;

charname[10];

floatscore[3];

}stud[100];

inti,choose,a,t=0;

longintnum;

intmain()

{

voidsave(void);

voidinput(void);

voidoutput(void);

voidmodify();

voidsearchmenu(void);

voidAddstudent();

voidsclsearch();

while

(1)

{

printf("*********************************************************\n");

printf("§§\n");

printf("§<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>§\n");

printf("§>>欢迎进入学生成绩记录系统<<§\n");

printf("§>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<§\n");

printf("§§\n");

printf("§【1】--------------------------创建学生成绩信息§\n");

printf("§§\n");

printf("§【2】--------------------------显示所有学生成绩信息§\n");

printf("§§\n");

printf("§【3】--------------------------添加学生成绩信息§\n");

printf("§§\n");

printf("§【4】--------------------------查询学生成绩信息§\n");

printf("§§\n");

printf("§【5】--------------------------修改学生的信息§\n");

printf("§§\n");

printf("§【6】--------------------------按分数段显示学生的信息§\n");

printf("§§\n");

printf("§【0】--------------------------退出§\n");

printf("§§\n");

printf("*********************************************************\n");

printf("请输入相应菜单编号:

");

scanf("%d",&a);

switch(a)

{

case1:

input();

save();

break;

case2:

output();

printf("\n");

system("PAUSE");

system("CLS");

break;

case3:

Addstudent();

printf("\n");

system("PAUSE");

system("CLS");

break;

case4:

searchmenu();

printf("\n");

system("PAUSE");

system("CLS");

break;

case5:

modify();

printf("\n");

system("PAUSE");

system("CLS");

break;

case6:

sclsearch();

printf("\n");

system("PAUSE");

system("CLS");

break;

case0:

exit(0);

default:

;

}

}

return0;

}

voidsave()

{

FILE*fp;

if((fp=fopen("stu.dat","wb"))==NULL)/*以只写的方式打开文件*/

{

printf("无法打开文件!

\n");

return;

}

for(i=0;i

if(fwrite(&stud[i],sizeof(structstudent),1,fp)!

=1)/*写入字节为1的信息在文件中*/

printf("文件写入错误!

\n");

fclose(fp);/*关闭文件*/

}

voidinput()//录入学生成绩

{

inti;

chara;

for(i=0;i

{

printf("\n请输入学生成绩信息:

\n");

printf("\n请依次输入学号、、c语言成绩:

\n");

scanf("%d%s%f",&stud[i].num,stud[i].name,&stud[i].score[0]);

printf("输入:

y(继续),n(终止)!

\n");

fflush(stdin);

scanf("%c",&a);

if(a=='n'||a=='N')

break;

}

n=i+1;

}

voidAddstudent()

{

FILE*fp;

structstudents;

fp=fopen("stu.dat","ab");

if((fp=fopen("stu.dat","ab"))==NULL)

printf("Fileopenerror!

\n");

else

{

printf("请输入所增加学生的学号c语言成绩:

\n");

scanf("%d",&s.num);

scanf("%s",s.name);

scanf("%f",&s.score[0]);

fwrite(&s,sizeof(structstudent),1,fp);

fclose(fp);/*关闭文件*/

}

printf("写入成功!

\n");

}//endfunctionAddstudent;

voidoutput()

{

inti;

//floats;

FILE*fp;

if((fp=fopen("stu.dat","rb"))==NULL)

{

printf("cannotopenfile\n");

exit(0);

}

printf("\n学号c语言成绩\n");

for(i=0;fread(&stud[i],sizeof(structstudent),1,fp)==1;i++)

{

printf("%d%10s%10.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);

}

fclose(fp);

n=i;

}

voidmodify()

{

intnumber,i;

printf("请输入要修改信息的学生学号:

");

scanf("%d",&number);

for(i=0;i

if(number==stud[i].num)

break;/*查找判断*/

if(i

{

printf("请输入修改后的学生的信息:

");

printf("\n请输入学生的c语言成绩:

");

scanf("%f",&stud[i].score[0]);

save();

}

else

printf("没找到该学生的信息\n");

system("paues");system("cls");

}

voidnamecheck(void);

voidscorecheck(void);

voidsearchmenu()

{printf("*****欢迎进入学生成绩查询系统******\n");

printf("*1------------------按查询成绩*\n");

printf("*2-----------------按学号查询成绩*\n");

printf("*3-----------------返回上一层*\n");

printf("*4------------------退出*\n");

printf("*************************************\n");

printf("请输入相应菜单编号:

");

intm;

scanf("%d",&m);

switch(m)

{

case1:

namecheck();

printf("\n");

system("PAUSE");

system("CLS");

break;

case2:

scorecheck();

printf("\n");

system("PAUSE");

system("CLS");

break;

case3:

main();break;

case4:

exit(0);break;

}

}

voidnamecheck()

{

charname[10];

printf("按照查询请按\n");

printf("\n请输入:

");

scanf("%s",&name);

printf("查询结果\n");

printf("学号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;

printf("按照学号查询请按\n");

{

printf("\n请输入学号:

");

scanf("%d",&b);

printf("查询结果\n");

printf("学号c语言成绩\n");

for(i=0;i

if(stud[i].num==b)

{

printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);

}

}

}

voidsclsearch()

{

inti;

printf("90分以上:

\n");

printf("学号c语言成绩\n");

for(i=0;i

{

if(stud[i].score[0]>=90)

printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);

}

printf("80~89:

\n");

printf("学号c语言成绩\n");

for(i=0;i

{

if(stud[i].score[0]>=80&&stud[i].score[0]<90)

printf("%d%s%.2f\n",stud[i].num,stud[i].name,stud[i].score[0]);

}

printf("70~79:

\n")

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

当前位置:首页 > 小学教育 > 语文

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

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