网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月19日漏签0天
c吧 关注:133,628贴子:394,061
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 3回复贴,共1页
<<返回c吧
>0< 加载中...

大虾帮个忙,程序我已经写好,帮改一下

  • 取消只看楼主
  • 收藏

  • 回复
  • 不堪动荡
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
程序我已经弄好了,现在帮忙弄个简单的界面,改一下,使他看起来更舒服点,麻烦了!!!
#include <iostream>
#include <fstream>
using namespace std;
#include <stdlib.h>
struct student
{
     int num;
     char name[20];
     double Chinese;
     double math;
     double English;
     double totel;
     double ave;
};
void main()
{
     int n,j;
     double sum=0;
     double ave=0;
     struct student stu[5];
     struct student stutemp;
     cout<<"请输入学生总数:";
     cin>>n;
     ofstream outfile;
     outfile.open("file.dat",ios::binary);
     if(! outfile)
     {
         cout<<"can not open file.dat";
         abort();
     }
     for(int i=0;i<n;i++)
     {
         cout<<"请输入: 学号,姓名,语文,数学,英语:\n"<<endl;
         cin>>stu[i].num>>stu[i].name>>stu[i].Chinese>>stu[i].math>>stu[i].English;
         stu[i].totel=stu[i].Chinese+stu[i].math+stu[i].English;
         stu[i].ave=stu[i].totel/3;
        
         outfile.write((char*)&stu[i],sizeof(struct student));
     }
     outfile.close();
     ifstream infile;
     infile.open("file.dat",ios::binary);
     if(! infile)
     {
         cout<<"can not open file.dat";
         abort();
     }
     cout<<"学生数据如下:\n"<<endl;
     for(i=0;i<n;i++)
     {
         infile.read((char*)&stu[i],sizeof(struct student));
         cout<<stu[i].num<<","<<stu[i].name<<","<<stu[i].Chinese<<","<<stu[i].math<<","<<stu[i].English<<endl;
     }
     cout<<"语文总分 平均分\n";
         for(i=0;i<n;i++)
     {
         sum=sum+stu[i].Chinese;



  • 不堪动荡
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
         ave=sum/n;
     }
     cout<<sum<<" ";
     cout<<ave<<" \n";
     sum=0;
     cout<<"数学总分 平均分\n";
         for(i=0;i<n;i++)
     {
         sum=sum+stu[i].math;
         ave=sum/n;
     }
     cout<<sum<<" ";
     cout<<ave<<" \n";
     sum=0;
     cout<<"英语总分 平均分\n";
         for(i=0;i<n;i++)
     {
         sum=sum+stu[i].English;
         ave=sum/n;
     }
     cout<<sum<<" ";
     cout<<ave<<" \n";
     sum=0;
        
     for (i=0;i<n;i++)
     {     for (j=0;j<n-1;j++)
         {
             if (stu[j].totel<stu[j+1].totel){
                 stutemp=stu[j];
                 stu[j]=stu[j+1];
                 stu[j+1]=stutemp;}
         }
     }
     for (i=0;i<n;i++)
     {
         cout<<"学生:"<<stu[i].name<<"    语文:"<<stu[i].Chinese<<"    数学:"<<stu[i].math<<"    英语:"<<stu[i].English<<"    总分:"<<stu[i].totel<<"    平均分:"<<stu[i].ave<<endl;
     }
}


2025-08-19 02:30:03
广告
不感兴趣
开通SVIP免广告
  • 不堪动荡
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
高手帮忙看看啊···


  • 不堪动荡
  • 白丁
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢
比如这个程序,我需要按1,开始显示成绩情况,按2显示总分平均分,按3显示排名
按0退出程序该怎么去写呢?!
而不是这样简单的直接输出全部的
谁能帮帮我


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回c吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示