关于c++ 课程设计(学生信息管理系统)

#include<iostream>
#include<fstream>
#include<string.h>
#include<iomanip>
#include"student.h"
using namespace std;

Student S[50];
void Student::input()
{
loop:
    int num,a=0,t;
  for(int s=0;s<=50;s++)
  {
    cout<<"请输入学号:"<<endl;
 cin>>num;
    ifstream file("学生信息管理系统.txt",ios::binary);
    file.seekg(0,ios::beg);
    for(int i=0;i<50;i++)
 {
    file.read((char *)&S[i],sizeof(S[i]));
    if(num==S[i].num)a=1;
 if(S[i].num==0){t=i;i=50;}
    }
 if(a==1)
 {
  cout<<"您输入的学号不合规则或已存在!"<<endl;
     goto loop;
 }
 else
 S[t].num=num;
  cout<<"请输入姓名:"<<endl;
 cin>>S[t].name;
    cout<<"请输入性别(男或女):"<<endl;
 cin>>S[t].sex;
 cout<<"请输入年龄:"<<endl;
 cin>>S[t].age;
 cout<<"请输入院系:"<<endl;
 cin>>S[t].Departments;
 cout<<"请输入班级:"<<endl;
 cin>>S[t].gread;
 cout<<"请输入成绩"<<endl<<"C++"<<endl;
 cin>>S[t].c;
 cout<<"English"<<endl;
 cin>>S[t].English;
 s=50;
 }
    ofstream file("学生信息管理系统.txt");
 for(int i=0;i<1;i++)
 {file.write((char *)&S[i],sizeof(S[i]));}
     file.close();
}

void Student::look()
{
   ifstream file("学生信息管理系统.txt",ios::binary);
   file.seekg(0,ios::beg);
   for(int i=0;i<50;i++)
   {
    file.read((char *)&S[i],sizeof(S[i]));
    if(S[i].num!=0)
 cout<<" 学号:"<<S[i].num
 <<" 姓名:"<<setw(8)<<S[i].name
 <<" 年龄:"<<setw(3)<<S[i].age
 <<" 性别:"<<setw(2)<<S[i].sex
 <<" 院系:"<<S[i].Departments
 <<" 班级:"<<S[i].gread
 <<" C: "<<S[i].c
 <<" English: "<<S[i].English<<endl;
   }file.close();
}

void Student::find()
{
   cout<<"请选择查找方法:"
       <<"  1.按姓名 "
       <<"  2.按学号."<<endl<<endl
       <<"请选择操作:";
   int f;cin>>f;
   if(f==1)
   {
    cout<<"请输入要查找的姓名:";
    char name[20];
    int j;
    cin>>name;
    ifstream file("学生信息管理系统.txt",ios::binary);
    file.seekg(0,ios::beg);
    for(int i=0;i<50;i++)
 {
    file.read((char *)&S[i],sizeof(S[i]));
    if(strcmp(name,S[i].name)==0)
    {j=1;
   cout<<endl
    <<"所查找到的信息是:"<<endl
       <<" 学号 :"<<S[i].num<<endl
       <<" 姓名 :"<<S[i].name<<endl
       <<" 年龄 :"<<S[i].age<<endl
       <<" 性别 :"<<S[i].sex<<endl
       <<" 院系 :"<<S[i].Departments<<endl
       <<" 班级 :"<<S[i].gread<<endl
       <<" C: "<<S[i].c<<endl
       <<" English: "<<S[i].English
       <<endl;
   i=50;}
 }
   if (j!=1) cout<<"未找到相应信息!"<<endl;
   file.close();
   }
else
{
   cout<<"请输入要查找的学号:";
   int num;
   int j;
   cin>>num;
   ifstream file("学生信息管理系统.txt",ios::binary);
   file.seekg(0,ios::beg);
   for(int i=0;i<50;i++)
   {
   file.read((char *)&S[i],sizeof(S[i]));
    if(num==S[i].num)
 {j=1;
   cout<<"所查找的到信息是:"<<endl<<endl
       <<" 学号 :"<<S[i].num<<endl
       <<" 姓名 :"<<S[i].name<<endl
       <<" 年龄 :"<<S[i].age<<endl
       <<" 性别 :"<<S[i].sex<<endl
       <<" 院系 :"<<S[i].Departments<<endl
       <<" 班级 :"<<S[i].gread<<endl
       <<" C: "<<S[i].c<<endl
       <<" English: "<<S[i].English
       <<endl;
   i=50;}
   }
  if (j!=1) cout<<"未找到相应信息!"<<endl;
 }
}

void Student::change()
{
  cout<<"请输入学号:"<<endl;
  int t,j,anum;
  cin>>num;
  ifstream file("学生信息管理系统.txt",ios::in|ios::out|ios::binary);
  file.seekg(0,ios::beg);
  for(int i=0;i<50;i++)
  {
   file.read((char *)&S[i],sizeof(S[i]));
   if(num==S[i].num)
   {j=1,t=i;}
  }
  file.close();
   if(j!=1)
   {cout<<"未找到相应信息!"<<endl<<endl ;}
   else
   {
    if(t!=-1)

 {ofstream iofile("学生信息管理系统.txt",ios::in|ios::out|ios::binary);
     cout<<"修改?(y or n)"<<endl;
     char c;cin>>c;
     if(c=='y')
    {
 loop:
     cout<<"原学号:"<<S[t].num<<"   "<<"新学号:"<<endl;
     cin>>anum;
     int a=0;
    for(int s=0;s<=50;s++)
 {
    ifstream file("学生信息管理系统.txt",ios::binary);
    file.seekg(0,ios::beg);
    for(int i=0;i<50;i++)
 {
    file.read((char *)&S[i],sizeof(S[i]));
    if(S[i].num==anum)a=1;
    }
 if(a==1)
 {
  cout<<"您输入的学号不合规则或已存在!"<<endl;
     goto loop;
 }
 }
  S[t].num=anum;
     cout<<"原姓名:"<<S[t].name<<"   "<<"新姓名:"<<endl;
     cin>>S[t].name;
     cout<<"原年龄:"<<S[t].age<<"   "<<"新年龄:"<<endl;
     cin>>S[t].age;
     cout<<"原性别:"<<S[t].sex<<"   "<<"新性别:"<<endl;
     cin>>S[t].sex;
     cout<<"原班级:"<<S[t].gread<<"   "<<"新班级:"<<endl;
     cin>>S[t].gread;
     cout<<"原C++成绩:"<<S[t].c<<"   "<<"新C成绩:"<<endl;
     cin>>S[t].c;
     cout<<"原English成绩:"<<S[t].English<<"   "<<"新English成绩:"<<endl;
     cin>>S[t].English;
   iofile.seekp(t*sizeof(S[t]),ios::beg);
   iofile.write((char *)&S[t],sizeof(S[t]));
   cout<<"已经成功修改!"<<endl;
   }
 }
   }
 }

