安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx

上传人:b****5 文档编号:17414328 上传时间:2022-12-01 格式:DOCX 页数:28 大小:647.62KB
下载 相关 举报
安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx_第1页
第1页 / 共28页
安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx_第2页
第2页 / 共28页
安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx_第3页
第3页 / 共28页
安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx_第4页
第4页 / 共28页
安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx

《安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx

I、项目的由来:

某高校教师需要对学生的成绩进行管理,包括学生信息的录入,学生成绩的录入,成绩的修改以及学生的成绩查询并保存。

学生需要对成绩进行查询。

II、可选方案:

一、可选用人工进行学生的基本信息的管理,进行平时成绩,期末成绩以及总评成绩的计算,再人工将成绩发放到学生的手中。

二、可选用直接从文件进行成绩的导入,直接得到学生的基本信息及考试成绩、总评成绩,或者通过人手工录入学生的基本信息及考试成绩、总评成绩。

学生也可对其进行查找。

III、可行性:

1、技术可行性:

学校每一门学科的考试人数都很多,若每场考试的成绩都需要老师人工计算并发布成绩,任务量大且出错率高。

使用计算机自动计算学生考试成绩的方式大大降低了出错率,而且使用计算机省时省力,方便进行成绩的管理及查询。

2、经济可行性:

利用计算机技术,开发学生成绩管理系统,可以重复使用,对学生的管理很有用,有必要开发。

3、操作可行性:

操作计算机简单易行,并且不需要花费太多的人力。

4、法律可行性:

开发学生成绩管理系统有利于学校对学生的管理,不违反法律及相关法规。

IV、结论:

面对高校学生成绩管理的巨大工作量,采用计算机的管理是极其必要的,若采用方案2的方法不单单可以减少很多的人力使用,使教师的工作量得到大量减少,而且出现错误的机率更低,更能够直接对学生的成绩进行管理,方便教师和学生的成绩的查询。

三、需求规格说明

I、目标:

II、数据需求:

1、数据量:

教师的登陆账户及密码,学生学号,姓名,平时成绩,期末成绩,总评成绩。

2、数据定义和结构

教师的登陆用=teacher,密码=0000;

学号=学生在校自动分配的学号;

平时成绩=教师给学生所打的平时分数;

期末成绩=学生期末考试的成绩;

总评成绩=平时成绩×

平时成绩所占的比例+期末成绩×

期末成绩所占的比例;

III、功能需求:

性能:

能快速响应,界面颜色多元化,清晰,数据对应整齐。

在使用过程中容易操作,错误操作的次数少。

功能:

(IPO)

四、总体设计:

I、软件的结构(HIPO图):

五、各模块详细设计

I、编译预处理模块

II、主函数模块

III、browse()函数模块

IV、insert()函数模块

V、deletel()函数模块

VI、scorein()函数模块

VII、change()函数模块

VIII、load()函数模块

IX、save()函数模块

X、mima()函数模块

六、程序源代码

#include<

>

typedefstructst

{

charnum[10],name[9],bclass[11];

....!

"

);

getchar();

}

}

if(choice1==2)....!

if(choice1==3)

printf("

Goodbay!

exit(0);

}

师入口\n2.学生入口\n3.退出系统\n请选择:

scanf("

%d"

&

choice);

fflush(stdin);

returnchoice;

charmenu1()览成绩情况\n"

printf("

2.插入成绩学生\n"

3.查询成绩学生\n"

4.删除学生记录\n"

5.学生成绩录入\n"

6.修改学生记录\n"

7.将文件中成绩情况导入到链表\n"

8.将链表中成绩情况导出到文件\n"

9.系统初始化\n"

0.返回上一级\n"

\n\n请选择。

\n\n\n\n"

c=getchar();

getchar();

returnc;

charmenu2()览成绩情况\n"

2.查询学生成绩\n"

3.返回上一级\n"

voidbrowse(stud*head)

姓名查找0.按学号查找\n"

&

xz);

getchar();

if(xz)

{

请输入学生姓名:

\n"

gets(xm);

学号删除2.按姓名删除3.按序号删除\n"

switch(xz)

case1:

printf("

请输入学生学号:

gets(xh);

改学号\n"

2.修改姓名\n"

3.修改班级\n"

4.修改平时成绩\n"

5.修改期末成绩\n"

0.不修改\n"

请重新输入学号:

gets(p->

num);

break;

case2:

请重新输入姓名:

name);

case3:

请重新输入班级:

bclass);

