跪求一学生成绩管理系统的c++程序!!急急急!

老师要我们搞一个程序设计,就是编写一个学生成绩管理系统的c++程序,要用到数据结构,类,变量,函数
功能需求:
1.能够从屏幕上读取一个学生的信息并将信息存入到数据文件中
2.能够将指定的学习从文件中删除
3.能够按编号,姓名对学生的信息进行检索并将检索结果现实在屏幕上
4.可以统计全部学生的总成绩,机器在班上的排名
5.能够统计各科的平均成绩及及格率
6要求有错误提示功能,例如性别只能输入男女性别只能输入男女,输入错误提示重新输入
设计三个类,一个基本信息类,包括学籍号,系名,班级名,姓名,性别,家庭住址,年龄等信息的管理;一个课程信息类,包括课程编号,课程名称,课程类别,学分,考核方式等的信息的管理;一个成绩信息类,包括学籍号,课程编号,考试成绩,成绩说明等信息的管理。
希望答题者认真看好上面的程序功能再写程序,希望有高手能编出具有这些功能的c++程序!
把系统实现的过程写一下,或者吧系统功能图画出来!
windows下的!

1、分别编写成员函数用于实现对档案信息的输入、输出与修改(注:不能修改档案编号,档案编号应该自动生成)。

2、以此档案类为基类公有派生出学生档案类,其中包含学生的学号、姓名、性别、年龄、3门课程成绩数据;定义成员函数用于实现数据的输入、输出与修改(注:不能修改学号)。

3、以此档案类为基类公有派生出教师档案类,其中包含教师的教工号、姓名、性别、年龄、工资数据;定义成员函数用于实现数据的输入、输出与修改(注:不能修改教工号)。

4、可以实现对10个学生和10个教师的档案操作(输入、输出、修改)。

#include <iostream>

class Document
{
public:
Document() {}
virtual void Input();
virtual void Output();
virtual void Modify();
int Id() {return _number;}
private:
int _number;
char _name[18];
char _sex;
int _age;
};

void Document::Input()
{
std::cout << "number: " << std::endl;
std::cin >> _number;
std::cout << "name: " << std::endl;
std::cin >> _name;
std::cout << "sex: " << std::endl;
std::cin >> _sex;
std::cout << "age: " << std::endl;
std::cin >> _age;
}

void Document::Output()
{
std::cout << "number: " ;
std::cout << _number << std::endl;
std::cout << "name: ";
std::cout << _name << std::endl;
std::cout << "sex: ";
std::cout << _sex << std::endl;
std::cout << "age: ";
std::cout << _age << std::endl;
}

void Document::Modify()
{
std::cout << "number: " << std::endl;
std::cout << _number << std::endl;
std::cout << "name: " << std::endl;
std::cin >> _name;
std::cout << "sex: " << std::endl;
std::cin >> _sex;
std::cout << "age: " << std::endl;
std::cin >> _age;
}

class Student: public Document
{
public:
Student(Student* pNext) {_pNext = pNext;}
void Input();
void Output();
void Modify();
Student* Next() {return _pNext;}
int FindId() {return Document::Id();}
private:
double _score[3];
Student* _pNext;
};

void Student::Input()
{
std::cout << "------------------------------------" << std::endl;
Document::Input();
std::cout << "score: " << std::endl;
for (int i = 0; i < 3; ++i) {
std::cin >> _score[i];
}
}

void Student::Output()
{
std::cout << "----------------------------------" << std::endl;
Document::Output();
std::cout << "score: " << std::endl;
for (int i = 0; i < 3; ++i) {
std::cout << _score[i] << std::endl;
}
}

void Student::Modify()
{
Document::Modify();
std::cout << "score: " << std::endl;
for (int i = 0; i < 3; ++i) {
std::cin >> _score[i];
}
}

class DataBase
{
public:
DataBase():_pHead(0) {}
void Add();
void Display();
Student* GetHead() const {return _pHead;}
private:
Student* _pHead;
};

void DataBase::Add()
{
Student* pStudent = new Student(_pHead);
pStudent->Input();
_pHead = pStudent;
}

void DataBase::Display()
{
std::cout << "输入号码:" << std::endl;
int tmpNum;
std::cin >> tmpNum;
bool bFind = false;
for (Student* pStudent = GetHead();
pStudent != 0;
pStudent = pStudent->Next()) {
if (tmpNum == pStudent->FindId()) {
std::cout << "已经找到" << std::endl;
bFind = true;
char c;
std::cout << "修改输入 m" << std::endl;
std::cout << "打印输入 p" << std::endl;
std::cin >> c;
switch(c) {
case 'p': pStudent->Output(); break;
case 'm': pStudent->Modify(); break;
default: std::cout << "输入错误" << std::endl;
}
break;
}
}
if (!bFind) {
std::cout << "号码输入错误,没有找到" << std::endl;
}
}

