学生成绩管理系统数据结构课程设计.docx

上传人:b****3 文档编号:3145589 上传时间:2022-11-18 格式:DOCX 页数:46 大小:116.07KB
下载 相关 举报
学生成绩管理系统数据结构课程设计.docx_第1页
第1页 / 共46页
学生成绩管理系统数据结构课程设计.docx_第2页
第2页 / 共46页
学生成绩管理系统数据结构课程设计.docx_第3页
第3页 / 共46页
学生成绩管理系统数据结构课程设计.docx_第4页
第4页 / 共46页
学生成绩管理系统数据结构课程设计.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统数据结构课程设计.docx

《学生成绩管理系统数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据结构课程设计.docx(46页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统数据结构课程设计.docx

学生成绩管理系统数据结构课程设计

《算法与数据结构课程设计》

综合实验

课程设计名称:

学生成绩管理系统

专业:

计算机科学与技术

学生成绩管理系统

一、问题的描述和分析

1.1问题的描述

  随着社会的发展和经济时代的到来,管理信息系统在各行各业都越来越重要,特别是教育事业。

在经济发达的国家,许多教育机构(如公办、私立、培训机构等),都投入了大量的资金开发MIS系统,以求在将来激烈的竞争中立于不败之地。

在我国,民办教育是新兴的一个行业,是随着改革开放和市场经济的发展根据中国特有的国情发展起来的,特别是中国民办教育促进法的出台,从一定的程度上规范和促进了中国民办教育的发展,这是一个很有发展前途的新兴产业,但是同发达国家相比,我国的民办教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的民办院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的民办机构还没有全部具备这种功能。

因此可见,随着我国民办教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。

1.2现有系统存在问题的分析

 有的学校根本就没有系统,还是手工操作计算机日新月异的发展,但是有的领导只见眼前利益,不关心,甚至不敢尝试新兴的事物。

手工操作还十分落后,效率极低,成本很大,以后的社会是信息的社会,信息只有快,准,精才能发挥其价值。

 所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。

人工操作必将被计算机代替。

 有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。

 还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统能有保障吗?

所以制作一个完善的学生管理系统是必不可少的。

二、数据结构的设计

structperson

{

charname[20];

longnum;

floatmath;

floatEnglish;

floatchinese;

floataverage;

floatsum;

}student;

三、模块:

学生成绩管理系统模块

四、算法的设计

1.在此成绩管理系统中,要求用户输入的只是有字符型和数值型数据,所以我设计了下面函数来处理并对输出的数据进行检验。

intN=0;

Enter()

{

FILE*fp;

charch;

charch2;

charnumstr[20];

structpersonstudent2;

clrscr();

fp=fopen("jie.txt","ab");

if(fp==NULL)

{

printf("can'topenthisfile.\n");

printf("waitforasecondwithpatience.\nthesystemisexiting.\n");

getch();

exit(0);

}

else

{

do{

printf("yourname:

");

gets(student.name);

printf("\nyournum:

");

gets(numstr);

student.num=atol(numstr);

printf("\nyourmath:

");

gets(numstr);

student.math=atof(numstr);

printf("\nyourEnglish:

");

gets(numstr);

student.English=atof(numstr);

printf("\nyourchinese:

");

gets(numstr);

student.chinese=atof(numstr);

student.sum=student.chinese+student.math+student.English;

student.average=student.sum/3;

fwrite(&student,sizeof(structperson),1,fp);

N++;

printf("Doyoucontinueaddingotherstudents(Y/N)?

\n");

ch=getchar();

getchar();

}while(ch=='y'||ch=='Y');

}

printf("Showall(Y/N)?

\n");

ch2=getchar();

getchar();

if(ch2=='y'||ch2=='Y')

Listall();

fclose(fp);

return_confirm();

clrscr();

}

2.查询学生记录

当用户执行此查询任务时,系统会提示用户进行查询字段的选择,即按学号或按姓名进行查询。

若此学生记录存在,则会打印输出此学生记录的信息。

Search()

{

charchoice;

charch1;

charch2;

charch3;

charch4;

charname[20];

longnum;

charnumstr[20];

clrscr();

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

printf("---------------------------\n");

printf("**1.name**\n");

printf("**2.num**\n");

printf("----------------------------\n");

printf("giveyourchoice:

\n");

choice=getchar();

getchar();

while(choice>'2'||choice<'1')

{

printf("Sorry.yourchoiceiswrong.\npleasegiveacorrectone:

\n");

choice=getchar();

getchar();

}

3.根据姓名或学号进行查找

switch(choice)

{

case'1':

do{

Loop1:

printf("inputthenameofstudentsyouwanttosearch:

\n");

gets(name);

Search1(name);

printf("GOONSEARCHINGBYNAEM(Y/N)?

\n");

ch2=getchar();

getchar();

}while(ch2=='y'||ch2=='Y');

printf("Searchbyotherways(Y/N)?

\n");

ch3=getchar();

getchar();

if(ch3=='y'||ch3=='Y')

gotoLoop2;

break;

case'2':

do{

Loop2:

printf("inputthenumofstudentsyouwanttosearch:

\n");

gets(numstr);

num=atol(numstr);

Search2(num);

printf("GOONSEARCHINGBYNUM(Y/N)?

\n");

ch1=getchar();

getchar();

}while(ch1=='y'||ch1=='Y');

}

}

Search2(longnum)

{

FILE*fp;

charch;

intflag=0;

intt;

clrscr();

fp=fopen("jie.txt","rb");

if(fp==NULL)

{

printf("can'topenthisfile.\n");

printf("waitforasecondwithpatience.\nthesystemisexiting.\n");

getch();

exit(0);

}

else

{

flag=0;

t=0;

while(fread(&student,sizeof(structperson),1,fp))

if(num==student.num)

{

printf("name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n");

printf("%-10s%-6ld%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",student.name,student.num,student.chinese,student.English,student.math,student.sum,student.average);

t=1;

break;

}

if(t==0)

printf("Sorry.thestudentyouaresearchingnotexisted.\n");

rewind(fp);

}

fclose(fp);

}

Search1(char*name)

{

FILE*fp;

charch;

intflag=0;

intt;

clrscr();

fp=fopen("jie.txt","rb");

if(fp==NULL)

{

printf("can'topenthisfile.\n");

printf("waitforasecondwithpatience.\nthesystemisexiting.\n");

getch();

exit(0);

}

else

{

flag=0;

t=0;

while(fread(&student,sizeof(structperson),1,fp))

if((strcmp(name,student.name))==0)

{

printf("name\t\tnum\tchinese\tEnglish\tmath\sum\taverage\n");

printf("%-10s%-6ld%-8.2f%-8.2f%-8.2f%-8.2f%-8.2f\n",student.name,student.num,student.chinese,student.English,student.math,student.sum,student.average);

t=1;

break;

}

if(t==0)

printf("Sorry.thestudentyouaresearchingnotexisted.\n");

rewind(fp);

}

fclose(fp);

}

Delete()

{

FILE*fp;

structpersonstudent1[30],student2[30];

inti;

intk;

intj;

intflag;

charch1;

charname[20];

charch;

charch2;

clrscr();

fp=fopen("jie.txt","rb+");

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1