- 4
- 3
Имеется такой код, но когда начал работу с свитч кейсом пошли траблы.
functions.cpp: In function ‘int main()’:
functions.cpp:39:18: error: jump to case label
39 | case 2:
| ^
functions.cpp:22:22: note: crosses initialization of ‘std::ifstream readFile’
22 | ifstream readFile("athelete.txt"); // создаём переменную для считывания файла. Путь к файлу через двойную косую: "С:\User\Desktop\Test_1.txt"
| ^~~~~~~~
functions.cpp:40:22: error: redeclaration of ‘std::ifstream readFile’
40 | ifstream readFile("sport.txt");
| ^~~~~~~~
functions.cpp:22:22: note: ‘std::ifstream readFile’ previously declared here
22 | ifstream readFile("athelete.txt"); // создаём переменную для считывания файла. Путь к файлу через двойную косую: "С:\User\Desktop\Test_1.txt"
| ^~~~~~~~
Программа.:#include <iostream> #include <vector> #include <fstream> #include <string> #include <map> using namespace std; int main() { setlocale(LC_ALL, "rus"); int size = 1024;//предполагаемый размер строки char buff[size]; //размер символьного массива для каждой строки int a; do { cout << "Введите номер упражнения который вы хотите запустить: "; cin >> a; switch (a){ case 1: ifstream readFile("athelete.txt"); // создаём переменную для считывания файла. Путь к файлу через двойную косую: "С:\User\Desktop\Test_1.txt" while (!readFile.eof()) // пока не дошли до конца файла, читаем { readFile.getline(buff, size); //читаем каждую строку и помещаем её в буфер размером size cout << buff << endl; // выводим строку for (int i = 0; i < size; i++) //цикл для анализа символов считанной строки { if (buff[i] == '\0') // проверяем строку на наличие символа конца строки, если находим, то останавливаемся { break; } } } readFile.close(); // закрываем файл return 0; break; case 2: ifstream readFile("sport.txt"); while (!readFile.eof()) { readFile.getline(buff, size); cout << buff << endl; for (int i = 0; i < size; i++) { if (buff[i] == '\0') { break; } } } readFile.close(); return 0; break; } }while (a != 13); }