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

谁能帮忙做个C++程序啊 不胜感谢!

班级管理程序
①输入信息存入文件
②查询,查找(按名。学号查找)
③成绩统计(number,name,chs,match,scr)
④修改

实现以上四个功能!

追问:就是写一个C++代码就行了,大一的课后题

答案:【感谢您对“电脑爱好者团队”的支持与信任,您的求助是我们团队发展的动力!】

============代码==============

#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>
using namespace std;

class Student
{
public:
 unsigned number;
 char name[20];
 int cls;
 int math;
 int scr;
};
//输入信息
void input(void)
{
 fstream file;
 file.open("student.txt",ios::out|ios::app);
 Student info;
 cout<<"请依次输入学号、姓名、语文成绩、数学成绩:"<<endl;
 cin>>info.number>>info.name>>info.cls>>info.math;
 file<<info.number<<'\t'<<info.name<<'\t'<<info.cls<<'\t'<<info.math<<endl;
 file.close();
}
//查询
void search(void)
{
 fstream file;
 Student info;
 int index=0;
 char inp[50];
 bool flag=false;
 cout<<"请输入姓名或学号:"<<endl;
 cin>>inp;
 file.open("student.txt",ios::in);
 cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"语文"<<'\t'<<"数学"<<endl;
 while(!file.eof())
 {
  file>>info.number>>info.name>>info.cls>>info.math;
  if(atoi(inp) == info.number || strcmp(inp,info.name) == 0)
  {
   cout<<info.number<<'\t'<<info.name<<'\t'<<info.cls<<'\t'<<info.math<<endl;
   flag = true;
   break;
  }
 }
 file.close();
 if(!flag)
 {
  cout<<"没有信息!"<<endl;
 }
}
//统计
void compile(void)
{
 Student info[50];
 fstream file;
 int i=0,j;
 file.open("student.txt",ios::in);
 while(!file.eof())
 {
  file>>info[i].number>>info[i].name>>info[i].cls>>info[i].math;
  info[i].scr = info[i].cls+info[i].math;
  i++;
 }
 file.close();
 cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"语文"<<'\t'<<"数学"<<'\t'<<"总分"<<endl;
 for(j=0;j<i-1;j++)
 {
  cout<<info[j].number<<'\t'<<info[j].name<<'\t'<<info[j].cls<<'\t'<<info[j].math<<'\t'<<info[j].scr<<endl;
 }
}
//修改
void change(void)
{
 fstream file;
 fstream f1;
 Student info[50],chg;
 int i=0,j;
 char inp[50];
 bool flag=false;
 cout<<"请输入要修改对象的学号或姓名:"<<endl;
 cin>>inp;
 file.open("student.txt",ios::in);
 while(!file.eof())
 {
  file>>info[i].number>>info[i].name>>info[i].cls>>info[i].math;
  if(atoi(inp) == info[i].number || strcmp(inp,info[i].name) == 0)
  {
   flag = true;
   cout<<"请输入新的信息:"<<endl;
   cin>>chg.number>>chg.name>>chg.cls>>chg.math;
   info[i] = chg;
  }
  i++;
 }
 file.close();
 if(flag)
 {
  f1.open("student.txt",ios::out);
  for(j=0;j<i-1;j++)
  {
   f1<<info[j].number<<'\t'<<info[j].name<<'\t'<<info[j].cls<<'\t'<<info[j].math<<endl;
  }
  f1.close();
 }
 else
 {
  cout<<"该信息不存在!"<<endl;
 }
}

int main(void)
{
 int item;
 char loop;
 while(1)
 {
  system("cls"); //清屏
  cout<<"=======班级管理程序=======\n"<<endl;
  cout<<"\t1.输入信息"<<endl;
  cout<<"\t2.查询信息"<<endl;
  cout<<"\t3.成绩统计"<<endl;
  cout<<"\t4.修改信息"<<endl;
  cout<<"\t0.退出程序"<<endl;
  cout<<'\n'<<endl;
  cout<<"选择—>"<<endl;
  cin>>item;
  switch(item)
  {
  case 1:
   do
   {
    input();
    cout<<"是否继续?(Y/N)"<<endl;
   }
   while(cin>>loop,loop == 'Y'||loop == 'y');
   break;
  case 2:
   do
   {
    search();
    cout<<"是否继续?(Y/N)"<<endl;
   }
   while(cin>>loop,loop == 'Y'||loop == 'y');
   break;
  case 3:
   do
   {
    compile();
    cout<<"是否继续?(Y/N)"<<endl;
   }
   while(cin>>loop,loop == 'Y'||loop == 'y');
   break;
  case 4:
   do
   {
    change();
    cout<<"是否继续?(Y/N)"<<endl;
   }
   while(cin>>loop,loop == 'Y'||loop == 'y');
   break;
  default:
   exit(1);
  }
 }
 return 0;
}

====运行截图====

=================

【电脑爱好者团队 - 天外飞机】

这是一个工程呀``

上一个:用栈实现后缀式的加法(C++)
下一个:C++中关于这个vector的一点小疑问

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