鱼C论坛

 找回密码
 立即注册
查看: 1466|回复: 2

[技术交流] 用C++编写的控制台学籍管理系统(C++最简版)

[复制链接]
发表于 2020-6-24 14:03:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 jhanker 于 2020-6-24 14:45 编辑

注意:由于我的账号没有上传附件及图片的权限,只能让大家自己复制代码到VC++环境想自行编译!

用C++编写的控制台学籍管理系统
在VC++6.0中运行通过
#include<iostream>
#include<fstream>
#include <string>

using namespace std;
#define M 100
int N=0;

class student
{
public:
 student();
 void set();
 void add();
 void del();
 void change();
 void search();
private:
 int num[M],chinese[M],math[M],c[M];
 string name[M];
};
student::student(){}
void student::set()
{
int i;
for(i=0;i<M;i++)
{
cout<<"姓名输入‘0’时,停止输入"<<endl;
cout<<"请输入学生姓名"<<endl;
cin>>name[i];
if(name[i]=="0")break;
if(name[i]!="0")
{
N++;
cout<<"请输入学号"<<endl;
cin>>num[i];
cout<<"请输入语文成绩"<<endl;
cin>>chinese[i];
cout<<"请输入数学成绩"<<endl;
cin>>math[i];
cout<<"请输入c语言成绩"<<endl;
cin>>c[i];
}
cout<<endl;
}
}

void student::add()
{
N++;
cout<<"请输入添加的信息"<<endl;
cout<<"请输入学号"<<endl;//这里缺少学号是否同号判断,自己改一下吧
cin>>num[N-1];
cout<<"请输入姓名"<<endl;
cin>>name[N-1];
cout<<"请输入语文成绩"<<endl;
cin>>chinese[N-1];
cout<<"请输入数学成绩"<<endl;
cin>>math[N-1];
cout<<"请输入c语言成绩"<<endl;
cin>>c[N-1];
cout<<"添加成功"<<endl;
}

void student::del()
{
int k,i,j,d=0;//d用来判断是否有要删除的学生记录。
cout<<"清除如要删除的学生学号"<<endl;
cin>>k;
for(i=0;i<=N;i++)
{
 if(num[i]==k)
{
for(j=i;j<N;j++)
{
        num[j]=num[j+1];
    name[j]=name[j+1];
        chinese[j]=chinese[j+1];
        math[j]=math[j+1];
        c[j]=c[j+1];
        i--;/*为什么加上这句自己想想吧,如果后面一条记录也和前面记录一样,比如输入了两个一样的学号的。毕竟你的这程序是允许这样做的*/
d=1;
N--;
}
}
//cout<<"已删除该生信息"<<endl;
}
if(d==0)
cout<<"没有学生信息"<<endl;
else
cout<<"已删除该生信息"<<endl;
}

void student::change()
{
int a,b,d=0;
cout<<"请输入要修改的学生学号"<<endl;
cin>>a;
for(b=0;b<=M;b++)
{
if(num[b]==a)
{
cout<<"请输入新数据"<<endl;
cout<<"请修改姓名"<<endl;
cin>>name[b];
cout<<"请修改语文成绩"<<endl;
cin>>chinese[b];
cout<<"请修改数学成绩"<<endl;
cin>>math[b];
cout<<"请修改c语言成绩"<<endl;
cin>>c[b];
d = 1;
}
//cout<<"信息已修改"<<endl;
}
if(d==0)
cout<<"没有学生信息"<<endl;
else
cout<<"信息已修改"<<endl;
}

void student::search()
{
int a,b,d=0;
cout<<"请输入要查询的学生学号"<<endl;
cin>>b;
for(a=0;a<=M;a++)
if(num[a]==b)
{
cout<<"您要查询的学生信息"<<endl;
cout<<"学号\t"<<num[a];
cout<<"姓名\t"<<name[a];
cout<<"语文成绩\t"<<chinese[a];
cout<<"数学成绩\t"<<math[a];
cout<<"c语言成绩"<<c[a]<<endl;
d=1;
}
if(d==0)
cout<<"查无此人"<<endl;
}


int main()
{
student stu;
char ch;
void menu();
menu();
cin>>ch;
while(ch!='0')
{
system("cls");
switch(ch)
{
case'1': stu.set();break;
case'2': stu.add();break;
case'3': stu.del();break;
case'4': stu.change();break;
case'5': stu.search();break;
case'0':cout<<"退出";break;
default:cout<<"错误"<<endl;break;
}
menu();
cin>>ch;
}
return 0;}//加上这行

void menu()
{cout<<"................................................."<<endl;
cout<<"学生管理系统"<<endl;
cout<<"1.输入学生信息"<<endl;
cout<<"2.添加学生信息"<<endl;
cout<<"3.删除学生信息"<<endl;
cout<<"4.修改学生信息"<<endl;
cout<<"5.查找学生信息"<<endl;
cout<<"0.退出管理系统"<<endl;
cout<<".................................................."<<endl;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-14 15:52:48 | 显示全部楼层
这个例子还算简单
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-14 17:43:55 | 显示全部楼层
运行图
无标题.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 20:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表