急求!用C++编写一个学生管理系统

2024-05-04 09:04

1. 急求!用C++编写一个学生管理系统

我是计算机学生,不急的话可以让我试试
#include 
#include 
#include 
#include //输入/输出文件流类
using namespace std;
class Student //定义类
{ 
private:
int tag; //删除标记 1:已删 0:未删
char name[10]; //姓名
int grade;//成绩
int ID;
public:
Student() {}//构造函数
int gettag() {return tag;} //获取删除标记
char* getname() {return name;} //获取驾驶员编号
int getID(){ return ID; }
int getgrade(){
 return grade;
}
void setname(char*na){ strcpy_s(name, na); }
void setgrade(int n){ grade = n; }
void deldrive(){ tag = 1; }//设置删除标记 1:已删 0:未删
void addstudent(char* nname, int ngrade, int nID)//增加
{
 tag = 0;
 grade = ngrade;
 ID = nID;
 strcpy_s(name, nname);
}
void show()//显示信息
{ 
 cout << "      学号:     " << ID << endl;
 cout << "      姓名:     " << name << endl;
 cout <<"       成绩:      " << grade << endl;
}
};
//学生类库
class Studentlist
{ 
private:
int top; //记录指针与学号
Student student[100];//记录
public:
Studentlist() //构造函数,将txt读到程序
{
Student s;
top=-1;
fstream file("student.txt",ios::in);//打开一个输入文件
while (1)
{
file.read((char *)&s,sizeof(s));
if (!file)break;
top++;
student[top] = s;//循环逐个读入
}
file.close(); //关闭txt
}
int add(char* nname, int ngrade)//添加时先查找是否存在
{
top++;
student[top].addstudent(nname,ngrade,top);//调用类增加函数
return 1;
}
Student *findname(char*  name)//按姓名查找
{
for (int i=0;i<=top;i++)
if (strcmp(student[i].getname(),name)==0 &&
 student[i].gettag() == 0)//判断是否已经存在
{
 return &student[i];
}
return NULL;
}
Student *findID(int ID)//按学号查找
{
 for (int i = 0; i <= top; i++)
 if (student[i].getID()== ID&&
  student[i].gettag() == 0)//判断是否已经存在
 {
  return &student[i];
 }
 return NULL;
}
void show() //输出所有信息
{
for (int i=0;i<=top;i++)
student[i].show();
}
void tongji(){//统计函数
 cout << "                   优秀与及格人数" << endl;
 cout << "      及格人数如下:";
 for (int i = 0; i <= top; i++)
 if (student[i].getgrade() >= 60)
  student[i].show();
 cout << "\n\n\n";
 cout << "      优秀人数如下:";
 for (int i = 0; i <= top; i++)
  if (student[i].getgrade() >= 80)
   student[i].show();
  
}
void studentlist();//维护
~Studentlist() //析构函数,将写到txt文件中
{
fstream file("student.txt",ios::out);
for (int i=0;i<=top;i++)
if (student[i].gettag() == 0)//循环输出信息到文本中
file.write((char *)&student[i], sizeof(student[i]));
file.close();
}
};
void Studentlist::studentlist()//维护函数实现
{
 int choice = 1;//先行定义,避免choice未定义使用
 char name[10]; //姓名
 int grade;//成绩
 int ID;
 Student *r;//指针
 while (choice != 6)
 {
  cout << "************************************\n学生成绩管理系统 ***********************************************************************\n***1--输入数据**********************\n***2--查询成绩**********************\n***3--修改成绩**********************\n***4--输出所有学生成绩**************\n***5--统计及格和优秀人数************\n***6--退出系统****************************\n*******************************" << endl;
  cin >> choice;
  switch (choice)
  {
  case 1://新增
   cout << "输入姓名:";
   cin >> name;
   cout << "输入成绩:";
   cin >> grade;
   add(name, grade);
   cout << "完成" << endl;;
   break;
  case 2://显示
   int a;
   while (a){
    cout << "搜 索 菜 单     1 学 号      2 姓 名       0 退 出" << endl;
    cin >> a;
    switch (a){
    case 1:
     cout << "输入学号:";
     cin >> ID;
     r = findID(ID);
     if (r == NULL)
     {
      cout << "该学生不存在" << endl;
      system("pause");
      break;
     }
     r->show();
     system("pause");
     break;
    case 2:
     cout << "输入姓名:";
     cin >> name;
     r = findname(name);
     if (r == NULL)
     {
      cout << "该学生不存在" << endl;
      system("pause");
      break;
     }
     r->show();
     system("pause");
     break;
    case 0:break;
    default:cout << "输入错误,请重新输入"; break;
    }
   }; break;
  case 3://更改
   int b;
   while (b){
    cout << "更 改 菜 单     1 学 号      2 姓 名       0 退 出"<<endl;
    switch (b){
    case 1:
     cout << "输入学号:";
     cin >> ID;
     r = findID(ID);
     if (r == NULL)
     {
      cout << "该学生不存在" << endl;
      system("pause");
      break;
     }
     cout << "成绩:";
     cin >> grade;
     r->setgrade(grade);
     system("pause");
     break;
    case 2:
     cout << "输入姓名:";
     cin >> name;
     r = findname(name);
     if (r == NULL)
     {
      cout << "该学生不存在" << endl;
      system("pause");
      break;
     }
     cout << "成绩:";
     cin >> grade;
     r->setgrade(grade);
     system("pause");
     break;
    case 0:break;
    default:cout << "输入错误,请重新输入"; break;
    }
   };
   break;
  case 4://全显
   show();
   system("pause");
   break;
  case 5://全删
   tongji();
   system("pause");
   break;
  case 6://退出
   break;
  default:cout << "输入错误,请重新输入"; break;
  };
 }
}
//main() 函数的实现,程序的主界面的引导
int main(void)
{ 
 Studentlist a;
 a.studentlist();
return 0;
}

