收藏 分享(赏)

程序设计报告-南京邮电大学-学生管理系统-c语言.doc

上传人:cjc2202537 文档编号:121369 上传时间:2018-03-21 格式:DOC 页数:24 大小:185KB
下载 相关 举报
程序设计报告-南京邮电大学-学生管理系统-c语言.doc_第1页
第1页 / 共24页
程序设计报告-南京邮电大学-学生管理系统-c语言.doc_第2页
第2页 / 共24页
程序设计报告-南京邮电大学-学生管理系统-c语言.doc_第3页
第3页 / 共24页
程序设计报告-南京邮电大学-学生管理系统-c语言.doc_第4页
第4页 / 共24页
程序设计报告-南京邮电大学-学生管理系统-c语言.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 程序设计报告题 目: 学生信息管理系统 专 业 电子信息科学与技术 学 生 姓 名 孟祥熙 班 级 学 号 B08020221 指 导 教 师 王蔚 指 导 单 位 南京邮电大学 日 期 2009/5/20 教师评语教师签名: 年 月 日成绩评定备 注一、课题名称学生信息管理系统二、课题内容和要求(一)程序设计任务:已知有 20 个学生记录(包括学号、姓名、成绩)的文件 student.dat,所有学生以学号从小到大排序(该文件自行建立) 。要求编程序实现查询、排序、插入、删除诸功能。(二)系统必须提供的基本功能:A要求显示如下界面*1-查询2-排序3-插入4-删除*通过选择 1-4 来确定

2、要做哪一个操作。B若选 1,则出现如下界面*1.1-按学号查询1.2-按姓名查询1.3-按成绩查询*通过选择 1.1-1.3 来确定要做哪一个操作 ,其中:按学号查询用二分法实现;按姓名查询用顺序法实现;按成绩查询实现查询成绩小于 m 分的学生;找到该生将学生记录输出到屏幕,若查无此人,输出相关信息。C若选 2,则按成绩从大到小排序,姓名,学号顺序也随之调整。D若选 3,将一个新学生记录按学号顺序插入,并把结果保存到文件 student.dat 中。E若选 4,删除指定学生的记录,并把结果保存到文件 student.dat 中。F以上各个功能均编写成子函数,由主函数调用实现。三、需求分析查询功

3、能:按学号查询用二分法实现;按姓名查询用顺序法实现;按成绩查询实现查询成绩小于 m 分的学生;找到该生将学生记录输出到屏幕,若查无此人,输出相关信息。排序功能:按成绩从大到小排序,姓名,学号顺序也随之调整,并把结果保存到文件 student.dat 中。插入功能:将一个新学生记录按学号顺序插入,并把结果保存到文件 student.dat 中。删除功能:删除指定学生的记录,并把结果保存到文件 student.dat 中。菜单功能:包含不同菜单,以显示不同功能。四、概要设计 class Studentchar num10; 用字符数组保存学生学号char name10; 用字符数组保存学生姓名in

4、t score; 用整形变量保存成绩public:Student(char *nu=“,char *na=“,int s=0); 构造函数void disp(); 打印所有学生的信息bool findna(char n); 检查输入的姓名与学生姓名是否一致bool findsc(int n); 检查输入分数与学生数分是否一致friend void delnum(int i,fstream 友元函数删除指定位置的学生信息friend void paisco(fstream 友元函数按分数排序friend void chanu(fstream 友元函数插入输入的学生信息friend void fi

5、ndnum(char num,fstream 友元函数查找与输入学号相符的学生,并可以由 i 值判断是否接入 delnum 已删除查找出来的学生信息;void findsco(int sco,fstream 按学号查找并输出学生信息,其中与类中的 bool findsc(int n)配合,保持了程序中学生信息的不可见性void findnam(char nam,fstream 结合,保持程序中学生信息不可见性,并可以有 i 值判断是否接入 delnum已删除查找出来的学生信息void Createfile(char * filename) 创建初始文件,包含 20 个学生信息,在引用的时候加入

6、如下语句couti;if(i=y|i=Y)Createfile(“student.dat“);count=20;cout#include #include #include using namespace std;#define max 100int count=0;/类区class Studentchar num10;char name10;int score;public:Student(char *nu=“,char *na=“,int s=0);void disp();bool findna(char n);bool findsc(int n);friend void delnum(i

7、nt i,fstream friend void paisco(fstream friend void chanu(fstream friend void findnum(char num,fstream ;Student:Student(char *nu,char *na,int s)strcpy(num,nu);strcpy(name,na);score=s;/构造函数void Student:disp()cout0)break;a=b;while(a=b)strcpy(stua+1.num,stua.num);strcpy(stua+1.name,stua.name);stua+1.sc

8、ore=stua.score;a-;strcpy(stub.num,nu);strcpy(stub.name,na);stub.score=s;f.seekg(0,ios:beg);f.write(char *)stu,sizeof(Student)*count+1);system(“cls“);count+;findsco(100,f);void paisco(fstream int a,b,i,temp;char tempna20,tempnu10;f.seekg(0,ios:beg);f.read(char *)for(a=0;acount;a+)for(b=0;bcount-a;b+)if(stub.scorestub+1.score)strcpy(tempna,stub+1.name);strcpy(stub+1.name,stub.name);strcpy(stub.name,tempna);strcpy(tempnu,stub+1.num);strcpy(stub+1.num,stub.num);strcpy(stub.num,tempnu);temp=stub+1.score;stub+1.score=stub.score;stub.score=temp;system(“cls“);cout“排序完成!“endl;

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

当前位置:首页 > 研究报告 > 信息产业

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


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

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

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