C++学生成绩管理系统Word文件下载.docx

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

C++学生成绩管理系统Word文件下载.docx

《C++学生成绩管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统Word文件下载.docx(23页珍藏版)》请在冰点文库上搜索。

C++学生成绩管理系统Word文件下载.docx

(3)按学生姓名进行排列模块:

主要功能是用来对学生的资料按姓名进行排序。

在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。

(4)添加学生资料模块:

主要功能是用来添加学生资料,成绩。

如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。

如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。

(5)按姓名查找,删除该学生资料模块:

主要功能是用来删除学生资料。

在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。

由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化。

(6)查找并显示学生资料模块:

主要功能是用来查找学生资料。

在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息。

(7)按姓名查找,修改学生资料模块:

主要功能是用来修改学生资料。

在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。

(8)从文件中读入数据模块:

主要功能是用来从文件中读入学生数据。

由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。

这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。

(9)储存学生资料并退出系统模块:

主要功能是用来储存学生资料。

在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。

Student类类图如下

typedefclass

{public:

charnum[10];

charcla[10];

charname[20];

charbyyl[10];

charjsjzc[20];

charsjk[10];

charjsjyy[20];

charjsdl[20];

}Student;

student类说明表如下

名称

属性

说明

num

数据成员

说明学生学号

cla

说明学生班级

name

说明学生名字

byyl

说明学生数据结构成绩

jsjzc

说明学生离散数学成绩

sjk

说明学生大学物理成绩

jsjyy

说明学生大学英语成绩

Jssl

说明学生模拟电路成绩

功能:

定义菜单函数,通过输出函数显示系统功能。

利用switch语句实现多分支选择结构。

算法思路:

switch语句的执行流程是:

首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句。

代码:

voidmain()//主函数调用。

{intn=0;

for(;

;

{switch(menu())

{case1:

cout<

<

setw(15)<

"

"

输入学生资料"

endl;

n=Input(stu,n);

break;

case2:

输出所有学生资料"

Display(stu,n);

case3:

按姓名排序"

Sort(stu,n);

system("

pause"

);

case4:

插入学生资料"

n=Insert(stu,n);

case5:

删除学生资料"

输入他(她)的姓名:

n=Delete(stu,n);

case6:

查找学生"

Query(stu,n);

case7:

修改学生资料"

输入你要修改的学生的姓名:

n=Xiugai(stu,n);

case8:

从文件中读入数据"

n=AddfromText(stu,n);

case0:

将所有资料写入文件"

WritetoText(stu,n);

}}}

六、功能测试

学生成绩管理系统主菜单页面

输入学生资料模块页面

输出学生资料模块页面

按学生姓名进行排列模块页面

添加学生资料模块页面

按姓名查找,删除该学生资料模块页面

查找并显示学生资料模块情况页面

按姓名查找,修改学生资料模块页面

从文件中读入数据模块页面

储存学生资料并退出系统模块页面

七、源程序代码

#include<

iostream>

stdio.h>

ctype.h>

stdlib.h>

string.h>

iomanip>

usingnamespacestd;

}

Student;

Studentstu[80];

intmenu()

