当前位置:文档之家› c++课程设计报告学生信息管理系统

c++课程设计报告学生信息管理系统

Node* tongji(Node* head) //统计
{Node *p1=head;
int a=0,b=0,c=0,d=0,e=0,i[100],j[100];
return head; }
//*********************************************************************************
//*********************************************************************************
p1=p1->next;
}
return 0;
}
//*********************************************************************************
//*********************************************************************************
cin>>p0->dz;
cout<<"英语入学成绩:";
cin>>p0->mark;
if (head==NULL)
{
head=p0;
p0->next=NULL;
return head;
}
while (p1->num<p0->num && p1->next)
{
p2=p1;
p1=p1->next;
}
if (p1->num>=p0->num)
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;
6.按英语成绩排序
7.学生信息保存
8.退出
2、设计说明
总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体
结构设计合理。也可根据自己对题目的理解增加新的功能模块。
系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行
//***********************************************************************************
void chundang(Node *head) //存档
{ Node *p=head;
p=p->next;
ofstream Fileout("out.txt");
流程图
2删除学生信息
调用函数Node* Delete(Node* head , int num)
删除学生的信息则必须对链表结点进行删除意味着将某个要删除结点前后的连续打断,去掉该结点,使前后指针变量重新连接,完成链表结点的删除任务
流程图
3.导入学生信息
打开存档文件ifstream Filein("out.txt");输出说存档的学生信息
3、培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。
课程设计的要求
利用学到的编程知识和编程技巧,要求学生:
1、对系统进行功能模块分析、控制模块分析正确
2、系统设计要能完成题目所要求的功能。
3、编程简练,可用,尽可能的使系统的功能更加完善和全面
4、使用说明书、流程图要清楚。
5、特别要求自己独立完成。
cin>>p1->yue;
cin>>p1->ri;
cout<<"家庭地址:";
cin>>p1->dz;
cout<<"英语入学成绩:";
cin>>p1->mark;
n++; }
p2->next=NULL;
return head;}
//***********************************************************************************
{ if (p1==head) head=p0;
else p2->next=p0;
p0->next=p1;
}
else
{
p1->next=p0;
p0->next=NULL;
}
return head; }
//*****************************************************************************
Node* sousuo(Node* head , char na[20]) //搜索
{Node *p1=head;
while(p1!=NULL){
if(!strcmp(p1->name,na))
{cout<<"编号:"<<p1->num<<"姓名:"<<p1->name<<"性别:"<<p1->xb<<"专业:"<<p1->zy<<"出生日期:"<<p1->nian<<"/"<<p1->yue<<"/"<<p1->ri<<"/"<<"地址:"<<p1->dz<<"英语入学成绩:"<<p1->mark<<endl;}
//*****************************************************************************
Node* Delete(Node* head , int num) //删除节点
{ if (head==NULL)
{ cout<<"不存在此编号"<<endl; return head; }
p=p->next;
}
Fileout<<"-------------------------------------------------------------------"<<endl;
Fileout.close();
}
//********************************************************************************
流程图:
总功能模块图:
各功能显示效果模块图:
增加学生信息和导入学生信息
保存学生信息
统计电子、建筑、通信、三个专业的人的个数,按英语成绩进行排名并输出
删除相应学生的信息
4、程序清单
#include "stdafx.h"
#include "stdafx.h"
#include <iostream.h>
#include <string.h>
#include<fstream>
#include<cassert>
using namespace std;
int nn=0;
struct Node
{ int num;
char name[20];
char xb[20];
char zy[20];
int nian,yue,ri;
char dz[20];

6、按英语成绩进行排序:
调用函数Node* paixu(Node* head)完成排序功能
它的主要思想的:首先设置英语成绩的最大值100,最小值0(也可以使150或者其他)然后让输入的学生信息英语成绩一次比较进行比较,(如果有相等的就输出排名1,然后排名加1),否则最大值减1,然后再次进行比较(如果等于99且上次没有等于100的,就输出排名1,然后排名加1,如果上次有等于100的排名为2),如果没有与99相等的.,则继续循环……
(1)首先,看题目要求,每一条记录包括一个学生的姓名、性别、专业、出生日期、家庭住址、英语成绩。同时,应具备以下功能:
1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。
2、删除功能:对指定学生的信息进行删除。
3、修改功能:对指定学生的信息进行修改。
4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。
二、课程设计的内容
1、课程设计的题目及简介
有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址、英语入学成绩。要求设计链表类来实现,并统计学生人数。
文本界面为:
1.新增学生信息
相关主题