case4:

x=p->

score1/p->

score;

y=1-x;

//计算平时和期末在总评成绩中所占比例

请重新输入平时成绩:

p->

score=x*p->

score1+y*p->

score2;

//重新计算总评成绩

break;

%2d%10s%8s%10s"

i,p->

num,p->

name,p->

%%%"

p->

score1,p->

score2,p->

score);

//****************************************

stud*load()//从文件中将成绩情况导入到链表

FILE*fp;

charfn[12];

stud*head,*p,*q;

puts("

从哪个文件中将成绩情况导入:

gets(fn);

if((fp=fopen(fn,"

rb"

))==NULL)

can'

topenfile"

exit(0);

q=head=(stud*)malloc(sizeof(stud));

q->

next=NULL;

while(!

feof(fp))

p=(stud*)malloc(sizeof(stud));

if(fread(p,sizeof(stud),1,fp)==1)

next=q->

next;

next=p;

q=p;

fclose(fp);

returnhead;

//********************************

voidsave(stud*head)//将链表中成绩情况保存到文件

stud*p;

将成绩情况导出到哪个文件中:

p=head->

wb"

while(p!

=NULL)

if(fwrite(p,sizeof(stud),1,fp)!

=1)

filewriteerror!

p=p->

voidmima()

{//密码函数

registerinti,n;

charname[8]="

teacher"

password[5]="

0000"

;

//设定初始密码为teacher密码是0000

charname1[21],password1[21];

intflag1,flag2;

system("

cls"

********************************************************\n"

*******************欢迎进入登录系统*********************\n"

for(n=0;

n!

=5;

请输入用户名:

gets(name1);

flag1=strcmp(name1,name);

请输入密码:

for(i=0;

i<

20;

{

*(password1+i)=getch();

if(*(password1+i)=='

\b'

{

if(i>

0)

{

i--;

printf("

\b"

\b"

}

continue;

}

\r'

break;

i++;

printf("

*"

//输出*号

*(password1+i)='

\0'

flag2=strcmp(password,password1);

if(flag1==0&

&

flag2==0)

printf("

\n登录成功!

break;

else

n++;

\n用户名或密码错误!

你还有%d次机会\n"

5-n);

if(n==5)

您被强制退出\n"

//若输入错误5次,被强制退出

exit

(1);

七、程序测试

I、测试抓图:

II、测试内容:

八、总结

I、项目评价:

本项目主要对学生的考试成绩进行了简单的管理,能够很好的运用于高等学校的管理成绩中。

从项目的内容来讲内容较为简单,项目基本上没有涉及到较复杂的算法运算,仅仅使用链表进行数据的存取,所以采用普通技术工程师即可以完成任务,由测试人员测试并进行分析即可完成使用,质量上也能得到保证,使得高等学校教师能够更好的使用。

操作上简单明了,根据提示输入即可,然后进行计算机操作。

II、不足之处:

项目仅仅能够实现对一门成绩进行管理,不能实现多门成绩的管理。

由于知识积累程度的问题,仅仅能够将数据保存于链表及文件中,但是对于大量数据,若内存不够就会造成数据溢出,使用数据库能够有效解决。

成绩的上下限制没有,可能有成绩输入错误(超过100或为负数)。

III、心得体会

通过此次项目中深刻了解到软件的开发是一项工程性质的工作,软件的开发并不是简单的编写代码,而是融入了工程的思想。

也让我认识到了代码的编写并不是软件开发过程中最重要的部分,前期的规划则起着至关重要的作用。

软件的测试也是极为重要的。

在2000左右的时候,通过一个调查,即使是在软件工程最发达的美国,程序中的错误仍然是无法避免的,平均每1000行代码就有处错误,所以软件的测试也在程序的开发中占有极其重要的地位。

错误越少,后期交付使用造成的损失也就越少,开发的软件效益就越高。

一款好的软件都是通过不断的修改才能得到,细细的修改,软件的开发过程每一个都十分重要。

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

当前位置:首页 > 高中教育 > 高中教育

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

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