无锡美新半导体:求救啊!! 一道大型的C++编程题

来源:百度文库 编辑:高考问答 时间:2024/04/29 18:31:16
// 文件 banji.h
// 类的定义
#ifndef Student_Class // 若没定义该符号

// 定义学生结构及班级类
#define Student_Class // 定义该符号,可避免重复定义
#include <iostream.h>
const int LCLASS = 7; // 班级名长度
const int LNAME = 9; // 姓名长度

// 学生结构
struct Student
{
int id;
char name[LNAME];
int eng;
int math;
int chin;
int c;
int sport;
float aver;
Student *next;
};

// 班级类
class Banji
{
private:
int count; // 班级人数
char ClassName[LCLASS]; // 班级名
char ChargeName[LNAME]; // 班主任名
Student *head; // 学生链表头指针
unsigned int Getr(); // 获得随机数的函数
public:
Banji(char *ClassName="NoName",char *ChargeName="NoName");
~Banji();
void List();
void Set(); //设置班级信息(班级名,班主任名)
void List(int id);
void Rand(int n);
bool Open(char *fname);
bool Write(char *fname);
bool Delete(int mid);
bool Add(int id=0,char *name="NoName",int eng=0,int math=0,int chin=0,int c=0,int sport=0);
friend ostream & operator<<(ostream &out,Banji &cn); //输出班级信息及成绩
int Menu();
};

#endif
//显示菜单并返回用户的选择
int Banji::Menu()
{
flush(cout); //输出缓冲区的内容
system("cls"); //清除屏幕
cout<<"\n\n";
cout<<"\t\t\t ╭———————╮\n";
cout<<"\t\t\t │ ◆主菜单◆ │\n";
cout<<"\t\t\t ╰———————╯\n\n";
cout<<"\t\t1、设置班级信息 6、修改学生记录\n\n";
cout<<"\t\t2、随机产生记录 7、删除学生记录\n\n";
cout<<"\t\t3、从文件取信息 8、显示成绩信息\n\n";
cout<<"\t\t4、录入学生成绩 9、信息存入文件\n\n";
cout<<"\t\t5、查询学生信息 0、退出管理系统\n\n";
cout<<"\t\t\t 请选择: ( 0 )\b\b\b";
flush(cout);
char c;
while(true)
{
c=_getche(); //从控制台获取输入的字符
if(c==13) c='0';
if(c>='0' && c<='9')break;
cout<<"\b0\b";
flush(cout);
}
cout<<"\n\n\n"<<endl;//endl 会将缓冲区中的内容全部显示出来
return c-'0'; //返回用户的选择
}
// 文件 app.cpp
// 类的使用
#include "banji.h"
#include <conio.h>
void main()
{
int choice=1;
Banji a("041100","杨柳依依");
while (choice)
{
choice=a.Menu();//显示操作菜单
switch(choice)
{
case 0: break;
case 8: // 显示班级信息
a.List();
break;
case 2: // 随机产生记录
a.Rand(5);
cout<<"已随即产生5条记录!"<<endl;
break;
// … // 其他功能
}
cout<<"\n\n按任意键继续..."<<endl;
getch(); // 等待键盘输入(不需要按回车键确认)
}
}
在app.cpp文件中要实现banji的Menu()函数中的那10个功能.
现在只有case 0.case 8,case 2.三个功能..
所以要把其它的七个功能补充完整.
case 1,case 3.case 4,case 5,case 6,case 7,case 9
4)输入函数Add():用来添加学生的信息;
5)查询函数List ():可显示指定学号学生或所有学生的有关记录;
6)打开函数Open ():可从指定的文件中获取班级信息 ;
7)保存函数Write():可将学生信息保存到指定的文件;
8)删除函数Delete():删除指定学号学生记录;
9)修改函数Modify():修改学生的信息;
10)根据自己的想象,编写运算符重载函数,方便完成指定的功能;
11)根据自己的想象,完善类的功能;
12)根据自己的想象,完善主程序功能。

你的问题是什么了,是给你改错呢?还是。。。。。