Taki oto problem: program który musi zliczać duże , małe litery i inne symbole błędnie zlicza symbole, ktoś coś?
#pragma warning (disable: 4996)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE 256
#define MAX_LINES 200
FILE *fd = NULL;
void big(char *te);
int main()
{
char d[MAX_LINES][MAX_LINE];
if (!(fd = fopen("DANE.txt", "r")))
{
printf("Blad otwarcia zbioru\n");
exit(2);
}
for (int i = 0; i < MAX_LINES && fgets(d[i], MAX_LINE, fd) != (char*)NULL; i++){
printf("linia %d: ", i);
big(d[i]);
printf("\n");
}
fclose(fd);
fd = NULL;
return 0;
}
void big(char *te) {
char p;
int l = 0, g = 0;
int h = 0;
while (*te != '\0') {
if (*te >= 'A' && *te <= 'Z') l++;
if (*te >= 'a' && *te <= 'z') g++;
else h++;
*te++;
}
printf("duze litery : %d,male: %d,inne : %d", l, g, h);
}