C简单学生成绩管理系统C课程设计_第1页
C简单学生成绩管理系统C课程设计_第2页
C简单学生成绩管理系统C课程设计_第3页
C简单学生成绩管理系统C课程设计_第4页
C简单学生成绩管理系统C课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+学生成绩管理系统要求用C+语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。学生成绩管理系统分析:学生成绩管理系统分为 8个模块,分别是:添加学生信息,输出学生成绩, 查找学生成 绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩 的模块。学生成绩管理系统结构:Main()函数各个子函数功能及其流程:1. 首先定义一个学生类Class Student:;并定义其各个私有变量和公有函数Class Student c私有变量Claoufindemsalo重asdtpdletodvead载sduteify2. S

2、tudent ();构造函数,用于初始化学生类中的各个变量并记录3. Add ();函数:用于添加学生信息的函数包括学号姓名成绩等的内容4. Output 0 ;函数:用于输出学生信息,包括学号姓名各科及总分平均成绩5.6.Find ();函数:用于查找学生各项信息。7.delete();函数:用于删除学生信息。8. save()和10ad();函数:将学生信息保存到文件中,并在需要的时候调用该文件将其中的学生信息显示出来*9. " = "“<<” “>>”符号的重载:在各个函数处理数据过程中对这些的调用处理 函数源代码:此函数源代码在 Visual

3、C+6.0环境下编译通过。具体如下 :#include"iostream.h"#include"conio.h"#include"iomanip.h"#include"stdio.h"#include"string.h"#include"stdlib.h"#include"fstream.h"class student 定义学生类private:/定义学生类的私有成员char name20; /名字char sex5; 性别int number; / 学号

4、int score3; / 分数int total; / 总分int average; 平均分public: /公有成员student(); /学生构造函数,用于学生数据的初始化及保存学生数据void add(); /添加学生信息函数void output(); /输出学生信息函数void find(); /查找学生数据函数void modify(); /修改学生信息函数void deleted。; 删除学生信息函数void sort(); / 排序函数void save(); 保存学生信息并写入文件函数void load (); 打开写有学生信息的文件的函数student & ope

5、rator=(student & T); / 重载"="符号friend istream & operator >> (istream & scin, student &s1); / 重载 “ >>” 符号 friend ostream & operator << (ostream & scout, student &s2); / 重载 “ >>” 符号;student stu100;int n=0;void student:add() / 添加函数char flag=&

6、#39;Y'while(toupper(flag)='Y')cin>>stun;n+;cout<<"要继续添加吗(y/n)"cin>>flag;if(toupper(flag)!='Y')if(toupper(flag)='N')break;else cout<<"错误,请重输:" cin>>flag;void student:output() / 输出函数if(n!=0) cout<<"n"cout<

