教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

采用链表与文件实现一个简单的学生成绩管理系统

来源:网络收集 时间:2026-09-17
导读: 管理系统简介 附录1:结构化设计源程序清单 // 程序名称:Student.CPP // 程序功能:采用链表与文件实现一个简单的学生成绩管理系统。 // 程序作者:李卉 // 最后修改日期:2008-9-10 #include iostream #include fstream #includecstring #includeconio.h #

管理系统简介

附录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;

c …… 此处隐藏:4081字,全部文档内容请下载后查看。喜欢就下载吧 ……

采用链表与文件实现一个简单的学生成绩管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1801611.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)