Kilka ćwiczeń z programowania c++

threetwos
Użytkownik
Użytkownik
Posty: 9
Rejestracja: 20 paź 2009, o 14:23
Płeć: Mężczyzna
Lokalizacja: Nowy Sącz
Podziękował: 7 razy

Kilka ćwiczeń z programowania c++

Post autor: threetwos »

Witam! Muszę napisać takie programy, a nie wiem jak sie do tego zabrać. Pomoże ktoś??
Zadanie 3.
Odległości drogowe z Nowego Sącza do wybranych miast wynoszą:
Do Warszawy - 346 km
Do Krakowa - 99 km
Do Gdańska - 659 km
Do Wrocławia - 357 km

Na podstawie powyższych danych utwórz program sprawdzający znajomość przez użytkownika odległości z Nowego Sącza do większych miast Polski. Za odpowiedź różniącą się maksymalnie o 15 km przydziel 2 pkt, za odpowiedź różniącą się maksymalnie o 50 km przydziel 1 pkt. Przy większej różnicy liczba punktów wynosi 0. Na koniec wypisz uzyskaną przez użytkownika punktację.
Zadanie 4.
Napisz program, który pokaże na ekranie ocenę w zależności od punktów, jakie uzyskał student wg następującej skali ocen:

Punkty: Ocena:
0 – 50 ndst
51 – 60 mrn
61 – 70 dst
71 – 80 db
81 – 90 bdb
91 – 100 cel
Przy wyznaczaniu oceny sprawdź, w który przedział „trafia” podana przez użytkownika liczba punktów używając rozbudowanych wyrażeń logicznych. (! bez zagnieżdżania instrukcji if).
Zadanie 5.
A. Napisz program zawierający tablicę znakową z tekstem:
„Zawartość tablicy znakowej”. Wypisz n kolejnych znaków tablicy rozpoczynając od pozycji m. Wartości n i m są podawane przez użytkownika.

B. Zmodyfikuj program wydzielając fragment kodu (wypisującego znaki z tablicy) w postaci funkcji. Jakie argumenty trzeba przekazać do funkcji?
Zadanie 6.
Napisz funkcję potega(x,n) liczącą dowolną n-tą potęgę liczby x. Zastanów się nad typem funkcji oraz typem przekazywanych argumentów.

A. Początkowo zdefiniuj funkcję dla potęg o wykładniku dodatnim całkowitym

B. Poszerz definicję funkcji o liczby całkowite ujemne

(UWAGA na zero !)
Zadanie 7.
A. Utwórz plik definicje.h zawierający definicje następujących funkcji:
- srednia_arytmetyczna(float, float) – licząca średnią arytmetyczną dwóch liczb rzeczywistych
- srednia_geometryczna(float, float) – liczącą średnią geometryczną dwóch liczb rzeczywistych
B. W pliku licz_sred.cpp napisz program liczący średnią arytmetyczną lub geometryczną dwóch liczb rzeczywistych w zależności od wyboru użytkownika. Do wyboru rodzaju średniej utwórz (także w pliku licz_sred.cpp) funkcję srednia(float, float, char), która w zależności od wartości ostatniego parametru zastosuje odpowiednią funkcję z pliku definicje.h (dla wartości ‘a’ – średnią arytmetyczną, ‘g’ – geometryczną)

Zadanie 8.
Utwórz własną bibliotekę, w której umieścisz funkcje liczące pole powierzchni kilku figur geometrycznych (np.: koła, trójkąta, prostokąta). Skompiluj bibliotekę do pliku pola.obj lub pola.o w zależności od kompilatora i utwórz do niej odpowiedni plik nagłówkowy – pola.h .
Napisz program liczący pole powierzchni wybranej przez użytkownika figury z wykorzystaniem funkcji zdefiniowanych w utworzonej bibliotece.

Za każdą odpowiedź będe wdzięczny:) pozdrawiam threetwos
lukas_gab
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 11 lis 2009, o 17:02
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz

Kilka ćwiczeń z programowania c++

Post autor: lukas_gab »

Witam ! Zauważyłem, że to forum stara się nakierować potrzebujących a nie dawać gotowce więc podpowiem ci schemat do zadania 3 jaki ja bym użył :

podaj odległość z NS do Wawy

jeżeli podana odległosć jest pomiędzy od (odległość prawdziwa)-15 do ( odległosć prawdziwa)+15 daj 2pkt

jeżeli jednak podana odległosć jest pomiędzy od (odległość prawdziwa)-50 do (odległosć prawdziwa)-16 lub od (odległość prawdziwa)+16 do (odległosć prawdziwa)+50 daj 1pkt

jeżeli inaczej daj 0pkt.

Mam nadzieje ze to Ci pomoże. Mając taki schemat wystarczy "ubrać" to w dany język. Jak masz jakieś wątpliwości pytaj. Jednocześnie nie gwarantuje 100% pewności - jak ktoś zauważy błąd mówić.
peterp
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 27 sie 2008, o 13:29
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 3 razy
Pomógł: 5 razy

Kilka ćwiczeń z programowania c++

Post autor: peterp »

Zadanie 3:

Kod: Zaznacz cały

punkty=0;
if(podana_odleglosc>=odleglosc–15 && podana_odleglosc<=odleglosc+15)
    punkty+=2;
else if(podana_odleglosc>=odleglosc–50 && podana_odleglosc<=odleglosc+50)
    punkty+=1;
Nie ma sensu rozpatrywać odpowiedzi niepunktowanej.

Zadanie 4:

Kod: Zaznacz cały

if(punkty<=50) printf("ndst");
else if(punkty<=60) printf("mrn");
else if(punkty<=70) printf("dst");
else if(punkty<=80) printf("db");
else if(punkty<=90) printf("bdb");
else printf("cel");
Zadanie 5:

Kod: Zaznacz cały

char tablica[30] = "Zawartosc tablicy znakowej";
for(i=m; i<n+m; i++) printf("%c", tablica[i]);
Zadanie 6 (tylko dla n>=0):

Kod: Zaznacz cały

double potega(double x, int n)
{
    double wynik = 1;
    while(n-->0) wynik*=x;
    return wynik;
}
Dla n ujemnych wystarczy mała modyfikacja. Ale wysil się trochę:)
ODPOWIEDZ