09.04.2010, 21:17
общий
это ответ
Здравствуйте, Botsman.
Согласно тому, что вы написали, имеется две части задания, т.к. после глагола "подсчитывает" идёт союз "и". К сожалению, я не смог догадаться, какое второе условие необходимо выполнить, однако позволил себе предположить, что количество всех строк. В связи с этим сделал вывод вида: "%количество пустых строк% / %количество строк%.
Если необходимо было что-то другое, вы можете сообщить мне, и я исправлю код программы.
Пользуйтесь.
P.S. писалось на Embarcadero C++ Builder 2010
Приложение:
// ---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
// ---------------------------------------------------------------------------
#define DEBUG_MODE 0
int main() {
FILE *file = NULL;
char path[1024];
#if DEBUG_MODE == 1
cout << "Input file path: ";
do {
do {
try {
cin >> path;
}
catch(...) {
cout << "Incorrect path. Try again.\n";
}
}
while (!strlen(path));
file = fopen(path, "r");
if (!file) {
cout << "File doesn't exist. Try again.\n";
getch();
clrscr();
}
}
while (file == NULL);
#else
file = fopen("test.txt", "r");
#endif
strcpy(path, "");
// начинаем использовать переменную path как временную
int len = 0, number = 0; // len = количество пустых строк, number = количество всех строк
while (!feof(file)) {
fgets(path, 1024, file);
if (!strcmp(path, "\n")) {
len++;
}
else {
if (!strlen(path))
len++;
}
strcpy(path, "");
number++;
}
printf("\n\n Empty string: %d / %d", len, number);
getch();
return 0;
}
// ---------------------------------------------------------------------------