高级语言程序设计II 实验报告一c++的基本语法和编码模式

 

 

 

高级语言程序设计II

实验报告一

姓名:许恺

学号:2014011329

日期:2015525

1. 实验目的

掌握c++的基本语法和编码模式,学会用c++编写小型的项目

2. 设计思路

没什么思路,就是按照 c的代码去改编,毕竟对于c++我还是知之甚少。

3. 代码实现

#include <iostream>

#include <stdio.h>

#include <string> //字符串头文件

#include <iomanip> //控制输出的头文件

using namespace std;

const int N=1000;

class student //

{

public:

void input(int a,int n,student stu[N]); //在公有中的输入函数

void write(int a,int n,student stu[N],FILE *fp1); //写入文件函数

void output(int a,int n,student stu[N]); //输出到屏幕的函数

private: //私有性质

int num;

  string name;

char sex;

string address;

};

void student::input(int a,int n, student stu[N]) //输入函数

{

char ch;

cout<<"num:";

cin>>stu[a].num;

cout<<"name:";

cin>>stu[a].name;

cout<<"sex(f is woman and m is man):";

cin>>ch;

cout<<"address:";

cin>>stu[a].address[1];

stu[a].address[0]=sizeof(stu[a].address);

}

void student:: write(int a,int n,student stu[N],FILE *fp1)

{

fwrite(stu,sizeof(stu[a].num),1,fp1);

fwrite(stu,sizeof(stu[a].name),1,fp1);

fwrite(stu,1,1,fp1);

fwrite(stu,stu[a].address[0],1,fp1);

fwrite(" ",2,1,fp1);

}

void student::output(int a,int n,student stu[N])

{

cout<<setw(10)<<setiosflags(ios::left)<<stu[a].num; //控制输出10个字符左对齐

cout<<setw(10)<<setiosflags(ios::left)<<stu[a].name;

cout<<setw(5)<<setiosflags(ios::left)<<stu[a].sex;

cout<<setw(stu[a].address[0])<<setiosflags(ios::left)<<stu[a].address[1]<<endl;

}

int main()

{

int a,n;

student stu[N]; //定义对象

FILE *fp1;

cout<<"How many student?"<<endl;

cin>>n; //输入学生人数

fp1=fopen("d:\aaa.txt","w+");

for(a=0;a<n;a++) //进入函数n

  stu[a].input(a,n,stu);

for(a=0;a<n;a++) //进入函数n

  stu[a].write(a,n,stu,fp1);

for(a=0;a<n;a++) //进入函数n

  stu[a].output(a,n,stu);

fclose(fp1); //关闭文件

return 0;

}

 

4. 实验结果及分析

  1. 这部分要求说明生成的数据量,写文件的记录个数、文件大小,读取文件中一个记录、所有记录的时间等内容,并贴出代码运行的结果图。请测试多种数据量下,你文件读取和写入速度。

例如:本次实验向文件中写入了1000条学生情况的记录,生成的文件大小1.2M,生成数据的时间为1.2s,将文件中所有记录读取出来话费3s;写入10000条记录,生成文件大小12M,生成数据时间为15s,全部读取时间为25s

原文地址:https://www.cnblogs.com/xukaiae86/p/6421343.html