用C++编写相关程序11

请编写程序,上机调试,题目如下图,请按题目要求编写,并给出程序

img


img

img

到底几个题?

第一题:


string s;
    cin >> s;
    CFile datFile;
    CString datPath;
    datPath = _T("D:\\1.dat");//在D盘下创建文件
    if (!datFile.Open(datPath, CFile::modeCreate | CFile::modeReadWrite))
        return;
    datFile.Write(&s, sizeof(s));//写入文件
    char* pc = new char[sizeof(s)];
    datFile.Read(pc, sizeof(s));//读出数据
    int cout = 0;//统计字符个数
    for (int i = 0; i < sizeof(s); ++i)
    {
        if (islower(pc[i]))
        {
            pc[i]=toupper(pc[i]);
        }
        if (isupper(pc[i]))
        {
            pc[i]=tolower(pc[i]);
        }
        cout++;
    }
    CString endPath;
    datPath = _T("D:\\2.dat");//在D盘下创建文件
    CFile endFile;
    if (!endFile.Open(endPath, CFile::modeCreate | CFile::modeReadWrite))
        return;
    endFile.Write(pc, sizeof(s));

    delete[]pc;
    datFile.Close();
    endFile.Close();

第二题:
21

第一题

#include <iostream>
#include <fstream>

using namespace std;

fstream str;

int main()
{
    /* Code */
    string s;
    cin>>s;
    str.open("1.dat",ios::out);
    str<<s;
    for(int i=0 ;i<s.size(); i++)
    {
        if(s[i]>='a'&&s[i]<='z')
            s[i]-=32;
        if(s[i]>='A'&&s[i]<='Z')
            s[i]+=32;
    }
    str.close();
    str.open("2.dat",ios::out);
    str<<s;
    cout<<"字符个数 : "<<s.size()<<'\n';
    return 0;
}

第二题:21

第三题:

#include <iostream>
#include <fstream>

using namespace std;

fstream str;

int main()
{
    /* Code */
    string s;
    str.open("a.txt",ios::in);
    while(str>>s)
    {
        int tar=0;
        for(int i=0; i<s.size(); i++)
            tar+=(s[i]-'A'+1);
        cout<<s<<" 的百分比是 "<<tar<<endl;
    }
    return 0;
}