资源简介
课程设计名称:学生社团管理程序
设计内容:编写一个简单的学生社团管理程序,帮助管理学生社团信息。要求具有学生信息管理和社团信息管理的功能。其中学生信息管理包括学生基本信息的录入、删除和修改等功能。社团信息管理包括社团信息的录入,查看,删除,修改等功能。
任务和要求
运用面向对象的程序设计方法,要求选择动态数组类模板或链表类模板,任务中要运用I/O流对象对文件进行读写操作。
本题程序应提供的基本管理功能有:
添加:即增加一条信息到学生或社团信息中;
显示:即在屏幕上显示所有学生或社团的信息。
存储:即将学生或社团信息保存在一个文件中。
装入:即将文件中的信息读入程序。
查询:可根据学生姓名查找学生信息,也可根据社团名称查找社团信息。若找
到,显示在屏幕上。
6)修改:可修改学生或社团信息。
代码片段和文件信息
#ifndef ARRAY_CLASS
#define ARRAY_CLASS
#include
using namespace std;
//动态数组类模板///////////////////////////////////////
template
class Array
{
private:
T * pointer;
int size;
int capacity;
void capacity_increase();
public:
Array():pointer(0)size(0)capacity(0){};
explicit Array(int );
Array(const Array& );
~Array(){delete [] pointer;};
int length(){return size;}; //长度
const Array & operator = (const Array & );
T & operator [] (int n){
if(n>=size || n<0){
cerr<<“数组中无该元素“< }
{
return pointer[n] ;
}
};
T * operator + (int n) { return pointer+n; };
void insert(int n T pT); //在第n(n从0开始计)个元素前面插入pT
void erase(int n); //删除第n个元素
void push_back(T); //从后插入
void print(){ //打印
for(int i=0;i cout< }
cout< };
};
template
Array::Array(int n)
{
pointer = new T[capacity=(size=n)*2];
}
template
Array::Array(const Array & rh)
{
pointer = new T[rh.capacity];
size = rh.size;
for(int i=0;i pointer[i] = rh.pointer[i]; //成员操做符的优先级高于中括号操做符
}
}
template
const Array & Array::operator =(const Array & rh)
{
delete [] pointer;
size = rh.size;
capacity = rh.capacity;
pointer = new T[rh.capacity];
for(int i=0;i pointer[i] = rh.pointer[i];
}
return * this;
}
template
void Array::capacity_increase()
{
if(capacity==0){
capacity=1;
}
T * temp = new T[capacity *= 2];
for(int i=0;i temp[i] = pointer[i];
}
delete [] pointer;
pointer = temp;
}
template
void Array::push_back(T pT)
{
if(size==capacity){
capacity_increase();
}
pointer[size++] = pT;
}
template
void Array::insert(int n T pT)
{
if(n>=size || n<0){
cerr<<“Insert Error“< return;
}
if(size==capacity){
capacity_increase();
}
for(int i=size;i>n;i--){
pointer[i]=pointer[i-1];
}
pointer[n] = pT;
}
template
void Array::erase(int n)
{
if(n>=size || n<0){
cout<<“Erase Error“< return ;
}
for(int i=n;i pointer[i]=pointer[i+1];
}
--size;
}/////////////////////////////////////////////////////////////////////
#endif
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2689 2011-07-01 21:07 学生社团管理\v1\Array.cpp
文件 0 2011-07-01 20:57 学生社团管理\v1\Array.h
文件 14 2011-07-01 13:45 学生社团管理\v1\associations.txt
文件 10715 2011-07-01 21:09 学生社团管理\v1\Debug\Array.obj
文件 396234 2011-07-01 21:09 学生社团管理\v1\Debug\main.obj
文件 626749 2011-07-01 21:09 学生社团管理\v1\Debug\v1.exe
文件 947504 2011-07-01 21:09 学生社团管理\v1\Debug\v1.ilk
文件 186944 2011-07-01 17:34 学生社团管理\v1\Debug\v1.pch
文件 1205248 2011-07-01 21:09 学生社团管理\v1\Debug\v1.pdb
文件 107520 2011-07-01 21:09 学生社团管理\v1\Debug\vc60.idb
文件 126976 2011-07-01 21:09 学生社团管理\v1\Debug\vc60.pdb
文件 6266 2011-07-01 20:52 学生社团管理\v1\main.cpp
文件 0 2011-07-01 13:45 学生社团管理\v1\students.txt
文件 4554 2011-07-01 21:10 学生社团管理\v1\v1.dsp
文件 1485 2011-07-01 21:09 学生社团管理\v1\v1.plg
文件 532 2011-07-01 10:53 学生社团管理\学生社团管理.dsw
文件 66560 2011-07-01 21:10 学生社团管理\学生社团管理.ncb
文件 54784 2011-07-01 21:10 学生社团管理\学生社团管理.opt
目录 0 2011-07-01 21:09 学生社团管理\v1\Debug
目录 0 2011-07-01 10:53 学生社团管理\Debug
目录 0 2011-07-01 21:10 学生社团管理\v1
目录 0 2011-07-01 21:10 学生社团管理
文件 3282 2011-07-01 20:51 学生社团管理\v1\Association.cpp
文件 952 2011-07-01 20:57 学生社团管理\v1\Association.h
文件 275433 2011-07-01 21:09 学生社团管理\v1\Debug\Association.obj
文件 273500 2011-07-01 21:09 学生社团管理\v1\Debug\Student.obj
文件 2367 2011-07-01 20:51 学生社团管理\v1\Student.cpp
文件 924 2011-07-01 20:57 学生社团管理\v1\Student.h
----------- --------- ---------- ----- ----
4301232 28
............此处省略1个文件信息
相关资源
- C++写的家庭小记账本
- 多机调度问题C++语言解决的源代码
- C++ 停车场管理 数据结构 课程设计
- 书店管理系统 C++
- 八数码游戏程序人工智能,c++
- 一个简单的vs c++ socket通讯程序
- 程序流程图生成器支持C/C++
- C++代码转换成C#工具
- 飞行棋c++源码初学者学习用
- MFC小学生速算练习系统VS2017
- xcs 基于遗传算法的自动学习分类器系
- 基于VS2008和IVF11的C/C++和Fortran混合编程
- 使用标准C++库实现的WAV音频文件读写
- C++ 带接口类动态链接库开发
- C++控制播放/插入PPT等操作
- BCH(168)编解码,c++实现
- C++版本的FFT傅立叶变换程序源代码
- 随机产生大素数的C++程序
- Lua源码和Lua在C++的使用
- Dijkstra algorithm c++ 实现版 最短路径算
- C++实现的JPEG压缩算法
- c++ socket类封装(udp/tcp)
- 分数计算器课程设计
- c/c++采用编码转换表实现gbk与unicode互
- VC使用CStringArray类创建和使用字符串数
- 哲学家用餐问题仿真(C++版)
- C++围棋游戏
- 二叉树的C语言实现,实现二叉树基本
-
c++实现的简单xm
l解析器 - VC++使用Webbrowser开发浏览器
评论
共有 条评论