void main(int argc, char * argv[])
{
DataBase stDataBase;
stDataBase.Add();//这里你可以改成for循环就可以生成10个学生档案
stDataBase.Add();
stDataBase.Add();
stDataBase.Display();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-27
这位同学,你也是严**麾下的吧。。。。。。
在百度上问题目很快就会被查出来的。。。。。。
第2个回答  2008-12-27
跪,你给我跪到1月1日,我保证脚给你答案。
还是老实自己写
第3个回答  2008-12-27
DOS下的还是windows下的?
第4个回答  2008-12-27
就十分就帮你写,累死人!

求一个学生成绩管理系统,用C++完成
if(strcmp(stu_num,stud.NO)==0) \/*学号的唯一性*\/ { printf("\\t\\t\\t学号重复,请重新输入!\\n");printf("\\t\\t\\t该学生成绩如下:\\n");printf("\\t\\t\\t语文:%.1f\\n",stud.CJ[0]);printf("\\t\\t\\t数学:%.1f\\n",stud.CJ[1]);printf("\\t\\t\\t英语:%.1f\\n",stud...

跪求一个学生成绩管理系统的C++程序!!!
要求:1)设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比2)计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平... 要求:1)设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比2)计算学生总评成绩:总评成绩=平...

用c++写一个学生成绩管理系统,使系统具有排序记录的功能,要求按照学生...
else { p2=p1; p1=p1->next; } } \/\/删除结点 if(p1!=NULL)\/\/若找到结点,则删除 { p1->play(); cout>c; if(toupper(c)!='Y')

急需一个C++编写的学生成绩管理系统,邮箱:yongyanr@126.com
scanf("%d",&stu[n-1].stuNum);getchar();printf("第%d个学生的姓名:",n);gets(stu[n-1].name);printf("第%d个学生数学成绩:",n);scanf("%d",&stu[n-1].ScoreMath);getchar();} void displayinfo(int n){ int i = 0;printf("学号\\t\\t姓名\\t\\t分数\\n");for (i = 0...

就各位大神用C++帮小弟补充完一个学生成绩管理系统小程序 (抱拳)
姓名,平时成绩及期末成绩 void CalcuScore(); \/\/计算当前学生的总评成绩 void PrintOut(); \/\/输出当前学生的完整信息 friend void SortScore(Student stu[],int n); \/\/根据总评成绩排除学生的名次};void Student::ReadData() { char buf[32]; cout << "number: "; cin >...

c++类编程,设计一个学生类
学生成绩管理系统 代码 include "stdio.h" \/*I\/O函数*\/ include "stdlib.h" \/*其它说明*\/ include "string.h" \/*字符串函数*\/ include "conio.h" \/*屏幕操作函数*\/ include "mem.h" \/*内存操作函数*\/ include "ctype.h" \/*字符操作函数*\/ include "alloc.h" \/...

关于C++ 编写一个简单的学生成绩管理系统.通过本系统能实现对学生成绩记...
using namespace std;const int N=5 ;class student { char n_name[10];char n_numble[5];char n_sex[3];float score[4];\/\/score[0]英语成绩,score[1]数学成绩,score[2]语文成绩,score[3]平均分 public:student();student(char name[],char numble[],char sex[],float a,float b...

C++用指针变量 写一个学生成绩管理系统 要求实现查询,修改,添加,删除学...
printf("数学成绩:\\n");do { scanf("%f",&temp.scor_math);} while(temp.scor_math>100.0 || temp.scor_math<0.0 );printf("物理成绩:\\n");do { scanf("%f",&temp.scor_phy);} while(temp.scor_phy>100.0 || temp.scor_phy<0.0);if(temp.name[0]!='#'&&temp.number[0...

C++ 学生成绩与奖学金管理系统
printf("\\t\\t\\t\\t 学生成绩管理系统 \\n\\n");printf("\\t\\t\\t\\t1.输入学生成绩\\n");printf("\\t\\t\\t\\t2.按总分排榜\\n");printf("\\t\\t\\t\\t3.查找学生信息\\n");printf("\\t\\t\\t\\t4.退出\\n\\n");printf("\\t\\t\\t请输入功能选择编号(1-4):");fflush(stdin); \/*清空输...

用C++编写一个学生信息管理系统
include <iostream>#include <iomanip>#include <string>#include <fstream>\/\/输入\/输出文件流类using namespace std;class Student \/\/定义类{ private:int tag; \/\/删除标记 1:已删 0:未删char name[10]; \/\/姓名int grade;\/\/成绩int ID;public:Student() {}\/\/构造函数int gettag() {return...

相似回答