{charc;

c<

'

0'

||c>

8'

{system("

cls"

欢迎使用本学生成绩管理系统!

******************************学生成绩管理系统******************************"

setw(32)<

1.输入学生资料"

2.输出学生资料"

3.按学生姓名进行排列"

4.添加学生资料"

5.按姓名查找,删除该学生资料"

6.查找并显示学生资料"

7.按姓名查找,修改该学生资料"

8.从文件中读入数据"

0.储存学生资料并退出系统"

setfill('

='

)<

setw(48)<

="

请选择(0-8):

c=getchar();

return(c-'

intInput(Studentstud[],intn)//输入数据。

{inti=0;

charsign,x[10];

sign!

='

n'

&

&

sign!

N'

{cout<

班级:

cin>

>

stud[n+i].cla;

学号:

stud[n+i].num;

姓名:

stud[n+i].name;

数据结构:

stud[n+i].byyl;

离散数学:

stud[n+i].jsjzc;

大学物理:

stud[n+i].sjk;

大学英语:

stud[n+i].jsjyy;

模拟电路:

stud[n+i].jsdl;

gets(x);

setw(10)<

还有要输入的信息吗?

(y/n)"

sign;

i++;

return(n+i);

voidDisplay(Studentstud[],intn)//输出数据。

{inti;

-'

setw(65)<

-"

班级学号姓名数据结构离散数学大学物理大学英语模拟电路"

for(i=1;

i<

n+1;

i++)

{printf("

\t\t%-9s%-9s%-9s%-9s%-9s%-9s%-9s\n"

stud[i-1].cla,stud[i-1].num,stud[i-1].name,stud[i-1].byyl,stud[i-1].jsjzc,stud[i-1].sjk,stud[i-1].jsjyy);

if(i>

1&

i%10==0)

setw(35)<

}}

voidSort(Studentstud[],intn)//按名字排序。

{inti,j;

chart[20];

for(i=0;

n-1;

for(j=0;

j<

n-1-i;

j++)

if(strcmp(stud[j].num,stud[j+1].num)>

0)

{strcpy(t,stud[j+1].cla);

strcpy(stud[j+1].cla,stud[j].cla);

strcpy(stud[j].cla,t);

strcpy(t,stud[j+1].num);

strcpy(stud[j+1].num,stud[j].num);

strcpy(stud[j].num,t);

strcpy(t,stud[j+1].name);

strcpy(stud[j+1].name,stud[j].name);

strcpy(stud[j].name,t);

strcpy(t,stud[j+1].byyl);

strcpy(stud[j+1].name,stud[j].byyl);

strcpy(stud[j].byyl,t);

strcpy(t,stud[j+1].jsjzc);

strcpy(stud[j+1].name,stud[j].jsjzc);

strcpy(stud[j].jsjzc,t);

strcpy(t,stud[j+1].sjk);

strcpy(stud[j+1].name,stud[j].sjk);

strcpy(stud[j].sjk,t);

strcpy(t,stud[j+1].jsjyy);

strcpy(stud[j+1].name,stud[j].jsjyy);

strcpy(stud[j].jsjyy,t);

strcpy(t,stud[j+1].jsdl);

strcpy(stud[j+1].name,stud[j].jsdl);

strcpy(stud[j].jsdl,t);

排序成功!

intInsert(Studentstud[],intn)//插入一条学生信息。

{charx[10];

stud[n].cla;

stud[n].num;

stud[n].name;

stud[n].byyl;

stud[n].jsjzc;

stud[n].sjk;

stud[n].jsjyy;

stud[n].jsdl;

n++;

插入成功!

return(n);

intDelete(Studentstud[],intn)//按名字查找信息,删除信息。

{chars[20];

inti=0,j;

s;

while(strcmp(stud[i].name,s)!

=0&

n)i++;

/*查找判断*/

if(i==n)

\t\t\t没有发现该学生资料!

\n"

/*返回失败信息*/

for(j=i;

j++)/*删除操作*/

{strcpy(stud[j].num,stud[j+1].num);

strcpy(stud[j].name,stud[j+1].name);

strcpy(stud[j].cla,stud[j+1].cla);

strcpy(stud[j].byyl,stud[j+1].byyl);

strcpy(stud[j].jsjzc,stud[j+1].jsjzc);

strcpy(stud[j].sjk,stud[j+1].sjk);

strcpy(stud[j].jsjyy,stud[j+1].jsjyy);

strcpy(stud[j].jsdl,stud[j+1].jsdl);

当前信息已删除成功!

/*返回成功信息*/

return(n-1);

voidQuery(Studentstud[],intn)//按名字查找信息

inti=0;

n)

/*输入失败信息*/

return;

stud[i].num<

stud[i].byyl<

stud[i].jsjzc<

stud[i].sjk<

stud[i].jsjyy<

stud[i].jsdl<

intXiugai(Studentstud[],intn)//修改信息。

{n=Delete(stud,n);

输入你要修改的学生资料"

n=Insert(stud,n);

修改完成"

intAddfromText(Studentstud[],intn)//从文件中读入数据。

{inti=0,num;

FILE*fp;

charfilename[20];

输入文件名:

filename;

if((fp=fopen(filename,"

rb"

))==NULL)

无法打开文件"

fscanf(fp,"

%d"

&

num);

num;

{fscanf(fp,"

%s%s%s%s%s%s%s"

stud[n+i].cla,stud[n+i].num,stud[n+i].name,stud[n+i].byyl,stud[n+i].jsjzc,stud[n+i].sjk,stud[n+i].jsjyy,stud[n+i].jsdl);

n+=num;

fclose(fp);

读入成功!

voidWritetoText(Studentstud[],intn)//将所有记录写入文件。

将资料输入文件"

w"

fprintf(fp,"

%d\n"

n);

n;

{fprintf(fp,"

%-6s%-5s%-5s%-5s%-5s%-5s%-5s\n"

stud[i].cla,stud[i].num,stud[i].name,stud[i].byyl,stud[i].jsjzc,stud[i].sjk,stud[i].jsjyy);

输入成功!

intb;

请确定是否退出系统:

0.退出系统"

1.返回"

b;

if(b==0)

谢谢使用!

exit(0);

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

当前位置:首页 > PPT模板 > 商务科技

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

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