安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx
- 文档编号:17414328
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:28
- 大小:647.62KB
安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx
《安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《安徽工业大学计算机学院程序设计综合实习报告Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
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行代码就有处错误,所以软件的测试也在程序的开发中占有极其重要的地位。
错误越少,后期交付使用造成的损失也就越少,开发的软件效益就越高。
一款好的软件都是通过不断的修改才能得到,细细的修改,软件的开发过程每一个都十分重要。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽 工业大学 计算机 学院 程序设计 综合 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)