当前位置:编程学习 > C/C++ >>

高分跪求一个c++程序,积分随便拿!!!!

题目四:实验设备管理系统设计

实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

主要功能:

1、能够完成对设备的录入和修改

2、对设备进行分类统计

3、设备的破损耗费和遗损处理

4、设备的查询

要求:采用二进制文件方式存储数据,系统以菜单方式工作

答案:#include <iostream>
#include <string>
#include <fstream>
using namespace std;
typedef struct Student
{
 long num;
 string name;
 string phonenum;
 string living;
 Student *pnext;
}Stu,*pStu;
static int length = 0;
void StuInfo(Stu *pnow);
Stu* CreateStu();
Stu* AddStu(Stu *phead);
Stu* DelStu(Stu *phead,long num);
Stu* AltStu(Stu *phead,long num);
int SeaStu(Stu *phead,long num);
int ShowStu(Stu *phead);
Stu* StuMenu();
int CheckLink(long num);
int PrintStu(Stu *pstudent);
int main()
{
 PrintStu(StuMenu());
 return 0;
}

Stu* CreateStu()  
{
  Stu *phead = NULL;
  Stu *pnow;
  char choice = 'y';
  while(choice == 'y' || choice == 'Y')
  {
 if(length == 0)
 {
   cout<<"是否输入学生信息?"<<endl;
      cin>>choice;
      if(choice == 'y' || choice == 'Y')
   {
     phead = new Stu;
     ++length;
     cout<<"请输入学生的 学号 姓名 住址 电话 "<<endl<<endl;
     cin>>phead->num>>phead->name>>phead->living>>phead->phonenum;
     pnow = phead;
   }
   else
   {
   break;
   }
 }
 else
 {
      cout<<"是否继续输入学生信息?"<<endl;
      cin>>choice;
      if(choice == 'y' || choice == 'Y')
   {
     pnow->pnext = new Stu;
     ++length;
  pnow = pnow->pnext;
     cout<<"请输入学生的 学号 姓名 住址 电话 "<<endl<<endl;
     cin>>pnow->num>>pnow->name>>pnow->living>>pnow->phonenum;
   }
   else
   {
   break;
   } 
 }
  }

  pnow->pnext = NULL;
  return phead;
}
Stu* AddStu(Stu *phead)
{
  Stu *pnow;
  pnow = phead;
  if(phead == NULL)
  {
   cout<<"没有学生信息"<<endl;
   return 0;
  }
  while(pnow->pnext != NULL)
  {
 pnow = pnow->pnext;
  }
  pnow->pnext = new Stu;
  pnow = pnow->pnext;
  pnow->pnext = NULL;
  cout<<"请输入加入学生的 学号 姓名  住址 电话"<<endl;
  cin>>pnow->num>>pnow->name>>pnow->living>>pnow->phonenum;
  ++length;
  return phead;
}
Stu* DelStu(Stu *phead,long num)
{
 Stu *pnow,*pfront;
 if(phead == NULL)
 {
   cout<<"没有学生信息"<<endl;
   return 0;
 }
 else
 {
  pnow = phead;
  while(num != pnow->num && pnow != NULL)
  {
 pfront = pnow;
    pnow = pnow->pnext;
  }
  if(phead->num == num)
  {
 StuInfo(phead);
    phead = phead->pnext;
 --length;
  }
  else if(pnow->num == num && pnow->pnext == NULL)
  {
   StuInfo(pnow);
   pfront->pnext = NULL;
   --length;
  }
  else if(pnow->num == num)
  {
   StuInfo(pnow); 
   pfront->pnext = pnow->pnext;
   --length;
  }
  else
  {
 ;
  }
 }
 return phead;
}
void StuInfo(Stu *pnow)
{
 cout<<"要删除的学生信息"<<endl;
 cout<<"学号:"<<pnow->num<<"  姓名:"<<pnow->name<<"  住址:"<<pnow->living<<"  电话:"<<pnow->phonenum<<endl;
}

Stu* AltStu(Stu *phead,long num)
{
  Stu *pnow;
  if(phead == NULL)
  {
   cout<<"没有学生信息"<<endl;
   return 0;
  }
  pnow = phead;
  while(pnow != NULL)
  {
   if(pnow->num == num)
   {
    cout<<"请重新输入该学生的信息 学号 姓名 住址 电话"<<endl;
 cin>>pnow->num>>pnow->name>>pnow->living>>pnow->phonenum;
 break;
   }
   pnow = pnow->pnext;
  }
  return phead;
}

int SeaStu(Stu *phead,long num)
{
  Stu *pnow;
  if(phead == NULL)
  {
   cout<<"没有学生信息"<<endl;
   return 0;
  }
  pnow = phead;
  while(pnow != NULL)
  {
  if(pnow->num == num)
  {
        cout<<"您要找的学生信息为"<<endl;
        cout<<"学号:"<<pnow->num<<"  姓名:"<<pnow->name<<"  住址:"<<pnow->living<<"  电话:"<<pnow->phonenum<<endl;
  return 0;
  }
  pnow = pnow->pnext;
  }
  cout<<"没有找到该学生"<<endl;
  return 0;
}
int ShowStu(Stu *phead)
{
Stu *pnow;
if(phead == NULL)
{
  cout<<"没有学生信息"<<endl;
  return 0;
}
pnow = phead;
while(pnow != NULL)
{
   cout<<"学号:"<<pnow->num<<"  姓名:"<<pnow->name<<"  住址:"<<pnow->living<<"  电话:"<<pnow->phonenum<<endl<<endl;
   pnow = pnow->pnext;
}
return 0;
}
Stu* StuMenu()
{
   int choice;
   char choice1;
   long num;
   Stu *pstu;
   cout<<"请先创建学生信息"<<endl;
   pstu = CreateStu();
   cout<<"1:删除学生信息"<<endl;
   cout<<"2: 修改学生信息"<<endl;
   cout<<"3: 查找学生信息"<<endl;
   cout<<"4: 所有学生信息"<<endl;
   cout<<"5: 增加学生信息"<<endl;
   while(1)
   {
   cout<<"请选择"<<endl;
   cin>>choice;
   switch(choice)
   {
   case 1: cout<<"请输入要删除学生的学号"<<endl;
        cin>>num;
        pstu = DelStu(pstu,num);
     break;
   case 2: cout<<"请输入要修改学生的学号"<<endl;
        cin>>num;
     pstu = AltStu(pstu,num);
     break;
   case 3: cout<<"请输入要查找学生的学号"<<endl;
        cin>>num;
     SeaStu(pstu,num);
     break;
   case 4: ShowStu(pstu);
     break;
   
   case 5: pstu = AddStu(pstu);
        break;
   default: cout<<"输入错误请重新输入"<<endl;
   }
   cout<<"是否继续?"<<endl;
   cin>>choice1;
   if(choice1 == 'y'

上一个:c++课程设计 高分急求高手解答
下一个:c++程序题补充 继续输入要手动

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,