Poprawnosc działania kodu

Poprawnosc działania kodu
MS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
0

funkcja 1 do dodania

Kopiuj
dane* kopiuj_element(dane* zrodlo)
{
	dane* nowy = (dane*)malloc(sizeof(dane));
	if (nowy == NULL) {
		printf("\nBlad alokacji pamieci!\n");
		return NULL;
	}

	strcpy(nowy->tytul, zrodlo->tytul);
	nowy->rok = zrodlo->rok;
	strcpy(nowy->wydawca, zrodlo->wydawca);
	strcpy(nowy->platforma, zrodlo->platforma);
	nowy->ocena = zrodlo->ocena;

	nowy->nastepny = NULL;
	nowy->poprzedni = NULL;

	return nowy;
}


void druga_lista_z_pierwszej_po_frazie(dane* P1, dane** P2, dane** K2)
{
	if (P1 == NULL) {
		printf("\nLista pusta!\n");
		return;
	}

	czyszczenie(P2, K2);

	char fraza[100];
	printf("\nPodaj fraze (tytul): ");
	while (getchar() != '\n');
	scanf("%100[^\n]", fraza);

	for (int i = 0; fraza[i]; i++)
		fraza[i] = tolower(fraza[i]);

	dane* tmp = P1;
	int znaleziono = 0;

	while (tmp != NULL) {
		char tytul_maly[100];
		strcpy(tytul_maly, tmp->tytul);

		for (int i = 0; tytul_maly[i]; i++)
			tytul_maly[i] = tolower(tytul_maly[i]);

		if (strstr(tytul_maly, fraza) != NULL) {
			dane* nowy = kopiuj_element(tmp);
			if (nowy == NULL) return;

			dodajK(P2, K2, nowy);
			znaleziono = 1;
		}

		tmp = tmp->nastepny;
	}

	if (!znaleziono)
		printf("\nBrak pasujacych elementow.\n");
	else {
		printf("\nDruga lista:\n");
		wyswietl(*P2);
	}
}


main( nq poczatku)

dane* P2 = NULL;
dane* K2 = NULL;

w menu 
case 6:
	druga_lista_z_pierwszej_po_frazie(P, &P2, &K2);
	break;
jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4717
3

hint: jeśli potrzebujesz repozytorium kodu to lepszy jest np. github.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
5

ale jakie jest pytanie?
Na czym polega problem?
Przydałby się Minimalny Kompletny Reprodukowany Przykład, a nie losowa cześć kodu.

Jak czytam "poprawność działania kodu" to od razu przychodzą mi do głowy testy jednostkowe.
Masz jakieś testy napisane? Umiesz pisać testy?
Jeśli nie, to powinien być to priorytet do nauki dla ciebie!

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5580
6

ja naprawdę widze degradację komunikacji w nowych rocznikach studentów i samouków:

  1. najpierw przychodzili ludzie co starali się sklecić zdanie i ciężko im to wychodziło jak np: jak wrzucić wartość do wskaźnika
  2. potem przychodzili studenci i samouki co przepisywali polecenie : napisz kalkulator
  3. teraz przychodzą ludzie co wklejają kod bez komentarza i my dyskutujemy co autor miał na myśli i czy są tu odwołania do pana Tadeusza

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.