7、<" number name sex math C+ English total averagen" cout<<"n"for(int t=0;t<n;t+)cout<<stut;getch();void student:find() / 查找函数 (int f3=0;char n120;student temp;cout<<"输入你要查找的人的姓名:"cin>>n1;for(int j=0;j<n;j+) (if(strcmp(,n1)=0) ( t

8、emp=stuj;f3=1; if(f3=0) cout<<"对不起,没有你要查找的学生成绩"<<endl;else (cout<<"n"cout<<" number name sex math C+ English total averagen"cout<<"n"cout<<" "<<temp.number<<" "<<<<"

9、"<<temp.sex<<" "<<temp.score0<<""<<temp.score1<<""<<temp.score2<<" "<<temp.total<<""<<temp.average<<endl; getch(); void student二modify() / 修改函数 (int f4=0;int t;char n250;cou

10、t<<"输入你要修改的人的姓名:";cin>>n2;for(int j=0;j<n;j+) (if(strcmp(,n2)=0) ( t=j;f4=1;if(f4=0)cout<<"对不起,没有你要彳改的学生成绩 "<<endl; else (cout<< "请输入学号:"cin>>stut.number;cout<< "姓名:";cin>>;cout<< "

11、;性另1J :"cin>>stut.sex;cout<< "数学成绩:"cin>>stut.score0;cout<< " C+ 成绩:"cin>>stut.score1;cout<< "英语成绩:"cin>>stut.score2;stut.total=stut.score0+stut.score1+stut.score2;stut.average=stut.total/3;cout<<"修改成功!"<

12、<endl; getch();void student:deleted() 删除函数(char n320;bool f5=0;char c; docout<<"请输入您要删除白学生姓名:"cin>>n3;for(int i=0;i<n;i+)if(strcmp(n3,)=0)f5=1;n-; dostui=stui+1;i+;while(i<=n);II.if(f5=0)cout<<"您要求删除的对象本来就不存在!cout<<"要继续删除吗? (y/n)"<

13、;<endl;cin>>c;if(toupper(c)!='Y'&&toupper(c)!='N') (cout<<"输入指令错误!请重新输入Y或N ! "<<endl;cin>>c;while(toupper(c)='Y');getch();void student:sort() / 排序函数(int i,j,k;student s3;for( i=0;i<(n-1);i+)(k=i;for(j=i+1;j<n;j+)if(stuj.avera

14、ge>stui.average)k=j;if(k!=i) (s3=stui;stui=stuk;stuk=s3;cout<<"nn 排序成功!nn"void student:save() /保存函数(char filename120;cout<<"请输入文件名:"cin>>filename1;ofstream fout(filename1,ios:app);if(!fout)cout<<"文件不能打开!"<<endl;else(for(int i=0;i<n;i+

15、)fout<<' '<<<<' '<<stui.sex<<' '<<stui.number<<''<<stui.score0<<''<<stui.score1<<''<<stui.score2<<' '<<stui.total<<''<<stui.average

16、<<''cout<<"保存成功!"<<endl;)fout.close();getch();)void student:load() / 读取函数(char filename220;cout<<"请输入你要读取的文件名:"cin>>filename2;ifstream fin(filename2,ios二in);if(!fin)cout<<"文件打不开!"<<endl;else(for(int i=0;i+,n=i-1)(if(fin.

17、eof()break;fin>>>>stui.sex>>stui.number>>stui.score0>>stui.score1>>stui.score2>>stui.total>>stui.average;)cout<<"文件已读取成功!"<<endl;)fin.close();getch();)student & student:operator=(student & T) / 重载=(strcpy(name,T.n

18、ame);strcpy(sex,T.sex);number=T.number;for(int i=0;i<3;i+)scorei=T.scorei;total=T.total;average=T.average;return ( * this );)ostream & operator << (ostream & scout, student &s2) / 重载 <<(cout<<setw(6)<<s2.number<<setw(10)<<<<setw(8)<&

19、lt;s2.sex<<setw(8)<<s2.score0 <<setw(8)<<s2.score1<<setw(10)<<s2.score2<<setw(10)<<s2.total<<setw(8)<<s2.avera ge<<endl;return scout;)istream & operator >> (istream & scin,student &s1) / 重载 >> (cout<< &qu

20、ot; t 学号:";scin>>s1.number;cout<< " t 姓名:”;scin>>;cout<< " t 性另1J :"scin>>s1.sex;cout<< " t数学成绩:";scin>>s1.score0;cout<< " tC+ 成绩:"scin>>s1.score1;cout<< " t英语成绩:";scin>>s1.scor

21、e2;s1.total=s1.score0+s1.score1+s1.score2;s1.average=s1.total/3;return scin;)student二student() /构造函数(strcpy(name,"");strcpy(sex,"");number=0;for(int i=0;i<3;i+)scorei=0;total=0;average=0;)void menu() /菜单函数(cout<<"nnn学生成绩管理系统主菜单"<<endl;cout<<"nnn1.添加学生信息"<<endl;cout<&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论