c++新生管理。
湖北工业大学。
一、课程设计目的。
1.通过c++课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类、基类、虚函数和多态的概念。
2、通过这次课程设计掌握《c++语言程序设计》的编程思想,为后续课程打下基础。
3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。
课程设计的要求
利用学到的编程知识和编程技巧,要求学生:
1、对系统进行功能模块分析、控制模块分析正确。
2、系统设计要能完成题目所要求的功能。
3、编程简练,可用,尽可能的使系统的功能更加完善和全面。
4、使用说明书、流程图要清楚。
5、特别要求自己独立完成。
二、课程设计的内容。
1、课程设计的题目及简介。
有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址、英语入学成绩。要求设计链表类来实现,并统计学生人数。
文本界面为:
1. 新增学生信息。
2. 删除学生信息。
3. 导入学生信息(已经保存于的文件信息)
4. 学生信息搜索(按姓名)
5. 学生信息统计(按专业或性别或年龄---年龄要自动计算)
6. 按英语成绩排序。
7. 学生信息保存。
8. 退出。
2、设计说明。
总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体。
结构设计合理。也可根据自己对题目的理解增加新的功能模块。
系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。
1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。同时 ,应具备以下功能:
1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。
2、删除功能:对指定学生的信息进行删除。
3、修改功能:对指定学生的信息进行修改。
4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。
5、统计功能:对某几个专业的人数、男女性别学生信息进行统计。
6、排序功能:以英语课程的分数为依据对学生信息进行排序。
7、显示功能:将以上功能操作后的学生信息显示出来。
8、退出主菜单。
3 程序流程图
各功能模块的实现流程图:
1增加学生信息。
调用函数node* create()判断gg是否等于一如果是可创建链表输入相应的学生信息如果不是则需要运用insert(p)函数插入结点增加学生信息的,并通过chundang(p)函数进行存档,具体流程如下图所示。
流程图。2删除学生信息。
调用函数node* delete(node* head , int num)
删除学生的信息则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务。
流程图。3.导入学生信息。
打开存档文件ifstream filein(""输出说存档的学生信息。
4、学生信息的搜索。
调用函数node* sousuo(node* head , char na[20]) 按学生的姓名进行搜索。
流程图:5信息的统计。
调用函数node* tongji(node* head) 运用一个for循环,将输入的相应的学生信息用strcmp()函数与对应的数组进行比较,然后再进行统计。
6、按英语成绩进行排序:
调用函数node* paixu(node* head)完成排序功能。
它的主要思想的:首先设置英语成绩的最大值100,最小值0(也可以使150或者其他)然后让输入的学生信息英语成绩一次比较进行比较,(如果有相等的就输出排名1 ,然后排名加1),否则最大值减1,然后再次进行比较( 如果等于99且上次没有等于100的,就输出排名1,然后排名加1,如果上次有等于100的排名为2),如果没有与99相等的。,则继续循环……
流程图:总功能模块图:
各功能显示效果模块图:
增加学生信息和导入学生信息。
保存学生信息。
统计电子、建筑、通信、三个专业的人的个数,按英语成绩进行排名并输出。
删除相应学生的信息。
4、程序清单。
#include ""
#include ""
#include <>
#include <>
#include
#include
using namespace std;
int nn=0;
struct node
node* create() 链表创建。
else p2->next=p1;
p2=p1;
p1=new node;
int a;
nn++;p1->num=nn;
cout<<"姓名:";
cin>>p1->name;
a=(int)p1->name[0]-48;
if (a==0)break;
cout<<"性别:";
cin>>p1->xb;
cout<<"专业:";
cin>>p1->zy;
cout<<"出生日期:";
cin>>p1->nian;
cin>>p1->yue;
cin>>p1->ri;
cout<<"家庭地址:";
cin>>p1->dz;
cout<<"英语入学成绩:";
cin>>p1->mark;
n++;p2->next=null;
return head;}
void chundang(node *head) /存档。
fileout<<<
node* insert(node* head插入节点。
{ node *p0,*p1,*p2; p1=head;
p0=new node;
p0->num=nn;
cout<<"姓名:";
cin>>p0->name;
cout<<"性别:";
课程设计报告学生信息管理系统
c 新生管理。湖北工业大学。一 课程设计目的。1.通过c 课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类 基类 虚函数和多态的概念。2 通过这次课程设计掌握 c 语言程序设计 的编程思想,为后续...
课程设计报告学生信息管理系统
c 新生管理。湖北工业大学。一 课程设计目的。1.通过c 课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类,并掌握继承和派生类 基类 虚函数和多态的概念。2 通过这次课程设计掌握 c 语言程序设计 的编程思想,为后续...
学生信息管理系统课程设计报告
武汉工程大学 计算机科学与工程学院。课程设计报告。设计名称 数据库原理及应用 课程设计 设计题目学生信息管理系统 学生学号1305120107 专业班级2013计算机工程01 学生姓名何经纬。学生成绩。指导教师 职称 刘黎志 副教授 完成时间2016 1 6 武汉工程大学计算机科学与工程学院制。说明...