عدم خواندن یک حلقه در یک حلقه دیگر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

عدم خواندن یک حلقه در یک حلقه دیگر

0 امتیاز

سلام من یک کد به صورت زیر دارم. وقتی برنامه را اجرا می کنم، cout نشون می ده که لوپ داخلی فقط یک بار (آن هم برای linenoq = 0) اجرا می شود. منظورم اینکه وقتی linenoq = 0 هست، linenoq1 از 0 تا 3 شمرده می شود

ولی برای linenoq های دیگر اصلا linenoq1 نوشته نمی شود، یعنی حلقه داخلی خوانده نمی شود.




using namespace std;
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>

int main() {
	int CN=0, N1=0, N2=0, N3=0, N4=0, CN_1=0, N1_1=0, N2_1=0, N3_1=0, N4_1=0;
	string line, line1;
	
	ifstream myfile ("NB.txt");
	ifstream myfile1 ("NB1.txt");
	if (myfile.is_open())
	{
		ofstream secondoutput_11;
		secondoutput_11.open ("11.txt");
			  
		for (int linenoq = 0; getline (myfile,line) && linenoq < 4; linenoq++){	
			myfile>>CN>>N1>>N2>>N3>>N4;
			cout<<"linenoq : "<<linenoq<<endl;
			
			myfile1.seekg(0, myfile1.beg);
			
			for (int linenoq1 = 0; getline (myfile1,line1) && linenoq1 < 4; linenoq1++){	
				myfile1>>CN_1>>N1_1>>N2_1>>N3_1>>N4_1;
				
				if (CN_1>CN){
					cout<<"linenoq1 : "<<linenoq1<<endl;
					
					if (N1==N1_1||N1==N2_1||N1==N3_1||N1==N4_1){
						secondoutput_11<<CN<<" "<<CN_1<<" "<<N1<<endl;
					}
					if (N2==N1_1||N2==N2_1||N2==N3_1||N2==N4_1){
						secondoutput_11<<CN<<" "<<CN_1<<" "<<N2<<endl;
					}
					if (N3==N1_1||N3==N2_1||N3==N3_1||N3==N4_1){
						secondoutput_11<<CN<<" "<<CN_1<<" "<<N3<<endl;
					}
					if (N4==N1_1||N4==N2_1||N4==N3_1||N4==N4_1){
						secondoutput_11<<CN<<" "<<CN_1<<" "<<N4<<endl;
					}
				}
			}
		}
		secondoutput_11.close();
	}
	else cout << "Unable to open file"<<endl;
}

 

خروجی نشان داده شده بر روی صفحه:
 
linenoq : 0
linenoq1 : 1
linenoq1 : 2
linenoq1 : 3
linenoq : 1
linenoq : 2
linenoq : 3

 

 

سوال شده بهمن 13, 1398  بوسیله ی داود (امتیاز 259)   4 11 19

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

خودم مشکل رو پیدا کردم می نویسم شاید بعدا بدرد کسی خورد.

باید در خط 23 عبارت زیر را وارد کرد.

myfile1.clear();

 

پاسخ داده شده بهمن 14, 1398 بوسیله ی داود (امتیاز 259)   4 11 19
...