第一次写,不要报酬了,我是雷锋

急求!用C++编写一个学生管理系统

2. 急求一个用c\c++编写的《银行定期储蓄管理系统》 请高手支援

123

3. 急急急!急求c++语言做的人事管理系统,有急用的。求大神们帮帮忙,在线等!

去猪八戒网发布任务吧,没钱谁给你做

急急急!急求c++语言做的人事管理系统,有急用的。求大神们帮帮忙,在线等!

4. 急求用c++编写"家庭支出管理系统"的程序代码

我这里没有和你要求一模一样的程序,不过有个学生管理系统的,管理系统这一类问题都是相似的,你稍微改一下就行,或者是借鉴其中的一些东西,会对你很有帮助,连的Access数据库,写的不复杂,看起来不难,VC++6.0调试通过,如果需要,留邮箱或站内联系。

    不给你新做了,我给你思路(VC++6.0),你自己试一试吧,编程不能总是用现成的,自己动手才能进步。
     1.建立数据结构,不用很复杂,弄个链表就行,可以从CPoint派生,或者自己写个结构体。可以采用CTypedPtrArray进行链表维护。
     2.根据口令进入系统,可以建立个Dlg,在APP中或CMainFrame进行弹出处理。
     3.表的统计不难,按需取出数据的某个属性进行处理吧。
     4.排序输出可以用CListCtrl对象进行显示,则在Dlg/View中可以显示表。
     希望你自己能做出来,我说的很详细了,页面的美化你自愿。

5. [急]用c++设计一个公司员工信息管理系统

里面有两个,第一个是数组实现的
                  第二个是链表实现的
OK?

[急]用c++设计一个公司员工信息管理系统

6. 用c++编一个职工信息管理系统,急求!!!

你可以先设计各大模块,然后找代码进行运行,你可以参考http://wenku.baidu.com/user/doc?st=2进行制作

7. 高分急求高手用C++设计一个工资管理系统,要求输入输出要以文档的形式

发过了,请注意查收

高分急求高手用C++设计一个工资管理系统,要求输入输出要以文档的形式