Следует отметить, что мы также проверяем самое длинное слово, включающее эту букву, а также самое короткое слово.
следует указать, что я студент, и в моем коде есть несколько ошибок
ВНИМАНИЕ: ОТСУТСТВУЕТ КОММЕНТАРИЙ. Также следует указать, что я понятия не имел, что делал во время выполненияэто из-за расплывчатых инструкций, данных учителем моему коду;word.cpp
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<iomanip>
#include"myStrCharFunc.h"
using namespace std;
const int SIZE=26; //Size of the area, one for each letter
const int MAX=30; //Size of the c string that will store word from the input file
typedef char cstr[MAX];
struct let
{
int count;//nummber of words that start with thr letter
int shortest;
int longest;
};
void initializeArray(let ar[]);
void readData(let ar[]);
void processWord(cstr word, let ar[]);
int main()
{
//cstr s="Hi";
let ar[SIZE];
return 0;
}
void initializeArray(let ar[])
{
for(int i=0;i<SIZE; i++)
{
ar[i].count=0;
ar[i].shortest=9999;
ar[i].longest=0;
}
}
void readData(let ar[])
{
ifstream fin;
fin.open("project2.dat");
if(!fin)
{
cout<<"Your input file doesn't exist"<<endl;
}
else
{
//let temp;
//fin>>temp.count;
//fin>>temp.shortest;
//fin>>temp.longest;
cstr word=" ";
fin>>word;
while(fin)
{
processWord(word, ar);
fin>>word;
}
}
fin.close();
}
void processWord(cstr word, let ar[])
{
for(int i=0; i < SIZE; i++)
{
ar[i].count++;
myToUpper(word);
int fev = myStrLen(word);
if(ar[i].longest < fev)
{
ar[i].longest = fev;
}
if(ar[i].shortest > fev)
}
ar[i].shortest=fev;
}
}
другая программа, связанная с этим;myStrCharFunc.h
//myToUpper('a')-->'A'
//myToUpper('A')-->'A'
char myToUpper(char b)
{
if('a'<= b && b <= 'z')
{
b-=('a'-'A');
}
return b;
}
int myStrLen(const char cstr[])
{
int i=0;
for(i; cstr[i] != '\0'; i++)
;
return i;
}
myToUpper предполагалось взять символ или C-строку и использовать таблицу ASCII, чтобы сделать ее заглавной буквой
Между тем myStrLen предполагал записать длинукаждое отдельное слово, которое оно принимает.
Ошибки для кода, который я написал:
word.cpp: В функции 'void processWord (char *, let *)': word.cpp: 77: 21: ошибка: неправильное преобразование из 'char *' в 'char' [-fpermissive]
myToUpper(word);
^ In file included from word.cpp:6:0: myStrCharFunc.h:3:6: error: initializing argument 1 of ‘char
myToUpper (char) '[-fpermissive] char myToUpper (char b)
/ Следует отметить, что ни один из написанного здесь кода не был должным образом отформатирован после нажатия CTRL + K и вырезания и вставки его в заданную область, поэтому все это было сделано вручную /
Также файл, который мы используем;project2.dat содержит только это:
Economists attributed the jump in tourism to a strengthening
economy high consumer confidence and pent up demand among
Americans who put off travel during the recession Also
a growing middle class in China is pushing visits from that
country experts said
The state persistent drought although weighing heavily on
residents does not appear to bother travelers interested in
sunshine shopping and sightseeing
Visitors to Los Angeles are not going to care if it gets a
little brown around the edges quipped Dean Runyan a
consultant who studied the tourism economy for Visit
California report released Tuesday
Still Runyan cautioned the drought could affect tourism
in rural counties where fishing and boating are popular pastimes
Some experts worry that a bigger issue is the US dollar
strength compared to other currencies