KDsprinter16 Napisano Grudzień 9 Zgłoś Udostępnij Napisano Grudzień 9 int main() { float wsp[L_WSPOLCZ]; float xmin, xmax; int rozmiar = 0; float* sygnalPodstawowy = NULL; float* sygnalSzum = NULL; float* sygnalFiltrM = NULL; float* sygnalFiltrS = NULL; printf("----------MENU---------\n"); int menu = -1; while (menu != 0) { printf("Wybierz opcje:\n1. Generuj\n2. Zapisz\n3. Dosaj szum\n4.Filtruj szum\n0. Wyjdz\n"); scanf("%d", &menu); switch (menu) { case 1: { pobierzWspolczynniki(wsp); pobierzDziedzine(&xmin, &xmax); rozmiar = wielkoscTab(); if (sygnalPodstawowy != NULL) { free(sygnalPodstawowy); sygnalPodstawowy = NULL; } sygnalPodstawowy = (float*)malloc(rozmiar * sizeof(float)); sygnalSzum = (float*)malloc(rozmiar * sizeof(float)); sygnalFiltrM = (float*)malloc(rozmiar * sizeof(float)); sygnalFiltrS = (float*)malloc(rozmiar * sizeof(float)); if (sygnalPodstawowy == NULL || sygnalSzum == NULL || sygnalFiltrM == NULL || sygnalFiltrS == NULL) { perror("Blad alokacji pamieci"); return 1; } generujSygnal(wsp, xmin, xmax, sygnalPodstawowy, rozmiar); drukujSygnal(sygnalPodstawowy, rozmiar); printf("Wygenerowano sygnal\n"); break; } case 2: { if (sygnalSzum != NULL) { csv(rozmiar, sygnalSzum); printf("Zapisano sygnal zaszumiony \n"); } else if(sygnalSzum == NULL && sygnalPodstawowy!= NULL) { csv(rozmiar, sygnalPodstawowy); printf("zapisano sygnal podstawowy\n"); } else { printf("Brak sygnalu do zapisania. Najpierw wygeneruj sygnal.\n"); } break; } case 3: if (sygnalPodstawowy != NULL && sygnalSzum != NULL) { dodajSzum(wsp, xmin, xmax, sygnalPodstawowy, rozmiar, sygnalSzum); printf("dodano szum\n"); break; } else { perror("brak sygnalu do zaszumienia \n"); break; } case 4: //FILTR MEDIANA if (sygnalPodstawowy != NULL) { filtrMediana(sygnalSzum, sygnalFiltrM, wielkoscTab, 5); printf("odfiltrowano sygnal\n"); } else { perror("brak sygnaly do filtrowania\n "); } break; case 5 : { // FILTR SREDNIA if (sygnalPodstawowy != NULL) { filtrSrednia(sygnalSzum, sygnalFiltrS, rozmiar, 5); printf("odfiltrowano sygnal\n"); } else { perror("Brak sygnału do filtrowania\n"); } break; case 0: printf("Zakonczenie programu\n"); break; default: printf("Nieprawidlowa opcja!\n"); } } if (sygnalPodstawowy != NULL) { free(sygnalPodstawowy); } if (sygnalSzum != NULL) { free(sygnalSzum); } if (sygnalFiltrM != NULL) { free(sygnalFiltrM); if (sygnalFiltrS != NULL) { free(sygnalFiltrM); } return 0; } Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
kastecior.PNG Napisano Grudzień 9 Zgłoś Udostępnij Napisano Grudzień 9 co z tym Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
KDsprinter16 Napisano Grudzień 9 Autor Zgłoś Udostępnij Napisano Grudzień 9 Czy zwalnianie tablicy w case 5 ma sens? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Bartosz Wójcik Napisano Grudzień 10 Zgłoś Udostępnij Napisano Grudzień 10 Może sformatuj kod poprawnie... Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.