Может ли кто-нибудь помочь объяснить ошибки, которые я получаю в этом коде?
Цель этой программы-взять файл и попросить пользователя ввести существительные, глаголы и т. д., Чтобы заполнить предложение. Новые результаты будут сохранены во втором файле. Я постоянно получаю следующие ошибки:
prog5B.cpp: в функции ‘int openInfile()’:
prog5B.cpp:47: ошибка: ожидаемый инициализатор перед токеном ‘.’
prog5B.cpp:48: error: ‘ins’ не был объявлен в этой области
prog5B.cpp: в функции ‘void openOutfile()’:
prog5B.cpp:72: ошибка: ожидаемый инициализатор перед токеном ‘.’
Спасибо всем, кто может мне помочь!
/* Program: prog5B.cpp By: Mackenzie Ritter Last Modified: Nov 23, 2017 Purpose: To produce a filled out madlibs with users help. Notes: */ #include <fstream> #include <iostream> #include <string> #include <sstream> using namespace std ; int openInfile () ; void openOutfile () ; void change (string&, string&) ; int main () { string line, word, diffLine ; ifstream ins ; //ins is an input stream ofstream outs ; // outs is an output stream openInfile () ; openOutfile () ; change (word, diffLine) ; while (getline(ins, line)) { outs << line << endl ; } ins.close () ; outs.close () ; } /* Function: openInfile Last Modified: Nov 23, 2017 Purpose: Opens the input file after getting file name from user. In Parameters: None Out Parameters: string fileName Return Value: None */ int openInfile () { string fileName ; cout << "Enter file of madlips outline." << endl ; cin >> fileName ; ifstream ins.open(fileName) ; //connects ins to file inFile if (ins.fail (fileName)) { cerr << "Error: Unable to open file : FILENAME" << endl ; return -1 ; //return if failure } else { openOutfile () ; } } /* Function: openOutfile Last Modified: Nov 23, 2017 Purpose: Opens the output file after getting file name from user. In Parameters: None Out Parameters: string copyFile Return Value: None */ void openOutfile () { string copyFile ; cout << "Enter name of file for updated data." << endl ; cin >> copyFile ; ofstream outs.open(copyFile) ; } /* Function: change Last Modified: Nov 23, 2017 Purpose: Replaces blanks with words from user. In Parameters: string word, diffLine Out Parameters: string fileName Return Value: None */ void change (string&word, string&diffLine) { string searchN = "blank-N" ; string searchA = "blank-A" ; string searchV = "blank-V" ; string searchP = "blank-P" ; string searchD = "blank-D" ; string noun, adjective, verb, place, adverb ; if (word == searchN) { cout << "Enter a noun." << endl ; cin >> noun ; noun = searchN ; } else if (word == searchA) { cout << "Enter an adjective." << endl ; cin >> adjective ; adjective = searchA ; } else if (word == searchV) { cout << "Enter a verb." << endl ; cin >> verb ; verb = searchV ; } else if (word == searchP) { cout << "Enter a place." << endl ; cin >> place ; place = searchP ; } else if (word == searchD) { cout << "Enter an adverb." << endl ; cin >> adverb ; adverb = searchD ; } else { word = word ; } }
Что я уже пробовал:
Я много раз корректировал программу в отношении входов и выходов.