采用链表与文件实现一个简单的学生成绩管理系统
管理系统简介
附录1:结构化设计源程序清单
// 程序名称:Student.CPP
// 程序功能:采用链表与文件实现一个简单的学生成绩管理系统。
// 程序作者:李卉
// 最后修改日期:2008-9-10
#include <iostream>
#include <fstream>
#include<cstring>
#include<conio.h>
#include <ctime> using namespace std;
struct Class //结构体 结构成员
{ int Chinese;
int Math;
int English;
};
class Student{
public:
Student();
void Ofile(ofstream &of); //从文件中提取数据
void Infile(ifstream &f); //将数据输入到文件
void Out();
void Set(char *name,int no,Class score);
char *GetName();
int GetNo(); Student *Next;
protected:
char Name[20];
int No;
Class Score ;
管理系统简介
Student::Student():Next(0){} // 构造函数
char *Student::GetName(){return Name;}
int Student::GetNo(){return No;}
void Student::Set(char *name,int no,Class score)
{
strcpy(Name,name); No=no;
Score=score;
}
void Student::Infile(ifstream &f)
{
}
void Student::Ofile(ofstream &of)
{ of<<" "<<Name<<" "<<No<<" "<<Score.Chinese<<" "<<Score.Math<<" "<<Score.English; //从文件中提取数据
}
void Student::Out()
{ cout<<Name<<"\t"<<No<<"\t"<<Score.Chinese<<"\t\t"<<Score.Math<<"\t\t"<<Score.English
<<"\t"<<endl;
}
class Function //功能类
{public:
Function(); //构造函数 ~Function(); //析构函数 void Menu(); //菜单函数 void Add(); //录入学生成绩函数 f>>Name>>No>>Score.Chinese>>Score.Math>>Score.English; //将数据输入到文件
void Search(); //查询学生成绩函数
void Delete(); //删除学生成绩函数 void Modify(); //修改学生成绩函数 void Show(); //显示学生成绩函数 private:
管理系统简介
void Read(); //读取学生成绩函数
void Save(); //保存学生成绩信息函数
};
Function::Function()
{ Student_First=new Student;
Read();
}
Function::~Function()
{
}
void Function::Add() //录入学生成绩信息函数
{ char name[20]; delete Student_First;
int no;
Class score; char choose; Student *f1,*p,*f2; system("cls"); f1=Student_First; f2=Student_First->Next; while(f1->Next) do { p=new Student; cout<<"请输入您要添加的学生成绩信息:"<<endl; cout<<"请输入学生姓名:";
cin>>name;
while(f2)
{
if(strcmp(f2->GetName(),name)==0) { cout<<"该学生已存在,请确定姓名!\n\n"; cout<<"请输入姓名:"; f1=f1->Next;
管理系统简介
cin>>name; }
cout<<"请输入学号:";
cin>>no;
cout<<"请输入语文成绩:"; } f2=f2->Next; break;
cin>>score.Chinese;
cout<<"请输入数学成绩:";
cin>>score.Math;
}
void Function::Delete() //删除信息函数
{ char name[20];
cout<<"请输入英语成绩:"; cin>>score.English; p->Set(name,no,score); f1->Next=p; //指针跳到下一链表 p->Next=NULL; f1=f1->Next; cout<<"是否继续输入信息?(Y\\N) "<<endl; cin>>choose; }while(choose=='y'||choose=='Y'); Save(); cout<<"1.返回主菜单"<<endl; cin>>choose; while(choose!='1') { cout<<"1.返回主菜单"<<endl; cin>>choose; } Menu();//菜单函
管理系统简介
char choose; Student *temp,*p; system("cls"); p=temp=Student_First->Next;
cout<<"请输入姓名:";
cin>>name; cout<<"输入学号:"; cin>>no; while(temp)//temp用于存放从键盘输入的字符 { if(strcmp(temp->GetName(),name)==0&&temp->GetNo()==no) //判断该学生信息是否存在
{ cout<<"姓名\t学号\t语文成绩\t数学成绩\t英语成绩\n";
temp->Out(); cout<<"\n是否删除(Y/N)";
cin>>choose;
if(choose=='y'||choose=='Y') { } p->Next=temp->Next; delete temp; cout<<"删除成功:\n"; break; } p=temp; temp=temp->Next; }
Save();
cout<<"1.返回主菜单\n2.继续删除"<<endl; cin>>choose; while(choose!='1'&&choose!='2') { cout<<"1.返回主菜单\n2.继续删除"<<endl;
管理系统简介
} } if(choose=='1') Menu(); else if(choose=='2') Delete();
void Function::Modify() //修改学生信息函数
{
char choose,name[20]; Student *temp,*p;
int no;
Class score; system("cls"); temp=p=Student_First; cout<<"请输入您要修改的学生姓名:"; cin>>name; while(temp) { if(strcmp(temp->GetName(),name)==0) { cout<<"姓名\t学号\t语文成绩\t数学成绩\t英语成绩\n"; temp->Out(); cout<<"请输入姓名:";
cin>>name;
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




