Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #include <errno.h>
- #include <assert.h>
- #include <time.h>
- #include <math.h>
- #include <string.h>
- FILE* logPlik;
- int exist(char* nazwaPliku, char **argv)
- {
- FILE* plik;
- plik = fopen(nazwaPliku, "r");
- if (plik)
- {
- //istnieje
- fclose(plik);
- return 1;
- }
- else
- {
- //nie isntieje
- printf("\nplik o podanej nazwie jest wlasnie zakladany i tworzony w: \n%s\n", argv[0]);
- return 0;
- }
- }
- void wez_czas(char * czas) {
- struct tm * timeinfo;
- time_t rawtime;
- time(&rawtime);
- timeinfo = localtime(&rawtime);
- strftime(czas, 80, "%Y.%m.%d %H:%M : %S ", timeinfo);
- }
- void dodaj_log(char tresc[80]) {
- char czas[80];
- wez_czas(czas);
- fprintf(logPlik, "%s %s\n", czas, tresc);
- }
- int main(int argc, char **argv)
- {
- srand(time(NULL));
- char nick[30], wyjsciowy[20];
- char c;
- char *tempChar, *tab;
- int trafiony = 0;
- double naturalna;
- time_t start, koniec;
- FILE *wyjscie;
- logPlik = fopen("log.txt", "w");
- if (logPlik == NULL)
- {
- printf("Nie udalo sie otworzyc pliku: %s\n", strerror(errno));
- return 1;
- }
- printf("Podaj nick: ");
- scanf("%s", &nick);
- dodaj_log("Pobrano nick");
- printf("\nPodaj liczbe naturalna: ");
- scanf("%lf", &naturalna);
- dodaj_log("Pobrano liczbe naturalna");
- assert(naturalna > 0.0 && round(naturalna) - naturalna == 0.0);
- tab = (char*)malloc(naturalna + 1);
- tempChar = (char*)malloc(naturalna + 1);
- printf("\n\n");
- for (int i = 0; i < naturalna; i++)
- {
- if (i % 2 == 0)
- c = rand() % 26 + 97;
- else {
- c = rand() % 10 + 48;
- }
- tab[i] = c;
- }
- printf("Ilosc prob to: %.lf\n", naturalna);
- printf("Wpisz znaki wyswietlane na ekranie:\n");
- time(&start);
- for (int i = 0; i < naturalna; i++)
- {
- printf("\nWcisnij klawisz %c ----> ", tab[i]);
- dodaj_log("Wypisanie znaku");
- scanf("%s", &tempChar[i]);
- if (tempChar[i] == tab[i])
- {
- trafiony++;
- dodaj_log("Poprawana odpowiedz");
- }
- else {
- dodaj_log("Bledna odpowiedz");
- }
- }
- time(&koniec);
- double diff_t = difftime(koniec, start);
- printf("\nPomiar czasu: %.01fs\n", diff_t);
- printf("\nTrafionych %d/%.lf\n", trafiony, naturalna);
- strcpy(wyjsciowy, nick);
- strcat(wyjsciowy, ".txt");
- printf("%s", wyjsciowy);
- if (exist(wyjsciowy,argv) == 0)
- printf("\nPlik %s jeszcze nie istnieje.\n", wyjsciowy);
- wyjscie = fopen(wyjsciowy, "w");
- fprintf(wyjscie, "%d trafionych\n", trafiony);
- fprintf(wyjscie, "%.lf s\n", diff_t);
- free(tab);
- free(tempChar);
- dodaj_log("Zakonczenie pracy programu");
- fclose(logPlik);
- fclose(wyjscie);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement