学生成绩管理系统C++(txt文件操作)

用c++实现学生成绩管理系统,以操作txt文件为主,可通过0-7进行操作,功能已经较为齐全
‘0’退出保存
‘1’显示学生信息
‘2’可以添加信息
‘3’查询信息(可通过学号,姓名,多科成绩五种方式查找)
‘4’删除信息(可通过学号,姓名,多科成绩五种方式查找删除)
‘5’成绩排序
‘6’单科成绩分析(可进行单科成绩排序,共三种排序方式)
‘7’退出并清空

*******此代码是博主初学时所写,C++知识并不完备
*******仅供参考
************代码如下
#include “iostream”
#include “string”
#include “iomanip”
#include “fstream”

using namespace std;
int n;
struct student
{
string ID;
string name;
double score1;
double score2;
double score3;
};
student stu[100];//
void showBiaotou();
void showMenu();
void showChoice();
void initStuMessage();//学生数据初始化
void ninit();//扫描文件行数,得到n
void cunMessage();// 0 保存退出
void showStuMessage();//1 学生信息总览表1
void addStuMessage();// 2 添加2
void findMessage();// 3 查询3
void clcStuMessage();// 4 清除数据,学号查询清除4
void xunMessage();// 5 成绩排序
void danMessag(); // 6 单科成绩分析
void qingMessage();// 7 清空所有信息并退出系统7
int main()
{
ninit();
initStuMessage();

showMenu();
showChoice();
return 0;

}

void ninit()
{
char file[100];
ifstream infile(“stu1.txt”);
if(!infile.is_open())//打开失败
{
cout<<“文件无法打开”<<endl;
cout<<“建立一个名为“stu1”的文件夹”<<endl;
cout<<“重新打开文件夹”<<endl;
infile.close();

    ofstream outfile;
    outfile.open("stu1.txt", ios_base::app);
    outfile.close();

    ifstream infile("stu1.txt");

}

if(infile.is_open())//成功打开
  {
      while(!infile.eof())
    {
        infile.getline(file, sizeof(file));//此处默认的终止标识符为‘\n’
        n++;
    }
    n=n-2;
    infile.close();
  }
  

}
void initStuMessage()
{
ifstream infile(“stu1.txt”);
for(int j=0;j<=n;j++)
{
infile >> setw(20)>> stu[j].ID;
infile >> setw(20)>> stu[j].name;
infile >> setw(10)>> stu[j].score1;
infile >> setw(10)>> stu[j].score2;
infile >> setw(10)>> stu[j].score3;
}

infile.close();

// cout<<n;

}

void showBiaotou()
{
cout << setw(20) << “学号”;
cout << setw(20) << “姓名”;
cout << setw(10) << “专业成绩”;
cout << setw(10) << “平时成绩”;
cout << setw(10) << “综合成绩”;
cout << endl;
}

void showMenu()
{
cout << “\n=============================================\n”;
cout << " 欢迎使用学生成绩查询系统\n";
cout << " 1.显示所有学生成绩\n";
cout << " 2.添加信息\n";
cout << " 3.查询信息\n";
cout << " 4.删除信息\n";
cout << " 5.成绩排序\n";
cout << " 6.单科成绩分析\n";
cout << " 7.清空所有信息并退出系统\n";
cout << " 0.保存并且退出系统\n";
cout << “\n=============================================\n”;
cout << " 请输入数字(0-7):\n";
}
void showChoice()
{
char choice;
cin >> choice;
while (choice <=‘7’)
{
switch(choice)
{
case ‘0’:
cunMessage();
break;
case ‘1’:
showStuMessage();
break;
case ‘2’:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值