Powtórzenie całego programu

0

Witam,
Mam napisać program który obliczy częstotliwość występowania danej litery w zdaniu po wcześniejszym wczytaniu go z pliku. Wszystko działa dobrze do momentu gdy chce powtórzyć program w celu wczytania innego pliku, i zaktualizowania wyniku. Program podwaja mi tylko poprzedni wynik nie dając możliwości wczytania następnej ścieżki do pliku. Próbowałem goto oraz do...while , i efekt był taki sam. Jakaś rada ?

 
#include <stdio.h>
#include <string.h>

int main()
{

    char zdanie[101]; //tablica przechowująca wczytane zdanie
    int zlicz[123] = {}; //wyzerowania tablica przechowująca zliczenia liter
    char fileName[250];
    int i;
    int liczba;
skok:
    printf("Podaj sciezke do pliku\n");
    scanf("%255[^\n]", fileName);
    FILE* zw;
    char zp;
    zw = fopen(fileName, "r");

    if (zw == NULL)
        printf("plik jest pusty, lub nie istnieje");
    while (zp != EOF) {
        zp = fgetc(zw);
        zdanie[i] = zp;
        i++;
    }

    i = 0;

    while (zdanie[i]) {
        ++zlicz[zdanie[i]]; //zliczanie znaków
        ++i;
    }

    for (i = 97; i < 123; i++) //wypisanie wystąpień małych liter ASCII - 97-122
    {
        if (zlicz[i])

            printf("%c - %d\n", i, zlicz[i]);
    }

    for (i = 65; i < 91; i++) //wypisanie wystąpień dużych liter ASCII - 65-90
    {
        if (zlicz[i])

            printf("%c - %d\n", i, zlicz[i]);
    }

    printf("Czy chcesz zaktualizowac statystyke ?\n");
    printf("Wcisnij 1 jesli tak\n");
    printf("Wcisnij 2 jesli nie i zakonczyc program\n");
    scanf("%d", &liczba);
    switch (liczba) {
    case 1:
        goto skok;
        break;
    }
}
1

Na początek przeczytaj to i stosuj się do zaleceń: Dlaczego nikt nie odpowiada w moim wątku?

Potem wywal goto i korzystaj z normalnej pętli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1