最近在做学生管理系统,但是不会在c++中把学生的成绩用柱状图和曲线图表示出来,,,各位求帮忙
控制台程序?还是windows窗口程序?用mfc?api?
lz可以使用easyx,比较简单的
int main()
{
#include
#include
#include
#include
#include
#define MaxSize 100
#define DataType char
using namespace std;
//自定义函数,输出结点的数据域
//结点类
class Node {
friend class BTree;
private:
Node *lChild; //左子树指针
Node *rChild; //右子树指针
public:
DataType data; //数据域,存储数据元素
//构造结点函数
Node(){
lChild = NULL;
rChild = NULL;
}
//构造结点函数
Node(DataType item, Node *left = NULL, Node *right = NULL){
data = item;
lChild = left;
rChild = right;
}
//析构函数
~Node(){}
};
void Visit(Node* p) {
cout<data << " ";
}
//二叉树类
class BTree {
public:
BTree(); //构造函数
void Create(int No[], char data[], int n); //创建二叉树
void Print(Node* r, int level); //实现二叉树的凹入表形式打印
private:
Node* root; //指向二叉树根结点的指针
};
//创建二叉树二叉链表
BTree::BTree() {
root = NULL;
}
Node* BTree::getRoot() {
return root;
}
// 已知二叉树的结点的层序编号序列,数据数列和结点数,建立此二叉树
void BTree::Create(int No[], char data[], int n) {
int num = 1;
int row = 1;
Node *p = new Node;
for (int i = 0; i{
row = 0;
p = this->root;
while (No[i] != 1){
while (1)
{
if (No[i] break;
row++;
}
if (((No[i] - pow(2, row - 1) + 1) * 2)>pow(2, row - 1))
{
p = p->rChild;
}
else
{
p = p->lChild;
}
No[i] -= pow(2, row - 2);
}
p->data = data[i];
}
}
int main()
{
int n, i;
int * No;//层序编号动态数组;
DataType *data;//结点数据动态数组;
cout << "请输入结点数"< cin >> n;
No = new int[n];
data = new char[n];
cout << "请输入该结点的层序编号序列:";
for (i = 0; i cin >> No[i];
cout << "请输入结点的数据序列:";
for (i = 0; i cin >> data[i];
BTree bt;
bt.Create(No, data, n);
getch();
}
}