C++实验六;

Part2 基础练习

Code

#include<fstream>
#include<string>
#include<iostream>
using namespace std;
int main()
{
    char a[20]="merge sucessfully";
    ofstream file("3.txt",ios_base::app);
    file<<endl;
    file.write(reinterpret_cast<char *>(&a),sizeof(a));
    file.close();
    return 0;
}

Part2

运行截图

Part3 应用编程实践

Code

#include <iostream>
#include <string>
#include "utils.h"
#include<fstream>
#include<cstdlib>
#include<cstring>
#include<ctime>
using namespace std;

int main() {
    string filename;
    filename = getCurrentDate();
    cout << filename << endl;
    char file[50];
    string a[100];
    int n,i,j,s=0;
    cout<<"输入名单列表文件名:";
    gets(file);
    cout<<"输入抽取人数:";
    cin>>n;
    ifstream fin;
    fin.open(file);
    if(!fin.is_open())
    {
    cerr << "fail to open file " << file << endl;
    system("pause");
    exit(0);
    }
    string newfile;
    ofstream fout;
    newfile=filename;
    fout.open(newfile);
    if(!fout.is_open())
    {
    cerr << "fail to open file " << newfile << endl;
    system("pause");
    exit(0);
    }
   ifstream infile(file);
   //读取文本行数//
    while(!infile.eof()){
        getline(infile,a[s],‘\n‘);
         s++;
     }
    int ran;
    for(i=0;i<n;i++)
    {
    srand(time(NULL));
    ran+=rand()%s;
    cout<<a[ran%s]<<endl;
    }
    fin.close();
    fout.close();
    return 0;
}

随机抽人

统计字符数

Code

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    char filename[20];
    cout<<"输入要统计的英文文本文件名:";
    gets(filename);
    int cnum=0,wnum=0,lnum=0;
    ifstream fin;
    fin.open(filename);
    if(!fin.is_open()) {
        cerr << "fail to open file " << filename << endl;
        system("pause");
        exit(0);
    }
    char ch;
    while(fin.get(ch))
    {
        if(ch==‘ ‘)
        {
        wnum++;
        cnum++;
    }
        else if(ch!=‘ ‘&&ch!=‘\n‘)
        cnum++;
        else
        {
        lnum++;
    }
    }
    cout<<"字符数"<<cnum<<endl;
    cout<<"单词数"<<wnum+lnum+1<<endl;
    cout<<"行数"<<lnum+1<<endl;
    fin.close() ;
}

统计字符数

运行截图

实验总结:1.感觉书上以不同形式打开文件的讲解很有用,编程第一题就用了其中的追加形式。

2.还是会犯一些低级错误,比如用时间作为随机种子时没有包含头文件<ctime>,浪费了一些时间。

3.统计字符数时我是将每个字符进行判断计数,应该有其他的方法,后续会在其他同学的博客中浏览学习。

4.随机抽人大致算法是将每一个人的一行信息进行标号,每一行为一个string,同样会后续学习其他同学的方法。

原文地址:https://www.cnblogs.com/qiuqiuwr/p/11012625.html

时间: 2024-10-10 12:35:04

C++实验六;的相关文章

软件测试实验六

请用所学的软件测试知识和技术方法,对bookstore项目中的购物车模块进行测试,并写出测试的缺陷报告. 说明: 1.bookstore项目即实验7发给大家的项目 2.要求至少发现2个缺陷,即要写2份缺陷报告 3.缺陷报告参考课本P264页 4.缺陷报告中的严重度和优先级按照课本P263页中规定的严重度和优先级 5.页面布局.美观.链接等不符合需求,也算缺陷,但本题请不要写这些方面的缺陷,否则不给分. 购物车模块缺陷报告 缺陷编号:01.01.01                        

CCNP实验六:修改OSPF特定邻居源的路由管理距离

一:基本配置 r1(config)#router ospf 1 r1(config-router)#net 1.1.0.0 0.0.255.255 area 1 r1(config-router)#net 12.1.1.1 0.0.0.0 area 0 r1(config-router)#redistribute connected subnets r2(config)#router ospf 1 r2(config-router)#net 12.1.1.2 0.0.0.0 area 0 r2(

【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验六:数码管模块