void Student::delet()
{

   cout<<"请输入学号:"<<endl;
   int num,j,i;
   cin>>num;
   ifstream file("学生信息管理系统.txt",ios::in|ios::out|ios::binary);
   for(i=0;i<50;i++)
   {
   file.read((char *)&S[i],sizeof(S[i]));
   if(num==S[i].num)
   {
  j=1;
  ofstream file("学生信息管理系统.txt",ios::in|ios::out|ios::binary);
     cout<<"删除?(y or n)"<<endl;
     char c;cin>>c;
     if(c=='y')
     {
      S[i].num=0;
      S[i].name[0]='0';
      S[i].age=0;
      S[i].sex[0]='0';
      S[i].gread[0]='0';
      S[i].Departments[0]='0';
      S[i].c=0;
      S[i].English=0;
       file.seekp(i*sizeof(S[i]),ios::beg);
       file.write((char *)&S[i],sizeof(S[i]));
      i=50;
   cout<<"已成功删除!";
  }
   }
   }
 if(j!=1)cout<<"未找到相应信息!";
}

int main()
{
    cout<<"欢迎来到学生信息管理系统";
    cout<<"是否以管理员身份登录Y/N"<<endl;
    char n;
     int l,k;
    cin>>n;
    if(n=='Y'){
        cout<<"请输入密码";
lop:
        cin>>l;
        if(l==123456)
        k=10;
        else {cout<<"密码输入错误,重新输入";
     goto lop;}
    }
    if(k==10){
        loop:
 cout<<endl<<endl<<endl;
 cout<<"                   **********************************"<<endl;
 cout<<"                            学生信息管理系统         "<<endl;
 cout<<"                   **********************************"<<endl;
 cout<<"                     1.录 入 信 息    2.查 看 信 息  "<<endl;
 cout<<"                     3.查 找 信 息    4.删 除 信 息  "<<endl;
 cout<<"                     5.修 改 信 息    0.安 全 退 出  "<<endl;
 cout<<"                   **********************************"<<endl;
 cout<<endl;
 cout<<"请选择操作(0-5):"<<endl;
 int m;
 cin>>m;Student s;
 switch(m)
{
 case 1: s.input(); goto loop;break;
 case 2: s.look();  goto loop;break;
 case 3: s.find();  goto loop;break;
 case 4: s.delet() ;goto loop;break;
 case 5: s.change();goto loop;break;
 case 0:                     ;break;
 default:cout<<"错误!"<<endl;break;
}
}
else {
        lp:
 cout<<endl<<endl<<endl;
 cout<<"                   **********************************"<<endl;
 cout<<"                            学生信息管理系统         "<<endl;
 cout<<"                   **********************************"<<endl;
 cout<<"                     1.浏 览 信 息 "<<endl;
 cout<<"                     2.查 找 信 息 "<<endl;
 cout<<"                     0.安 全 退 出 "<<endl;
 cout<<"                   **********************************"<<endl;
 cout<<endl;
 cout<<"请选择操作(0-2):"<<endl;
 int m;
 cin>>m;Student s;
 switch(m)
{
 case 1: s.look();  goto lp;break;
 case 2: s.find();  goto lp;break;
 case 0:                   ;break;
 default:cout<<"输入错误!"<<endl;break;
}
}
    return 0;
}


我这个课程设计一开始不是自己写的(参考 网上的资料和C++ 课本)。

我们学习计算机语言只敲一些小的程序 进步很慢,也可以说没什么长进。有的时候一个大的困难,我们要学会把它分解为一个又一个的小的困难,(就像我们初中所学的课文《走一步在走一步》)我们就会发现它并不难,,,就比如我们的C++ 课程设计一开始看着挺多的不好写,当我们真正深入它的时候发现他是有规律的,一个大的课程设计分为几个类、和几个只要的函数(实现一些功能)下面是我的课程设计.....

 

 

http://download.csdn.net/my

 

 

 

 

 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
1、问题描述  学生信息包括:学号、姓名、性别、年龄、班级等信息。  小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。  中学生除了包括小学生所有信息外,还包括地理、历史成绩、家庭住址等信息。 大学生除了包括学生所有信息外,还包括专业、家庭地址、联系方式等信息。  2、功能要求  (1)添加功能:程序能够添加不同学生的记录,提供选择界面供用户选择所要添加的类别,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。  (2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。  (3)显示功能:可显示当前系统中所有学生的记录,每条记录占据一行。  (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。  (5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。  (6)统计功能:能根据多种参数进行统计。能统计学生人数、按性别统计、按年龄统计等。  (7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。  (8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值