ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:469.19KB ,
资源ID:30216506      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30216506.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(安徽工业大学计算机学院程序的设计综合实习报告范本.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

安徽工业大学计算机学院程序的设计综合实习报告范本.docx

1、安徽工业大学计算机学院程序的设计综合实习报告范本工业大学计算机学院 程序设计综合实习报告题目:现代教学管理系统:忻学号:129074228学院:计算机学院班级:软件123班指导老师:王森玉完成日期:2013/5/22题目:现代化成绩管理系统课程设计容简介:高校中对于学生的考核主要通过考试来进行,传统不通过计算机网络发放考试的成绩容易出现发错,漏发等问题,使用计算机来解决这个问题是十分必要的。程序可以在登陆时选择登陆身份,并给予不同权限对成绩系统进行访问,以达到教师可修改,可查询,可记录;学生可查询的目的。设计者名称:忻指导教师意见:指导教师签名: 一、 问题定义:现代化的校园对学生进行考核的主

2、要方式是通过考试,而传统的发布成绩方式存在着不同的问题,通过计算机网络可对这些问题进行解决,包括登陆时选择登陆身份,并给予不同权限对成绩系统进行访问,以达到教师可修改,可查询,可记录;学生可查询的目的。二、 可行性研究:I、 项目的由来:某高校教师需要对学生的成绩进行管理,包括学生信息的录入,学生成绩的录入,成绩的修改以及学生的成绩查询并保存。学生需要对成绩进行查询。II、 可选方案:一、 可选用人工进行学生的基本信息的管理,进行平时成绩,期末成绩以及总评成绩的计算,再人工将成绩发放到学生的手中。二、 可选用直接从文件进行成绩的导入,直接得到学生的基本信息及考试成绩、总评成绩,或者通过人手工录

3、入学生的基本信息及考试成绩、总评成绩。学生也可对其进行查找。III、 可行性:1、 技术可行性:学校每一门学科的考试人数都很多,若每场考试的成绩都需要老师人工计算并发布成绩,任务量大且出错率高。使用计算机自动计算学生考试成绩的方式大大降低了出错率,而且使用计算机省时省力,方便进行成绩的管理及查询。2、 经济可行性:利用计算机技术,开发学生成绩管理系统,可以重复使用,对学生的管理很有用,有必要开发。3、 操作可行性:操作计算机简单易行,并且不需要花费太多的人力。4、 法律可行性:开发学生成绩管理系统有利于学校对学生的管理,不违反法律及相关法规。IV、 结论:面对高校学生成绩管理的巨大工作量,采用

4、计算机的管理是极其必要的,若采用方案2的方法不单单可以减少很多的人力使用,使教师的工作量得到大量减少,而且出现错误的机率更低,更能够直接对学生的成绩进行管理,方便教师和学生的成绩的查询。三、 需求规格说明I、 目标:登陆身份选择教师学生登陆身份验证系统对请求进行处理教师输入学生的信息。或从文件导入成绩。学生系统学生学号,姓名,编号平时、期末成绩比例平时成绩期末成绩系统对数据进行记录以及处理,并将数据记录在链表中可以对储存在链表中的成绩进行访问查询教师对储存在链表中的数据进行修改教师可以选择成绩的保存路径II、 数据需求:1、 数据量:教师的登陆账户及密码,学生学号,平时成绩,期末成绩,总评成绩

5、。2、 数据定义和结构:教师的登陆用 = teacher ,密码 = 0000;:学号 = 学生在校自动分配的学号;平时成绩 = 教师给学生所打的平时分数;期末成绩 = 学生期末考试的成绩;总评成绩 = 平时成绩 平时成绩所占的比例 + 期末成绩 期末成绩所占的比例;III、 功能需求:性能:能快速响应,界面颜色多元化,清晰,数据对应整齐。在使用过程中容易操作,错误操作的次数少。功能:(IPO)处理输出输入登录身份根据身份信息给予相应的权限输入相应的操作,包括学生信息、成绩将成绩输入链表中,并自动计算成绩学生的基本信息和总评成绩权限记录响应要求四、 总体设计:I、 软件的结构(HIPO图):五

6、、 各模块详细设计I、 编译预处理模块II、 主函数模块III、 browse()函数模块i= 0,p = head - nextwhile(p != NULL)输出链表中全部的学生信息及成绩p = p -nextIV、 insert()函数模块V、 deletel()函数模块while(p-next!=NULL&inexti,xz,n, c,xm9,xh10, st*p,*qp = headif(p-next!=NULL)TF值2值3其他输入xz switch(xz)值1:输入学号while(p-next!=NULL&strcmp(xh,p-next-num)!=0)p=p-next输入姓名

7、while(p-next!=NULL&strcmp(xm,p-next-name)!=0)p=p-next输入序号输出错误q= p- nextif(q = NULL)TF输出未找到数据确认是否删除数据,p-next=q-next,free(q)VI、 scorein()函数模块VII、 change()函数模块VIII、 load()函数模块*fp fn12 *head,*p,*q从文件中进行导入if(fp=fopen(fn,rb)=NULL)TF输出打开文件时发生错误并退出while(! feof(fp)if(fread(p,sizeof(stud),1,fp)=1)TFp-next=q-n

8、ext q-next=p;q=pIX、 save()函数模块X、 mima()函数模块i n name8 name121 password121 flag1 flag2,输入用户名,密码for(i = 0; i 0)TFi- 输出“退格”输出“空格退格”continueif(*(password1 + i) = r)TFbreaki+ printf(*)*(password1 + i) = 0 flag2 = strcmp(password,password1)if(flag1 = 0&flag2 = 0)TF登陆成功登陆失败六、 程序源代码#include#include#include#i

9、nclude#includetypedef struct st char num10,name9,bclass11; /学号、班级 float score1,score2,score; /平时成绩、期末成绩、总评成绩 struct st*next;stud;int xuanze(); /选择学生或教师char menu1(); /教师选单char menu2(); /学生选单void mima(); /密码函数stud*load(); /导入stud*search(stud*,int*); /查询void save(stud*); /导出void scorein(stud*); /成绩录入vo

10、id insert(stud*); /插入void deletel(stud*); /删除void change(stud*); /修改void browse(stud*); /浏览/*int main(void) char choice1, choice, c; int i; stud *head,*p; head=(stud*)malloc(sizeof(stud); /准备好表头 head-next=NULL;loop: choice1 = xuanze(); /进入选择系统 if(choice1 = 1) mima(); /密码函数 while(1) choice=menu1(); /

11、教师系统的表头 switch(choice) case 1:system(cls); printf(浏览成绩情况。n); browse(head); getchar(); break; case 2:system(cls); printf(插入学生成绩。n); insert(head); break; case 3:system(cls); printf(查询学生成绩。n); p=search(head,&i); if(p!=NULL) /输出数据 printf(%2d%10s %8s %10s,i,p-num,p-name,p-bclass); printf(%5.1f %5.1f %5.1

12、f,p-score1,p-score2,p-score); else printf(未找到!); break; case 4:system(cls); printf(删除学生记录。n); deletel(head);break; case 5:system(cls); printf(学生成绩录入。n); scorein(head);break; case 6:system(cls); printf(修改学生记录。 n); change(head);break; case 7:system(cls); printf(从文件中将成绩情况导入链表。n); head=load();break; cas

13、e 8:system(cls); printf(将链表中成绩情况保存到文件。n); save(head);break; case 9:system(cls); printf(系统初始化。n); head=(stud*)malloc(sizeof(stud); head-next=NULL; printf(%d %dn,head,head-next); break; case 0:system(cls); printf(返回上一级n); printf(是否保存当前数据到文件?(Y/N):); c=toupper(getchar();getchar(); if(c=Y) save(head); e

14、lse system(cls); goto loop; break; default:printf(输入错误!); if(choice = 0)break; printf(n按任意键继续.!); getchar(); if(choice1 = 2) /学生系统的表头 while(1) choice=menu2(); switch(choice) case 1:system(cls); printf(浏览成绩情况。n); browse(head); getchar(); break; case 2:system(cls); printf(查询学生成绩。n); p=search(head,&i);

15、 if(p!=NULL) /输出数据 printf(%2d%10s %8s %10s,i,p-num,p-name,p-bclass); printf(%5.1f %5.1f %5.1f,p-score1,p-score2,p-score); else printf(未找到!); break; case 3: system(cls); goto loop; default:printf(输入错误!); if(choice = 3)break; printf(n按任意键继续.!); getchar(); if(choice1 = 3) printf(Goodbay!); exit(0);/*in

16、t xuanze() int choice; system(color 21); printf(你好!请选择入口:n); printf(1.老师入口n2.学生入口n3.退出系统n请选择:); scanf(%d, &choice); fflush(stdin); return choice;char menu1() /教师表头 char c; system(cls); system(color 31); printf(nnnnnn =成绩管理系统=n); printf( -n); printf( 1.浏览成绩情况n); printf( 2.插入成绩学生n); printf( 3.查询成绩学生n)

17、; printf( 4.删除学生记录n); printf( 5.学生成绩录入n); printf( 6.修改学生记录n); printf( 7.将文件中成绩情况导入到链表n); printf( 8.将链表中成绩情况导出到文件n); printf( 9.系统初始化n); printf( 0.返回上一级n); printf(nn 请选择。nnnn); c=getchar();getchar(); return c;char menu2() /学生表头 char c; system(cls); system(color 34); printf(nnnnnn =成绩管理系统=n); printf( -

18、n); printf( 1.浏览成绩情况n); printf( 2.查询学生成绩n); printf( 3.返回上一级n); printf(nn 请选择。nnnn); c=getchar();getchar(); return c;void browse(stud*head) /将链表中各个结点数据依次输出 int i=0; stud * p; /工作指针 p=head-next; /指向首结点 printf(序号 学号 班级 平时成绩期末成绩总评成绩n); while(p!=NULL) /指针不空 printf( %2d %-10s %-8s %-10s,+i,p-num,p-name,p-

19、bclass); printf( %5.1f %5.1f %5.1fn,p-score1,p-score2,p-score); p=p-next; /工作指针p移动 /*void insert(stud*head) /插入新结点,并使链表各结点按学号升序排列 char an,xh10,xm9,bc11; stud*p,*q; do p=head; printf(请输入学生的学号、班级:n); gets(xh); gets(xm); gets(bc); /输入数据 if(!strcmp(xh,0000) return; /以“0000“作为结束标记 while(p-next!=NULL)&(st

20、rcmp(xh,p-next-num)=0) p=p-next; / 查找新结点的插入位置 q=(stud*)malloc(sizeof(stud); /生成新结点由q指向 strcpy(q-num,xh); /把数据送入新结点 strcpy(q-name,xm); strcpy(q-bclass,bc); q-next=p-next;p-next=q; /吧新结点插入链表 printf(继续吗?); an=toupper(getchar(); getchar(); while(an=Y);/*stud*search(stud*head,int*i) /在链表中按或学号进行查找 int xz;

21、 char xh10,xm9; stud*p; /工作指针 p=head-next; *i=1; /指向首结点 printf(1.按查找 0.按学号查找n); scanf(%d,&xz); getchar(); if(xz) printf(请输入学生:n); gets(xm); /输入 while(p!=NULL&strcmp(xm,p-name)!=0) /按查找 p-next; (*i)+; else printf(请输入学生:n); gets(xh); /输入学号 while(p!=NULL&strcmp(xh,p-num)!=0) /按学号查找 p=p-next;(*i)+; retu

22、rn p;/*void deletel(struct st*head) /删除结点 int i,xz,n; char c,xm9,xh10; struct st*p,*q; /工作指针 p=head; /指针p指向头结点 if(p-next!=NULL) printf(1.按学号删除 2.按删除 3.按序号删除n); scanf(%d,&xz); switch(xz) case 1:printf(请输入学生学号:n); getchar(); gets(xh); /输入学号 while(p-next!=NULL&strcmp(xh,p-next-num)!=0) /按学号查找 p=p-next;

23、 break; case 2:printf(请输入学生:n); getchar(); gets(xm); /输入 while(p-next!=NULL&strcmp(xm,p-next-name)!=0)/按学号查找 p=p-next; break; case 3:printf(请输入序号:n);i=1; scanf(%d,&n); getchar(); /输入序号 while(p-next!=NULL&inext; i+; break; default:printf(选择错误!n); return; q=p-next; /指针q指向p的直接后继 if(q=NULL) printf(未找到指定

24、结点,没有执行删除!n); return; printf( %-10s %-8s 请确认(Y/N),q-num,q-name); c=getchar(); getchar(); if(tolower(c)=y) p-next=q-next; /把结点从链表中删除 free(q); return; /释放q所指的结点 printf(无结点可删除!n);/*void scorein(stud*head) /依次给链表中各结点的数据录入成绩 int i=0; int ps,qm; stud*p; /工作指针 p=head-next; /指向首结点 printf(请输入平时成绩在总评成绩中所占的百分比

25、:n); scanf(%d,&ps); qm=100-ps; while(p!=NULL) printf(%2d%10s %8s %10sn,+i,p-num,p-name,p-bclass); printf(平时成绩期末成绩:); scanf(%f%f,&p-score1,&p-score2); /录入平时成绩和期末成绩 p-score=p-score1*ps/100+p-score2*qm/100;/计算出总评成绩 printf(%5.1ft%5.1ft%5.1fn,p-score1,p-score2,p-score); p=p-next; / 工作指针p移动 getchar();/*void change(stud*head)

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

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