01/10/2018, 08:14

Không kéo lên vị trí đầu chương trình được

em viết chương trình tìm kiếm và in ra kết quả từ trên xuống dưới trong 1 database nhưng khi gặp số kết quả quá nhiều thì không kéo lên đầu chương trình được

#include<stdio.h>
#include<string.h>
#include<fstream>
int checkakeyword(char*p, char*q);
int checkmultiplekeywords(char*m, char*n);
struct result
{
	char title[1000];
	char link[1000];
};
void main()
{
	int dem = 0;
	char keyword[1000];
	printf("ENTER A KEYWORD :");
	gets_s(keyword);
	result RESULT;
	FILE*database;                                                                                                                                                
	database = fopen("D:\database.txt", "r");
	while (!feof(database))
	{
		fgets(RESULT.title, 1000, database);
		if (checkakeyword(keyword, RESULT.title) == 1) dem++;
	}
	printf("FOUND RESULTS: %i
",dem);
	rewind(database);
	while (!feof(database))
	{
		fgets(RESULT.title, 1000, database);
		if (checkakeyword(keyword,RESULT.title) == 1) {
			printf("%s",RESULT.title);
			fgets(RESULT.link, 1000, database);
			printf("%s",RESULT.link);
			printf("
");
		}
	}
	fclose(database);
}
int checkakeyword(char*p, char*q)
{
	int k;
	char s[1000];
	strlwr(p);
	strcpy(s, q);
	strlwr(s);
	if (strstr(s, p) == NULL) k = 0;
	else k = 1;
	return k;
}


giúp em với :(( em cảm ơn mọi người rất nhiều

*grab popcorn* viết 10:25 ngày 01/10/2018

Chỉnh lại screen buffer phần height cho cao lên là được.
Tuy nhiên thì mình test bằng Dev-C thì bạn cần chạy chương trình bằng cmd mới được.(Tức vô cmd ,cd tới mục chứa file exe và chạy)

rogp10 viết 10:19 ngày 01/10/2018

Output dài thì hoặc bạn cho vào file hoặc người dùng sẽ dẫn hướng stdout vào một file nào đó.

nguyen anh tu viết 10:21 ngày 01/10/2018

bạn nói rõ hơn giúp mình được hok

nguyen anh tu viết 10:31 ngày 01/10/2018

rongp10 bạn nói rõ hơn giúp mình nha

*grab popcorn* viết 10:23 ngày 01/10/2018

Ý bạn rogp10 là in ra file do mình định sẵn hoặc cho người dùng tùy chọn file để in ra.

rogp10 viết 10:27 ngày 01/10/2018

Tùy chọn chứ
Ngoài ra có thể gợi ý trong manual cách dẫn hướng stdout bằng <file exe + tham số dòng lệnh> >> <file text> từ command-line.

nguyen anh tu viết 10:24 ngày 01/10/2018

#include<stdio.h>
#include<string.h>
#include<fstream>
int checkakeyword(charp, charq);
int checkmultiplekeywords(charm, charn);
struct result
{
char title[1000];
char link[1000];
};
void main()
{
int dem = 0;
char keyword[1000];
printf(“ENTER A KEYWORD :”);
gets_s(keyword);
result RESULT;
FILEdatabase;
database = fopen(“D:\database.txt”, “r”);
while (!feof(database))
{
fgets(RESULT.title, 1000, database);
if (checkakeyword(keyword, RESULT.title) == 1) dem++;
}
printf(“FOUND RESULTS: %i\n”,dem);
rewind(database);
while (!feof(database))
{
fgets(RESULT.title, 1000, database);
if (checkakeyword(keyword,RESULT.title) == 1) {
printf("%s",RESULT.title);
fgets(RESULT.link, 1000, database);
printf("%s",RESULT.link);
printf("\n");
}
}
fclose(database);
}
int checkakeyword(char
p, char*q)
{
int k;
char s[1000];
strlwr§;
strcpy(s, q);
strlwr(s);
if (strstr(s, p) == NULL) k = 0;
else k = 1;
return k;
}

mình cảm ơn rất nhiều

Bài liên quan
0