C++课程设计 课外兴趣小组管理系统

C++课程设计 课外兴趣小组管理系统1 程序基本功能 1 该系统主要处理课外兴趣小组的相关信息 2 学生信息主要包括 学号 姓名 性别 兴趣爱好等内容 3 兴趣主要包括 兴趣编号 兴趣类型等内容 4 完成以下的操作 实现学生兴趣信息的添加 修改 删除和查询 2 程序设计方案和原理

大家好,我是讯享网,很高兴认识大家。

1、程序基本功能

1)该系统主要处理课外兴趣小组的相关信息。

2)学生信息主要包括:学号、姓名、性别、兴趣爱好等内容。

3)兴趣主要包括:兴趣编号、兴趣类型等内容。

4)完成以下的操作:实现学生兴趣信息的添加、修改、删除和查询。

2、程序设计方案和原理 

        1)建立学生类、兴趣类、兴趣类型类

        2)学生、兴趣、兴趣类型信息的初始化

        3)学生、兴趣、兴趣类型信息的添加、修改、删除、查找

        4)学生兴趣信息的输出

        5)将学生兴趣信息保存为文件

 3、思维导图

 
讯享网

4、程序的代码实现 

 

#include<iostream.h> #include<string.h> #include<iomanip.h> #include<fstream.h> //学生类 class Student { public: Student(int stu_no1=-1,char* name1=" ",char* sex1=" "); ~Student(); int stu_no; char* name; char* sex; }; Student::Student(int stu_no1,char* name1,char* sex1) { stu_no=stu_no1; name=new char[strlen(name1)+1]; strcpy(name,name1); sex=new char[strlen(sex1)+1]; strcpy(sex,sex1); } Student::~Student() { delete []name; delete []sex; } //兴趣类 class Intrest:public Student { public: Intrest(int stu_no1,char* name1,char* sex1,int num1=-1,char* style1=" "); ~Intrest(); int num; char* style; }; Intrest::Intrest(int stu_no1,char* name1,char* sex1,int num1,char* style1):Student(stu_no1,name1,sex1) { num=num1; style=new char[strlen(style1)+1]; strcpy(style,style1); } Intrest::~Intrest() { delete []style; } //兴趣类型类 class Kind:public Intrest { public: Kind(int stu_no1=-1,char* name1=" ", char* sex1=" ",int num1=-1,char* style1=" "):Intrest(stu_no1,name1,sex1,num1,style1) { } void insert(); void modify(); void del(); void show(); void setstu(int stu_no1) { stu_no=stu_no1; } void setname(char* name1) { name=new char[strlen(name1)+1]; strcpy(name,name1); } void setsex(char* sex1) { sex=new char[strlen(sex1)+1]; strcpy(sex,sex1); } void setnum(int num1) { num=num1; } void setstyle(char* style1) { style=new char[strlen(style1)+1]; strcpy(style,style1); } static int count; }stu[100]; int Kind::count=0; //信息添加 void Kind::insert() { cout<<"学生学号:"<<endl; cin>>stu_no; cout<<"学生姓名:"<<endl; cin>>name; cout<<"学生性别:"<<endl; cin>>sex; cout<<"兴趣编号:"<<endl; cin>>num; cout<<"兴趣类型:"<<endl; cin>>style; count++; } //信息修改 void Kind::modify() { cout<<"请选择要进行的修改:"<<endl; cout<<"1...修改学号"<<endl; cout<<"2...修改姓名"<<endl; cout<<"3...修改性别"<<endl; cout<<"4...修改编号"<<endl; cout<<"5...修改类型"<<endl; cout<<"其他...退出 "<<endl; int a; cin>>a; switch(a) { case 1: cout<<"请输入新的学号:"<<endl; cin>>stu_no; break; case 2: cout<<"请输入新的姓名:"<<endl; cin>>name; break; case 3: cout<<"请输入新的性别:"<<endl; cin>>sex; break; case 4: cout<<"请输入新的编号:"<<endl; cin>>num; break; case 5: cout<<"请输入新的类型:"<<endl; cin>>style; break; default: return; } } //信息删除 void Kind::del() { stu_no=-1; name=" "; sex=" "; num=-1; style=" "; count--; } //信息查询 void search() { cout<<"请输入要查询的学生学号:"<<endl; int r,o=1; cin>>r; for(int i=0;i<Kind::count;i++) { if(stu[i].stu_no==r) { cout<<setiosflags(ios::left)<<setw(15)<<"学号" <<setiosflags(ios::left)<<setw(10)<<"姓名" <<setiosflags(ios::left)<<setw(10)<<"性别" <<setiosflags(ios::left)<<setw(10)<<"兴趣编号" <<setiosflags(ios::left)<<setw(10)<<"兴趣类型" <<endl; stu[i].show(); o=0; } } if(o==1) cout<<"没有该学号,查询失败!"<<endl; } //信息显示 void Kind::show() { cout<<setiosflags(ios::left)<<setw(15)<<stu_no<<setiosflags(ios::left)<<setw(10)<<name<<setiosflags(ios::left)<<setw(10) <<setiosflags(ios::left)<<setw(10)<<sex<<setiosflags(ios::left)<<setw(10)<<num<<setiosflags(ios::left) <<setw(10)<<style<<endl; } //信息保存 void pri() { ofstream fout("学生兴趣管理.txt"); if(!fout) { cout<<"无法找到文件!"<<endl; } fout<<setiosflags(ios::left)<<setw(15)<<"学号" <<setiosflags(ios::left)<<setw(10)<<"姓名" <<setiosflags(ios::left)<<setw(10)<<"性别" <<setiosflags(ios::left)<<setw(10)<<"兴趣编号" <<setiosflags(ios::left)<<setw(10)<<"兴趣类型" <<endl; for(int i=0;i<Kind::count;i++) { fout<<setiosflags(ios::left)<<setw(15)<<stu[i].stu_no <<setiosflags(ios::left)<<setw(10)<<stu[i].name <<setiosflags(ios::left)<<setw(10)<<stu[i].sex <<setiosflags(ios::left)<<setw(10)<<stu[i].num <<setiosflags(ios::left)<<setw(10)<<stu[i].style <<endl; } fout.close(); cout<<"保存成功!"<<endl; return; } //主菜单 void menu() { cout<<"===========学生兴趣小组管理============"<<endl; cout<<"========1---添加学生兴趣信息==========="<<endl; cout<<"========2---修改学生兴趣信息==========="<<endl; cout<<"========3---删除学生兴趣信息==========="<<endl; cout<<"========4---查询学生兴趣信息==========="<<endl; cout<<"========5---显示学生兴趣信息==========="<<endl; cout<<"========6---保存学生兴趣信息==========="<<endl; cout<<"========其它------------退出==========="<<endl; } //主函数 void main() { for(;;) { menu(); cout<<"请选择您要进行的处理:"<<endl; int i; cin>>i; switch(i) { case 1: cout<<"请输入要添加的学生的人数:"<<endl; int i,n; cin>>n; for(i=0;i<n;i++) { stu[Kind::count].insert(); } if(n==0) cout<<"无输入!"<<endl; else cout<<"输入成功!"<<endl; break; case 2: cout<<"输入要修改的学生的学号:"<<endl; int p; cin>>p; for(i=0;i<Kind::count;i++) { if(stu[i].stu_no==p) { stu[i].modify(); cout<<"修改成功!"<<endl; } } break; case 3: cout<<"输入要删除的学生的学号:"<<endl; int q; cin>>q; for(i=0;i<Kind::count;i++) { if(stu[i].stu_no==q) { stu[i].del();} } for(;i<Kind::count;i++) { Kind temp; temp=stu[i]; stu[i]=stu[i+1]; stu[i+1]=stu[i]; } break; case 4: search(); break; case 5: cout<<setiosflags(ios::left)<<setw(15)<<"学号" <<setiosflags(ios::left)<<setw(10)<<"姓名" <<setiosflags(ios::left)<<setw(10)<<"性别" <<setiosflags(ios::left)<<setw(10)<<"兴趣编号" <<setiosflags(ios::left)<<setw(10)<<"兴趣类型" <<endl; for(i=0;i<Kind::count;i++) stu[i].show(); break; case 6: pri(); break; default: return; } } }

讯享网

5、程序运行效果

菜单显示

添加学生兴趣信息

显示学生兴趣信息

 

 查询学生兴趣信息

 修改学生兴趣信息

 

 删除学生兴趣信息

 保存学生兴趣信息

 保存至文本文档,并在文本文档中查看

 

小讯
上一篇 2025-03-24 23:51
下一篇 2025-01-28 17:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62845.html