我很难找到教授指定的问题。我相信我已经找到了下面列出的3个项目的第二部分,但是根本无法弄清楚如何做第1或第3部分。请帮忙!非常感谢你提前。
写一个程序。
在main()中创建一个名为firstNameArray的字符串数组,初始化为7个名字
Jim,Tuyet,Ann,Roberto,Crystal,Valla,Mathilda
编写第一个函数,该函数将单个名称和数组传递给函数,并让它搜索数组以查看firstNameArray中的名称。如果找到,它将返回找到名称的数组索引,否则返回数字7。 (可能需要将其他参数传递给函数)
在主程序中编写代码以调用该函数。检查返回值,并使用索引号打印名称,或打印“未找到名称”。
编写第二个函数,它将打印数组中的所有名称。将数组传递给函数。 (需要将几个参数传递给函数)
在主程序中编写代码以调用此函数。
编写第三个将从数组中删除名称的函数。在尝试删除名称之前,首先检查名称是否在数组中(使用第一个函数)。你没有减少阵列的大小......只需要一个空白。 (可能需要将其他参数传递给函数)。 在调用此函数后调用Print the Whole数组。
打印出阵列......如果该点是空白的,请不要打印它。
到目前为止,第二部分我已经得到了这个:
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
void printArray(string array[], int size);
int main()
{
string firstNameArray[7];
firstNameArray[0] = "Jim";
firstNameArray[1] = "Tuyet";
firstNameArray[2] = "Ann";
firstNameArray[3] = "Roberto";
firstNameArray[4] = "Crystal";
firstNameArray[5] = "Valla";
firstNameArray[6] = "Mathilda";
printArray(firstNameArray, 7);
system("pause");
return 0;
}
void printArray(string array[], int size){
for (int i = 0; i < size; i++){
cout << array[i] << endl;
}
}
答案 0 :(得分:0)
试试这个。
#include "stdafx.h"
#include <string>
#include <iostream>
int FindName(std::string* names, std::string name, int size) {
for (int i = 0; i < size; i++) {
if(names[i] == name)
return i;
}
return size;
}
void PrintNames(std::string* names, int size) {
for (int i = 0; i < size; i++) {
std::cout << names[i] << std::endl;
}
}
void DeleteName(std::string* names, std::string name, int size) {
if(FindName(names, name, size) == size)
return;
for (int i = 0; i < size; i++) {
if(names[i] == name)
names[i] = "\0";
}
}
int main()
{
std::string firstNameArray[7];
firstNameArray[0] = "Jim";
firstNameArray[1] = "Tuyet";
firstNameArray[2] = "Ann";
firstNameArray[3] = "Roberto";
firstNameArray[4] = "Crystal";
firstNameArray[5] = "Valla";
firstNameArray[6] = "Mathilda";
int index = FindName(firstNameArray, "Ann", 7);
if(index == 7)
std::cout << "Name not found" << std::endl;
else
std::cout << std::to_string(index) << std::endl;
PrintNames(firstNameArray, 7);
DeleteName(firstNameArray, "Ann", 7);
std::cout << "\n";
PrintNames(firstNameArray, 7);
::getchar();
return 0;
}