实验六:数码管模块 有关数码管的驱动,想必读者已经学烂了 ... 不过,作为学习的新仪式,再烂的东西也要温故知新,不然学习就会不健全.黑金开发板上的数码管资源,由始至终都没有改变过,笔者因此由身怀念.为了点亮多位数码管从而显示数字,一般都会采用动态扫描,然而有关动态扫描的信息请怒笔者不再重复.在此,同样也是动态扫描,但我们却用不同的思路去理解. 图6.1 6位数码管. 如图6.1所示,哪里有一排6位数码管,其中包好8位DIG信号还有6位SEL信号.DIG为digit,即俗称的数码管码,如果数码管

实验六 利用三层交换机实现VLAN间路由

实验六 利用三层交换机实现VLAN间路由 一.实验目标 掌握交换机Tag VLAN的配置 掌握三层交换机基本配置方法: 掌握三层交换机VLAN路由的配置方法: 通过三层交换机实现VLAN间相互通信: 二.实验背景 某企业有两个主要部门,技术部和销售部,分处于不同的办公室,为了安全和便于管理对两个部门的主机进行了VLAN的划分,技术部和销售部分处于不同的VLAN,先由于业务的需求需要销售部和技术部的主机能够相互访问,获得相应的资源,两个部门的交换机通过一台三层交换机进行了连接. 三.技术原理 三层

数据结构-实验六 排序

实验六   排序   l  实验目的 1.排序的基本概念 1.掌握在数组上进行各种排序的方法和算法. 2.深刻理解各种方法的特点,并能灵活应用. 3.加深对排序的理解,逐步培养解决实际问题的编程能力. l  实验内容 1.排序的基本概念 (一)基础题 1.编写各种排序方法的基本操作函数: (1)s_sort(int e[],int n)选择排序: (2)si_sort(int e[],int n)直接插入排序: (3)sb_sort(int e[],int n)冒泡排序: (4)merge(in

Packet Tracer 5.0实验(六) 路由器基本配置

Packet Tracer 5.0实验(六) 路由器基本配置 一.实验目标 掌握路由器几种常用配置方法: 掌握采用Console线缆配置路由器的方法: 掌握采用telnet方式配置路由器的方法: 熟悉路由器不同的命令行操作模式以及各种模式之间的切换: 掌握路由器的基本配置命令: 二.技术原理 路由器的管理方式基本分为两种:带内管理和带外管理.通过路由器的Console口管理路由器属于带外管理,不占用路由器的网络接口,其特点是需要使用配置线缆,近距离配置.第一次配置时必须利用Console端口进行

20155222卢梓杰 实验六 信息搜集与漏洞扫描

实验六 信息搜集与漏洞扫描 DNS IP注册信息的查询 首先试下查找学校官网的IP 方法一 使用whois+域名 失败了 方法二 nslookup法 还是失败了 方法三 直接ping法 等了很久都没反应,看来是失败了 方法四 netcraft提供的信息查询服务 查不到 使用http://www.7c.com/查询 很卡,一直没结果 方法五 只好用笨办法,通过wireshark捕获访问该域名时DNS服务器返回的包 得到IP地址202.205.232.8 再用whois+ip地址 搜集到了一些信息

实验六 继承定义与使用

实验六 继承定义与使用 实验时间 2018-9-28 1.实验目的与要求 (1) 理解继承的定义: (2) 掌握子类的定义要求 (3) 掌握多态性的概念及用法: (4) 掌握抽象类的定义及用途: (5) 掌握类中4个成员访问权限修饰符的用途: (6) 掌握抽象类的定义方法及用途: (7)掌握Object类的用途及常用API: (8) 掌握ArrayList类的定义方法及用法: (9) 掌握枚举类定义方法及用途. 2.实验内容和步骤 实验1: 导入第5章示例程序,测试并进行代码注释. 测试程序1:

20165309 《网络对抗技术》实验六:信息搜集与漏洞扫描

20165309 <网络对抗技术>实验六:信息搜集与漏洞扫描 1.基础问题回答 (1)哪些组织负责DNS,IP的管理. (2)什么是3R信息. (3)评价下扫描结果的准确性. 2.实践总结与体会 (1)遇到的问题与解决 (2)实验感受 3.实践过程记录 (0)准备工作 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点(以自己主机为目标) (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为

实验六 索引和数据完整性约束

实验六索引和数据完整性约束 一.  实验内容: 1. 索引的创建 2. 数据完整性约束的创建 二.  实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表).Departments(部门信息表).Salary(员工薪水情况表). 三.  实验步骤:(要求用命令完成以下操作) 1. 使用create index创建索引: 1)       对Employees表中的员工编号列创建普通索引depart_index: