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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(学生成绩管理系统实验报告.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统实验报告.doc

1、桂林航天工业学院课程设计总结报告报告题目 学生管理系统开课学期 2016-2017学年第 2学期班 级 软件工程 4班姓 名 有什么不懂的可以加我学 号 QQ:1416978277地 点 巡天楼 314机房报告日期 2017年 6月 17日成绩(五级记分制): 指导教师(签字):_目 录1.课程设计目的和要求 .12.课程设计的主要内容 .13.实践要求 .14.课程设计题目描述和要求 .15.系统实现 .35.1头文件 .35.2结构体 .35.3全局变量 .35.4函数声明 .36.源码 .46.1口令函数 .46.2主函数 .56.3输入函数 .66.4显示函数 .76.4.1多项删除

2、106.4.2全部删除 116.4.3修改 126.4.4插入 146.4.5查找 156.4.6排序 186.4.7另存为 236.5回收站 256.5.1多项恢复 276.5.2全部恢复 286.5.3多项彻底删除 296.5.4清空回收站 306.6重置系统 317.总结 328.附件 339.参考书目 33第 1 页1.课程设计目的和要求本课程设计是针对刚学完 C语言的计算机类专业学生的课程设计教学。C 语言是学生的第一门计算机高级语言课程,课程结束后,学生已经对 C语言程序设计有了较全面的了解,但接触的基本上是为了阐述相关概念或知识点而列举的示例,都是较小的程序,程序功能单一,因此缺

3、乏整体观点和编写一个具体实用的综合程序的思想。本课程设计的目的是要培养学生初步具有系统分析思想,并能利用开发工具开发一个简单实用的综合程序。为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力。要求学生以 VC+6.0为开发工具,完成一个小型应用软件的设计和开发。进一步提高学生进行程序设计的能力。2.课程设计的主要内容(1)选题(2)进行系统分析(3)程序设计实现(4)系统测试(5)编写、上交课程设计报告3.实践要求(1)系统设计要实用。(2)对系统进行功能模块分析,主要功能模块正确实现。(3)

4、编程简练,可读性好,界面友好,功能全面。(4)课程设计报告格式要规范。4.课程设计题目描述和要求本课程设计选题为“学生成绩管理系统” 。系统主要功能是管理学生成绩信息,要求能实现学生成绩添加、删除、修改、查找、平均分、排序等功能。经过分析,确定本系统结构图如下图所示: 第 2 页学 生 管 理 系统输 入 学 生 数据 显 示显 示 数 据多 项 删 除全 部 删 除修 改插 入查 找学 号姓 名返 回排 序学 号姓 名C语 言英 语 成 绩高 数 成 绩平 均 分返 回另 存 为TXT文 件XLS文 件返 回返 回回 收 站回 收 站 数 据多 项 恢 复全 部 恢 复多 项 彻 底 删除清

5、 空 回 收 站返 回重 置 系 统 退 出口 令 验 证第 3 页5.系统实现5.1 头文件以下各个函数所需的头文件以及预定义#include#include#include#include#include#define N 128#define stlen sizeof(struct st)/结构体长度5.2 结构体 根据系统所管理数据信息的要求和特点,将学生成绩信息定义成以下结构体类型struct stint no; /序号int flag; /标记char num8; /学号char name8; /姓名float cpp; /C 语言成绩float eng; /英语成绩float m

6、ath; /数学成绩float ave; /平均分;5.3 全局变量为了简化函数的参数传递struct st sN;int tot=0;/结构体个数int flag0=0;/标记为 0 的个数5.4 函数声明方便各个函数相互调用void head();int all(int t);int change();int delall();int delpart();int display(int t);int find();第 4 页int findswitch(int t);int input();int insert();int part(int t);int recycle();int res

7、et();int save();int sort();int sortswitch(int x);int view();int viewplus();6.源码6.1 口令函数 为了验证是否为主人操作,正确后才可以进入系统,否则 3次错误退出系统void main()system(“mode con cols=94 lines=30“);/94 行 30 列(居中)SetConsoleTitle(“学生管理系统“); /标题system(“color F0“);/白底黑字printf(“欢迎使用学生管理系统n“);printf(“请输入口令!n“);char get10,pw=“123“;/密码

8、int count=3;while(count)gets(get);if(strcmp(get,pw)=0)printf(“口令正确!正在进入系统.n“);Sleep(500);head();elseif(count!=1)printf(“口令错误!请重新输入!n“);printf(“您还有%d 次机会!n“,-count);elseprintf(“口令错误!按任意键退出系统!n“);getch();exit(1);第 5 页6.2 主函数进入主界面void head()FILE *fp;if(fp=fopen(“data.dat“,“r“)=NULL)/如果没有文件fp=fopen(“dat

9、a.dat“,“wb+“); /创建一个文件fp=fopen(“data.dat“,“rb“);fseek(fp,0L,SEEK_END);/指向文件尾tot=ftell(fp)/stlen; /结构体个数fseek(fp,0L,SEEK_SET);/指向文件头fread(s,stlen,tot,fp);for(int i=0;itot)printf(“未找到!n“);return 0;if(no0return 0;if(no0i-)si=si-1;si.no+;printf(“请输入【学号】 【姓名】 【C 语言成绩】 【英语成绩】 【高数成绩】n“);printf(“(输入【0】取消并返回

10、主菜单)n“);i=no-1;scanf(“%s“,si.num);if(strlen(si.num)=1scanf(“%s%f%f%f“,si.ave=(si.cpp+si.eng+si.math)/3;printf(“tttt*n“);printf(“tttt* 确定【修改数据】吗? *n“);printf(“tttt* 修改后数据不可恢复 *n“);printf(“tttt* 【回车键】确认 *n“);printf(“tttt* 【其他键】取消 *n“);printf(“tttt*n“);if(getch()=13)FILE *fp;fp=fopen(“data.dat“,“wb+“);

11、fwrite(s,stlen,tot+1,fp);fclose(fp);tot+;flag0+;printf(“修改成功!n“);else 第 15 页printf(“您已取消修改,正在返回上一级。n“);return 0;6.4.5 查找查找某个数据int find()while(1)system(“cls“);printf(“tttt*n“);printf(“tttt* 请选择查找方式 *n“);printf(“tttt* 1.学号 *n“);printf(“tttt* 2.姓名 *n“);printf(“tttt* 0.返回主菜单 *n“);printf(“tttt*nn“);switc

12、h(getch()case 1:printf(“请输入要查找的 【学号】n“);findswitch(1);break;case 2:printf(“请输入要查找的 【姓名】n“);findswitch(2);break;case 0:return 0;break;default :printf(“输入有误!请重新输入。n“);Sleep(500);第 16 页6.4.5.1 学号按照学号查找int findswitch(int t)int i;char ch8;gets(ch);for(i=0;i0)k=j;if(x=2if(x=3if(x=4第 20 页if(x=5if(x=6if(k!=

13、i)t=s0i;s0i=s0k;s0k=t;printf(“序号t 学号t 姓名tC 语言t 英语t 高数t 平均分 n“);for(i=0;iflag0;i+)printf(“%dt%st%st%.2ft%.2ft%.2ft%.2fn“,s0i.no,s0i.num,s0i.name,s0i.cpp,s0i.eng,s0i.math,s0i.ave);system(“PAUSE“);return 0;6.4.6.2 姓名按照姓名排序第 21 页6.4.6.4C 语言成绩按照 C 语言排序第 22 页6.4.6.4 英语成绩按照英语成绩排序6.4.6.5 高数成绩按照高数成绩排序第 23 页6

14、.4.6.6 平均分按照平均分排序6.4.7 另存为另存为文件6.4.7.1TXT 文件导出 TXT 文件类型6.4.7.2XLS 文件导出 XLS 文件类型int save()/保存system(“cls“);while(1)system(“cls“);printf(“tttt*n“);printf(“tttt* 请选择导出方式: *n“);第 24 页printf(“tttt* 1.txt 文本文档 *n“);printf(“tttt* 2.xls 表格文件 *n“);printf(“tttt* 0.返回主菜单 *n“);printf(“tttt*n“);int ch=getch();if

15、(ch=0)return 0;if(ch=1|ch=2)FILE *fp;if(ch=1)fp=fopen(“data.txt“,“w“);if(ch=2)fp=fopen(“data.xls“,“w“);fprintf(fp,“序号t 学号t 姓名tC 语言t 英语t 高数t 平均分n“);for(int i=0;itot;i+)if(si.flag=0)fprintf(fp,“%dt%st%st%.2ft%.2ft%.2ft%.2fn“,si.no,si.num,si.name,si.cpp,si.eng,si.math,si.ave);fclose(fp);printf(“导出成功!n“

16、);if(!(ch=0|ch=1|ch=2)printf(“输入有误!请重新输入。 n“);Sleep(500);第 25 页6.5 回收站显示回收站数据,并进行操作int recycle()/回收站if(tot=flag0)printf(“无数据!n“);elsedisplay(1);printf(“tttt*n“);printf(“tttt* 以上为回收站数据: *n“);printf(“tttt* 请选择操作: *n“);printf(“tttt* 1.多项恢复 *n“);printf(“tttt* 2.全部恢复 *n“);printf(“tttt* 3.多项彻底删除 *n“);prin

17、tf(“tttt* 4.清空回收站 *n“);printf(“tttt* 【其他键】返回主菜单 *n“);printf(“tttt*n“);switch(getch()case 1:printf(“tttt*n“);printf(“tttt* 输入【序号】恢复 *n“);printf(“tttt* 多项之间加【空格】 *n“);printf(“tttt*n“);part(0);printf(“数据恢复成功!正在返回上一级。n“);break;case 2:printf(“tttt*n“);printf(“tttt* 确定【全部恢复】吗? *n“);printf(“tttt* 【回车键】恢复 *

18、n“);printf(“tttt* 【其他键】取消恢复 *n“);printf(“tttt*n“);if(getch()=13)all(0);printf(“全部恢复成功!正在返回上一级。n“);else 第 26 页printf(“您已取消全部恢复,正在返回上一级。n“);break;case 3:printf(“tttt*n“);printf(“tttt* 输入【序号】彻底删除 *n“);printf(“tttt* 多项之间加【空格】 *n“);printf(“tttt*n“);delpart();printf(“彻底删除成功!正在返回上一级。n“);break;case 4:printf

19、(“tttt*n“);printf(“tttt* 确定【清空回收站】吗?*n“);printf(“tttt* 【回车键】确认 *n“);printf(“tttt* 【其他键】取消 *n“);printf(“tttt*n“);if(getch()=13)delall();printf(“清空回收站成功!正在返回上一级。n“);else printf(“您已取消清空回收站,正在返回上一级。n“);break;Sleep(500);return 0;第 27 页6.5.1 多项恢复多项恢复数据int part(int t)/部分int xN,i=0,co=0;while(1)scanf(“%d“,c

20、o+;if(x0=0)return 0;if(xi+=0)break;printf(“操作的学生序号为:“);for(i=0;ico-1;i+)printf(“%d “,xi);printf(“n 确认操作请按【回车键】 ,否则按【其他键】n“);if(getch()=13)if(t=1)flag0-=(co-1);if(t=0)flag0+=(co-1);FILE *fp;fp=fopen(“data.dat“,“wb+“);for(int i=0;ico-1;i+)sxi-1.flag=t;/替换的值fwrite(s,stlen,tot,fp);第 28 页fclose(fp);else return 0;6.5.2 全部恢复全部恢复数据int all(int t)/全部if(getch()=13)if(t=1)flag0=0;if(t=0)flag0=tot;FILE *fp;fp=fopen(“data.dat“,“wb+“);for(int j=0;jtot;j+)sj.flag=t;/替换的值fwrite(s,stlen,tot,fp);fclose(fp);else return 0;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报