C++课程设计 设计学校课程管理系统
主要实现的功能包括:学校课程的录入、修改、删除、查询、排序、输出。学校课程信息可写入文件,也可从文件中读取。用链表类实现对数据的操作或动态数组类实现对数据的操作。要求写出...
主要实现的功能包括:学校课程的录入、修改、删除、查询、排序、输出。学校课程信息可写入文件,也可从文件中读取。用链表类实现对数据的操作或动态数组类实现对数据的操作。要求写出源代码,万分紧急,谢谢!!!
展开
1个回答
2013-08-01
展开全部
《C++课程设计》
课程设计题目:学生成绩管理系统
学生班级:*****
学生姓名:*****
学生学号:*****
(2)学生成绩管理系统需求与功能分析
学生成绩的录入、统计、查询、修改、删除、输出。 画出功能结构图。
(3)学生成绩管理系统的数据结构表
序号 成员名(字段名) 数据类型 长度 字段含义
1 class_0 char 20 班级
2 num int 学号
3 name char 8 姓名
4 elec flaot 电子技术
5 c_prog float C 程序设计
6 media flaot 多媒体技术
7 eng float 大学英语
8 math float 高等数学
9 sport float 大学体育
10 polity float 马克思主义政治经济学
11 ave float 平均成绩
12 order int 名次
(4)学生成绩管理系统测试数据表
class_0 num name elec c_prog media eng math sport polity ave order
网络30331 3033101 马云飞 80 70 60 70 70 60 80 表中其余数据自己编造。
(5)使用链表编写程序(手写源程序代码,并给出注解)
0)定义链表结点
1)主函数main():定义链表头指针,调用录入、统计等闭激函数对成绩表进行处理;
2)建立链表函数Create():输入班级到政治课成绩信息;
3)统计函数Statistic():计算平均成绩;
4)查询函数Lookup():查询指定学号学生成绩记录;
5)修改函数Modify():修改指定学号学生成绩记录;
6)删除函数Delete():删除指定学号学生记录;
7)输出函数Output():输出班级所有学生成扰迅绩记录;
8)插入函数Insert():按平均分顺序插入新结点。
9) 排序函数Sort():按平均分对学生成绩记录项进行降序排序;
程序如下:
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct Node//定义链表结点
{
char* class_0;//班级
int number;
char* name;//姓名
float elec;//电子技术成绩
float c_prog;//C程序设计成绩
float media;//多媒体技术成绩
float eng;//大学英语成绩
float math;//高等数学成绩
float sport;//大学体育成绩
float polity;//马克思主义政治经济学成绩
float ave;//平均成绩轿李袜
int order;//名次
Node* link;
Node(){link=NULL;}
Node(int _number,char* _class_0,char* _name,float _elec,
float _c_prog,float _media,float _eng,float _math,
float _sport,float _polity,float _ave,int _order,Node* next)
{
number=_number;
class_0=new char[21];
strcpy(class_0,_class_0);
name=new char[9];
strcpy(name,_name);
elec=_elec;
c_prog=_c_prog;
media=_media;
eng=_eng;
math=_math;
sport=_sport;
polity=_polity;
ave=_ave;
order=_order;
link=next;
}
~Node()
{
delete []class_0;
delete []name;
}
};
class StudentScore
{
private:
Node* first;//链表的头指针
int choice;//选择数据的读入方式
int fileNum;//当前文件数减一
int fileLoc;//定位当前文件
string* fileName;
int operChoice;
int RecordLength;
public:
StudentScore();
void Save();
void BuildList();//手工建立成绩链表
void ReadInfo(int k);//从内存中读入学生信息
void ClearList();
void Statistic();
void Sort();
void Add();
void Delete();
void PrintList();
void Menu();
};
StudentScore::StudentScore()
{
RecordLength=0;
operChoice=0;
first=NULL;
choice=0;
fileLoc=0;
fileNum=0;
fileName=new string[10];//最多可以存10个文件
}
int GetOrder(Node* first,float ave);
void StudentScore::BuildList()
{
int _number;//学号
char* _class_0=new char[21];//班级
char* _name=new char[9];//姓名
float _elec;//电子技术成绩
float _c_prog;//C程序设计成绩
float _media;//多媒体技术成绩
float _eng;//大学英语成绩
float _math;//高等数学成绩
float _sport;//大学体育成绩
float _polity;//马克思主义政治经济学成绩
float _ave;//平均成绩
int _order;//名次
char c;
Node *p,*r=NULL;
first=NULL;
cout<<"您要输入学生成绩信息?"<<endl;
while((c=getchar())=='n');
while(tolower(c)!='n')
{
cin>>_class_0;//班级
cin>>_number;
cin>>_name;//姓名
cin>>_elec;
cin>>_c_prog;
cin>>_media;
cin>>_eng;
cin>>_math;
cin>>_sport;
cin>>_polity;
_ave=(_elec+_c_prog+_media+_eng+_math+_sport+_polity)/7;//求得平均成绩
_order=GetOrder(first,_ave);
p=new Node(_number,_class_0,_name,_elec,
_c_prog,_media,_eng,_math,_sport,_polity,
_ave,_order,NULL);//建立一个新的结点储存信息
if(first!=NULL)
r->link=p;
else first=p;
r=p;
RecordLength++;
cout<<"您要输入学生成绩信息?"<<endl;
while((c=getchar())=='n');
}
}
int GetOrder(Node* first,float ave)//名次记录有严重问题
课程设计题目:学生成绩管理系统
学生班级:*****
学生姓名:*****
学生学号:*****
(2)学生成绩管理系统需求与功能分析
学生成绩的录入、统计、查询、修改、删除、输出。 画出功能结构图。
(3)学生成绩管理系统的数据结构表
序号 成员名(字段名) 数据类型 长度 字段含义
1 class_0 char 20 班级
2 num int 学号
3 name char 8 姓名
4 elec flaot 电子技术
5 c_prog float C 程序设计
6 media flaot 多媒体技术
7 eng float 大学英语
8 math float 高等数学
9 sport float 大学体育
10 polity float 马克思主义政治经济学
11 ave float 平均成绩
12 order int 名次
(4)学生成绩管理系统测试数据表
class_0 num name elec c_prog media eng math sport polity ave order
网络30331 3033101 马云飞 80 70 60 70 70 60 80 表中其余数据自己编造。
(5)使用链表编写程序(手写源程序代码,并给出注解)
0)定义链表结点
1)主函数main():定义链表头指针,调用录入、统计等闭激函数对成绩表进行处理;
2)建立链表函数Create():输入班级到政治课成绩信息;
3)统计函数Statistic():计算平均成绩;
4)查询函数Lookup():查询指定学号学生成绩记录;
5)修改函数Modify():修改指定学号学生成绩记录;
6)删除函数Delete():删除指定学号学生记录;
7)输出函数Output():输出班级所有学生成扰迅绩记录;
8)插入函数Insert():按平均分顺序插入新结点。
9) 排序函数Sort():按平均分对学生成绩记录项进行降序排序;
程序如下:
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct Node//定义链表结点
{
char* class_0;//班级
int number;
char* name;//姓名
float elec;//电子技术成绩
float c_prog;//C程序设计成绩
float media;//多媒体技术成绩
float eng;//大学英语成绩
float math;//高等数学成绩
float sport;//大学体育成绩
float polity;//马克思主义政治经济学成绩
float ave;//平均成绩轿李袜
int order;//名次
Node* link;
Node(){link=NULL;}
Node(int _number,char* _class_0,char* _name,float _elec,
float _c_prog,float _media,float _eng,float _math,
float _sport,float _polity,float _ave,int _order,Node* next)
{
number=_number;
class_0=new char[21];
strcpy(class_0,_class_0);
name=new char[9];
strcpy(name,_name);
elec=_elec;
c_prog=_c_prog;
media=_media;
eng=_eng;
math=_math;
sport=_sport;
polity=_polity;
ave=_ave;
order=_order;
link=next;
}
~Node()
{
delete []class_0;
delete []name;
}
};
class StudentScore
{
private:
Node* first;//链表的头指针
int choice;//选择数据的读入方式
int fileNum;//当前文件数减一
int fileLoc;//定位当前文件
string* fileName;
int operChoice;
int RecordLength;
public:
StudentScore();
void Save();
void BuildList();//手工建立成绩链表
void ReadInfo(int k);//从内存中读入学生信息
void ClearList();
void Statistic();
void Sort();
void Add();
void Delete();
void PrintList();
void Menu();
};
StudentScore::StudentScore()
{
RecordLength=0;
operChoice=0;
first=NULL;
choice=0;
fileLoc=0;
fileNum=0;
fileName=new string[10];//最多可以存10个文件
}
int GetOrder(Node* first,float ave);
void StudentScore::BuildList()
{
int _number;//学号
char* _class_0=new char[21];//班级
char* _name=new char[9];//姓名
float _elec;//电子技术成绩
float _c_prog;//C程序设计成绩
float _media;//多媒体技术成绩
float _eng;//大学英语成绩
float _math;//高等数学成绩
float _sport;//大学体育成绩
float _polity;//马克思主义政治经济学成绩
float _ave;//平均成绩
int _order;//名次
char c;
Node *p,*r=NULL;
first=NULL;
cout<<"您要输入学生成绩信息?"<<endl;
while((c=getchar())=='n');
while(tolower(c)!='n')
{
cin>>_class_0;//班级
cin>>_number;
cin>>_name;//姓名
cin>>_elec;
cin>>_c_prog;
cin>>_media;
cin>>_eng;
cin>>_math;
cin>>_sport;
cin>>_polity;
_ave=(_elec+_c_prog+_media+_eng+_math+_sport+_polity)/7;//求得平均成绩
_order=GetOrder(first,_ave);
p=new Node(_number,_class_0,_name,_elec,
_c_prog,_media,_eng,_math,_sport,_polity,
_ave,_order,NULL);//建立一个新的结点储存信息
if(first!=NULL)
r->link=p;
else first=p;
r=p;
RecordLength++;
cout<<"您要输入学生成绩信息?"<<endl;
while((c=getchar())=='n');
}
}
int GetOrder(Node* first,float ave)//名次记录有严重问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询