C++小学期作业,信息管理系统(源代码)

C++小学期作业,信息管理系统

这是我学C++的时候完成的一个任务,写的一个考生自愿填报管理系统。只完成了很基础的功能实现,没有写界面,人机交互也只是很基础的用1234之类的来表示选项。源码在最后。

关于代码介绍

我这个代码主要实现了考生信息,专业信息,志愿信息的增添,查找与删除。

主要包含的三个类

下面只有一个考生类,还有两个专业类,和志愿类都是大同小异,基本与考生类差不多,只是里面的成员变量不同。
下面展示一些 内联代码片

class Student{ /// 考生类
private:
    string name; ///考生姓名
    string id;///考生考号 (规定为七位数字考号)
    string school; ///毕业学校
    string mima;
    int grade; ///考生成绩
    string number ; ///考生电话(规定为11位数字)

public:
    Student(string _name,string _id,string _school,int _grade,string _number,string _mima){
        name = _name;
        id = _id;
        school = _school ;
        grade = _grade ;
        number = _number ;
        mima = _mima;
    }
   // Student(Student &p) ;
    ~Student(){};
    string showna(){
        return name ;
    }
    string showid(){
        return id ;
    }
    string showsc(){
        return  school ;
    }
    int showgr(){
        return  grade ;
    }
    string  shownu(){
        return  number ;
    }
    string showmi(){
        return mima;
    }
 };

信息读取与存储

关于信息读取与存储我时写了两个函数,duru()与cun()。
在这个代码里面涉及的信息我都是用了 #include<fstream“ 这个头文件里面的两个函数
直接读取与存储到路径里的txt文件里,你运行代码后会自动在D盘生成文件。就是很简单的打开文件然后一行行读入,然后读取信息,下面是读取考生信息的一个示例。

 ifstream op("D:\\考生信息.txt"); //读取信息
    //cout << 1 << endl;
    string s;
    //op >> s ;
    //cout << s << endl;
    while(getline(op,s)){
        string _name, _id, _school, _grade, _number, _mima;
        int n=s.length();
        int i=0;
        for(;i<n;i++){
            if(s[i]!=' ') _name+=s[i];
            else break;
        }

        i++;
        for(;i<n;i++){
            if(s[i]!=' ') _id+=s[i];
            else break;
        }
         i++;
   
        for(;i<n;i++){
            if(s[i]!=' ') _school+=s[i];
            else break;
        }
         i++;
 
        for(;i<n;i++){
            if(s[i]!=' ') _grade+=s[i];
            else break;
        }
         i++;
  
        for(;i<n;i++){
            if(s[i]!=' ') _number+=s[i];
            else break;
        }
         i++;
   
        for(;i<n;i++){
            if(s[i]!=' ') _mima+=s[i];
            else break;
        }
    

       // string temp=_grade;
        int n2=_grade.length();
        //cout << n2 << endl;
        int p=0;
        int grade2=0;
        for(int j=n2-1;j>=0;j--){
            grade2+=(_grade[j]-'0')*pow(10,p);
            p++;
        }
       
        st[_id]=1;
        Student student3(_name,_id,_school,grade2,_number,_mima);
        stu.push_back(student3);
    }
    op.close();
    
 	ofstream in("D:\\考生信息.txt" ); // 定义一个文件流对象,输出信息
    	for(int i=0;i<stu.size();i++){
     	   in << stu[i].showna() << " " << stu[i].showid() << " " << stu[i].showsc() << " " << stu[i].showgr() << " " 		<< stu[i].shownu() << " " << stu[i].showmi() << endl;
    }
   // in << "jieshu" << endl;
    in.close();

效果图

这里用数字来代表你选择的服务
这是考生信息添加功能展示
其他可以可行调试

关于代码补充

我在代码里面用了map函数来标记信息的重复与否,然后返回上一级,下一级,跳过等功能是用了goto语句。
源码链接: link.
有疑问可以留言回复

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值