Witam. Nie wiem dlaczego, ale program kompiluje się, i przy próbie uruchomienia jest typowy komunikat Windows że program sie wysypał czyli "Program przestał działać, system Windows może znaleźć rozwiązanie w sieci....". Używam Code Blocks (wymóg wykładowcy). To nie jest jeszcze docelowy program, docelowo wynik działania ma być wysyłany do pliku ale na razie zatrzymałem się na tym etapie. Kodowanie polskich znaków to też wymóg wykładowcy i ma być to zrobione właśnie tym a nie innym sposobem. Plik tekstowy z którego ma czytać umieszczam w tym samym folderze co plik exe. Proszę o pomoc.
#include <iostream>
#include <ctype.h>
#include <cstdlib>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
void zad2()
{
FILE *plik;
char *wejscie="test.txt";
plik=fopen(wejscie, "r"); //otworzenie
int tablica_znakow[256];
char znak;
for(int i=0; i<=256; i++) //zerowanie
tablica_znakow[i]=0;
while(!feof(plik))
{
znak = fgetc(plik); //pobranie znaku
znak = int(znak);
//if(isalnum(znak)) //sprawdzanie czy alfanumeryczny
tablica_znakow[znak]++; //umieszczanie znakow alfanumerycznych na odpowiednich miejscach w tablicy
}
for (int m=0; m<=256; m++) //przegladanie tablicy
{
if (tablica_znakow[m]>0) //jesli znak wystapil co najmniej raz to nalezy go wypisac
cout<<"znak "<<char(m)<<" wystapil w tekscie "<<tablica_znakow[m]<<" razy\n\n";
}
fclose(plik);
}
int main()
{
SetConsoleCP(1250); //in
SetConsoleOutputCP(1250); //out
//setlocale(LC_ALL, ".1250"); //strona kodowa dla isalnum
zad2();
system("PAUSE");
return 0;
}