从键盘输入10个学生信息

原创 2018年04月16日 14:38:35

从键盘输入10个学生信息(学生信息包括学号、姓名、性别、成绩)存放在磁盘文件f1.dat中,然后把f1.dat中的数据复制到f2.dat文件中并在屏幕显示出学生数据.

#include <iostream>
#include <fstream>
using namespace std;
struct student
{
public:
    void setid();
    void setname();
    void setsex();
    void setgrade();

    string getid();
    string getname();
    string getsex();
    char getgrade();
private:
    char id[5];
    char name[6];
    char sex[4];
    char grade;
};
void student::setid()
{
    cin>>id;
}
void student::setname()
{
    cin>>name;
}
void student::setsex()
{
    cin>>sex;
}
void student::setgrade()
{
    cin>>grade;
}
char student::getgrade()
{
    return grade;
}
string student::getid()
{
    return id;
}
string student::getname()
{
    return name;
}
string student::getsex()
{
    return sex;
}

int main()
{
    student stu[3];
    student stu_temp;

    cout<<"please input student data:"<<endl;
    for (int i=0;i<3;i++)
    {
        stu[i].setid();
        stu[i].setname();
        stu[i].setsex();
        stu[i].setgrade();
    }

    fstream f1("C:\\Personal\\Desktop\\C++实验\\实验四\\学生信息\\f1.dat",ios_base::in|ios_base::out);
    fstream f2("C:\\Personal\\Desktop\\C++实验\\实验四\\学生信息\\f2.dat",ios_base::in|ios_base::out);

    if(f1)
    {
        for (int i=0;i<3;i++)
        {
           f1.write(reinterpret_cast<char*>(&stu[i]),sizeof(stu[i]));
           f1.flush();
        }
        f1.seekg(ios_base::beg);

         if (f2)
        {
            for (int i = 0; i < 3; i++)
            {
                f1.read(reinterpret_cast<char*>(&stu_temp), sizeof(stu_temp));
                cout << "学号:" << stu_temp.getid() << "姓名:" << stu_temp.getname() << "性别:" << stu_temp.getsex() << "分数:" << stu_temp.getgrade() << endl;

                f2.write(reinterpret_cast<char*>(&stu_temp), sizeof(stu_temp));

            }
            f1.close();
            f2.close();
        }
        else
        {
            cout << "f1 f2 open failed" << endl;
        }
    }
    else
        cout << "open file failed" << endl;

    return 0;
}



从键盘输入10个学生的成绩并储存在列表中,求成绩最高者的序号和成绩

解决了最后一对无法输出 解决了多个最大成绩输出错位 缩减了不必要的代码ls=[] j=[] k=[] for c in range(11): xh=int(input('')) f...
  • GrayFox_83
  • GrayFox_83
  • 2018-01-01 22:16:17
  • 154

从键盘输入10个学生信息

从键盘输入10个学生信息(学生信息包括学号、姓名、性别、成绩)存放在磁盘文件f1.dat中,然后把f1.dat中的数据复制到f2.dat文件中并在屏幕显示出学生数据.#include &amp;lt;...
  • y786256773
  • y786256773
  • 2018-04-16 14:38:35
  • 8

从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)

有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数) #...
  • w3071206219
  • w3071206219
  • 2016-09-21 20:41:33
  • 3132

文件例题(四)

【题目】从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去。 #include #include #define N 10 struct student {  char name...
  • xiaofeilong321
  • xiaofeilong321
  • 2013-04-08 18:15:59
  • 510

编写程序,接受从键盘3输入的10个十进制数字,输入中遇见回车符则停止输入,各个数经过BCD码处理,以16进制显示

 ;编写程序,接受从键盘3输入的10个十进制数字,输入中遇见回车符则停止输入,各个数经过BCD码处理,以;16进制显示 。;create date:2007-12-2;author:野渡无人;****...
  • lf144090
  • lf144090
  • 2007-12-02 17:20:00
  • 2661

编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组score的相应元素中,直到输入的成绩为999时结束。

/* 编写一个程序,循环从键盘接收一批学生的某门课的成绩,并依次保存在数组score的相应元素中,直到输入的成绩为999时结束。  (1)对成绩按从高到低排序,然后顺序输出排序后的所有学生的成绩,...
  • u013100446
  • u013100446
  • 2013-12-27 19:29:01
  • 1980

Windows平台下GCC编程之从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数

Code::Blocks 16.01 + GCC 4.9.2 for Windows 编译运行成功/* 10. 从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分...
  • xx1930812245
  • xx1930812245
  • 2016-04-15 17:11:51
  • 2569

从键盘输入10个数字,进行冒泡排序

package Ex1; /** * Created by xukui on 2016/8/19. **/ import java.util.Scanner; public class Bu...
  • sunnyken_97
  • sunnyken_97
  • 2016-08-19 01:14:59
  • 1494

从键盘输入十个整数存入一维数组中,求出其中的最大数并输出(要求用指针访问数组元素)?

#include int main() {     int max = 0,*p = NULL;     int arr[10] = {0};     printf("输入10个整...
  • u011594602
  • u011594602
  • 2013-08-07 07:08:10
  • 2298

java 从键盘输入学生成绩,找出最高分,并输出学生成绩等级;

从键盘输入学生成绩,找出最高分,并输出学生成绩等级;
  • qq_20011175
  • qq_20011175
  • 2016-10-07 13:02:25
  • 5167
收藏助手
不良信息举报
您举报文章:从键盘输入10个学生信息
举报原因:
原因补充:

(最多只允许输入30个字)