close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
Zadania praktyczne z języka C: Gotowe rozwiązania.

Język C - praktyczne zadania z rozwiązaniami

W tym artykule zaprezentujemy trzy proste zadania w języku C. Są to przykłady zadań, z jakim możesz się spotkać np. na egzamienie albo kolokwium. Do każdego zadania dodaliśmy opis problemu, przykładowe testy funkcji oraz krótkie objaśnienie rozwiązania.

C - Ćwiczenia praktyczne

Sprawdź swoje umiejetności pisania kodu w języku C. Wykonaj wiele zróżnicowanych zadań. Kurs stworzyliśmy w taki sposób, aby objemował jak najszerszy zakres tematów z języka C. Znajdziesz w nim zadanie proste, dotyczące takich tematów jak zmienne czy stałe. Znajdziesz także zadania bardziej złożone, dotyczące takich tematów jak wskaźniki, struktury czy rekurencja. Dowiedz się więcej

Zadanie z użyciem typów wyliczeniowych

Napisz program w języku C, który wykorzystuje typ wyliczeniowy enum Directions do reprezentowania kierunków geograficznych NORTH, SOUTH, EAST, WEST. Następnie zdefiniuj funkcję get_direction(), która przyjmuje jako argument kierunek (wartość typu enum Directions) i zwraca odpowiadający mu znak kierunku ('N' - północ, 'S' - południe, 'E' - wschód, 'W' - zachód).

Oczekujemy, że funkcja calculate_circle_area() spełni następujące testy:

  • get_direction(EAST) -> E
  • get_direction(NORTH) -> N
  • get_direction(WEST) -> W
  • get_direction(SOUTH) -> S

Jak możesz podejsć do tego problemu? Oto proponowane przez nas rozwiązanie:

#include <stdio.h>
enum Directions {NORTH, SOUTH, EAST, WEST};
    
char get_direction(enum Directions dir) {
    char sign_direction[] = {'N', 'S', 'E', 'W'};
       
    return sign_direction[dir];
}
    
    
int main(void) {
    printf("%c \n", get_direction(NORTH));
    printf("%c \n", get_direction(SOUTH));
    printf("%c \n", get_direction(EAST));
    printf("%c \n", get_direction(WEST));
return 0;

    

Po skompilowaniu kodu, wszystko działa prawidłowo. Nasze zadanie to przykład prostego, praktycznego użycia typu wyliczeniowego w języku C.

Zadanie - funkcja operująca na znakach

Napisz funkcję w języku C, która będzie w stanie przekonwertować cyfrę zapisaną jako znak, na cyfrę (liczba całkowita).

Oczekujemy, że funkcja convert_to_digit() spełni następujące testy:

  • convert_to_digit(‘1’) -> 1
  • convert_to_digit(‘5’) -> 5
  • convert_to_digit(‘7’) -> 7
  • convert_to_digit(‘0’) -> 0

Oto proponowane przez nas rozwiązanie:

#include <stdio.h>
#include <stdlib.h>
    
int convert_to_digit(char c) {
    char digit[2] = {c, '\0'};
    return atoi(digit);
}
    
int main(void) {
    
    printf("%d \n", convert_to_digit('1'));
    return 0;
}
    

Rozwiązanie jest proste. Używamy funkcji atoi() z biblioteki stdlib. Za jej pomocą możemy skonwertować wartość ciągu znaków na liczbę całkowitą.

Zadanie z użyciem wskaźników oraz struktur

Zaimplementuj funkcję calculate_total(), która przyjmuje wskaźnik do struktury Product, reprezentującej produkt w sklepie. Struktura Product zawiera pole price (cena produktu) i pole quantity (ilość produktów). Funkcja calculateTotal() ma obliczać całkowity koszt zakupu danego produktu (price * quantity) i zwracać go jako wynik.

Oczekujemy, że funkcja calculate_total() spełni następujące testy:

  • calculate_total(&products[0]) -> 2400
  • calculate_total(&products[1]) -> 2100
  • calculate_total(&products[2]) -> 0

Jak zwykle zaproponujemy rozwiazanie zadania:

#include <stdio.h>
struct Product {
    double price;
    int quantity;
};
struct Product products[3] = {{1200.0, 2}, {2100.0, 1}, {0.0, 10}};
    
double calculate_total(struct Product *product) {
    return product->price * product->quantity;
}
    
int main(void) {
    double total1 = calculate_total(&products[0]);
    printf("Total for the first product: %.2f\n", total1);
    
    double total2 = calculate_total(&products[1]);
    printf("Total for the second product: %.2f\n", total2);
    
    double total3 = calculate_total(&products[2]);
    printf("Total for the third product: %.2f\n", total3);
    
    return 0;
}
    

W kodzie mamy funkcję calculate_total(), która przyjmuje wskaźnik do struktury Product i zwraca wynik mnożenia ceny produktu przez jego ilość.

C - Ćwiczenia praktyczne

Sprawdź swoje umiejetności pisania kodu w języku C. Wykonaj wiele zróżnicowanych zadań. Kurs stworzyliśmy w taki sposób, aby objemował jak najszerszy zakres tematów z języka C. Znajdziesz w nim zadanie proste, dotyczące takich tematów jak zmienne czy stałe. Znajdziesz także zadania bardziej złożone, dotyczące takich tematów jak wskaźniki, struktury czy rekurencja. Dowiedz się więcej

Podsumowanie

Trzy zadania z tego artykułu to tylko wybrane przykłady zadań, z jakimi możesz się spotkać np. na egzaminie. Potraktuj więc je, jako pewien wycinek wiedzy, którą musisz posiadać.