Wątek przeniesiony 2016-02-03 11:34 z Kosz przez Rev.

Pilne Kolos z struktur

0

Zadanie 1
Zdefiniuj strukturę opisującą książkę zawierającą pola (ilość stron, numer
biblioteczny, termin wypożyczenia) , oraz zdefiniuj strukturę opisującą datę. W
programie dynamicznie utwórz zmienną typu strukturalnego z polem typu
strukturalnego , następnie wczytaj z klawiatury wartości pól, po czym wczytane
informacje wydrukuj na ekranie. Przed zakończeniem programu zwolnij pamięć po
dynamicznie utworzonej zmiennej. (3 pkt)
Zadanie 2
Napisz funkcję, która zwraca jako wartość wskaźnik do zmiennej strukturalnej
opisującej książkę. Zadaniem funkcji jest zaalokowanie zmiennej oraz ustalenie
wartości jej pól (wartości pól zmiennej wczytujemy z klawiatury).
Napisz program testujący działanie funkcji.

Visual Studio

9

Po kolokwium napisz nam jak Ci poszło.

1

Powodzenia!

0

Już moge powiedziec ze ciulowo jak mi nikt nie pomoze nie ogarniam tego ;p

3
Mały Kaczor napisał(a):

Już moge powiedziec ze ciulowo jak mi nikt nie pomoze nie ogarniam tego ;p

Twoja ostatnia szansa to poszukanie na forum, bo takie rzeczy pojawiły się tutaj nie raz, nie dwa, nie pięć.

0

Wiedziałem że mogę na POLAKÓW liczyć :)

1

1k na moje konto bankowe i Ci pomogę :)

0

Ile czasu Ci zostało?

5

Nie umiesz - nie powinieneś zdać, prosta sprawa ;)
Tak samo jak nie powinien zdać lekarz nierozróżniający nerki od wątroby czy technik, który nie potrafi policzyć całki.

0
Mały Kaczor napisał(a):

Wiedziałem że mogę na POLAKÓW liczyć :)

Napisz na stackoverflow to będą się bili o to kto pierwszy odpowie ;) A na tym forum rzeczywiście nie licz na nic poza stekiem kpin.

0

1 h i 40 min wystarczy mi zadanie 1 :)

0

Ok, która wersja Visual Studio?

0

2010

3
#include <cassert>
#include <climits>
#include <cstdlib>
#include <cstring>

#include <algorithm>
#include <array>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include <thread>
#include <typeinfo>

using namespace std;

template<typename T>
struct Value
{
	T value;
};

struct Data
{
	int rok;
	int miesiac;
	int dzien;
};

struct IloscStron : Value<int>{};
struct NumerBilioteczny : Value<string>{};
struct TerminWypozyczenia : Value<Data>{};

typedef tuple<IloscStron, NumerBilioteczny, TerminWypozyczenia> Struktura;

auto main() -> int
{
	auto * dyn = new Struktura;
	cout << "Podaj ilosc stron:" << endl;
	cin >> get<IloscStron>(*dyn).value;
	cout << "Podaj numer biblioteczny:" << endl;
	cin >> get<NumerBilioteczny>(*dyn).value;
	cout << "Podaj termin wypozyczenia - rok:" << endl;
	cin >> get<TerminWypozyczenia>(*dyn).value.rok;
	cout << "Podaj termin wypozyczenia - miesiac:" << endl;
	cin >> get<TerminWypozyczenia>(*dyn).value.miesiac;
	cout << "Podaj termin wypozyczenia - dzien:" << endl;
	cin >> get<TerminWypozyczenia>(*dyn).value.dzien;

	cout << "Wczytano: " << endl <<
			"Numer biblioteczny: " << get<NumerBilioteczny>(*dyn).value << endl <<
			"Ilosc stron: " << get<IloscStron>(*dyn).value << endl <<
			"Termin wypozyczena: " << get<TerminWypozyczenia>(*dyn).value.rok << "-" <<
			get<TerminWypozyczenia>(*dyn).value.miesiac << "-" <<
			get<TerminWypozyczenia>(*dyn).value.dzien << endl;

	delete dyn;
}

Sprawdź czy Ci działa, bo nie mam VS 2010

0

nie działa, dodaje zrzut
6ec5c0f294.png

2

Okej, spróbuj teraz:

#include <cassert>
#include <climits>
#include <cstdlib>
#include <cstring>

#include <algorithm>
#include <array>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>

using namespace std;

template<typename T>
struct Value
{
	T value;
};

struct Data
{
	int rok;
	int miesiac;
	int dzien;
};

struct IloscStron : Value<int>{};
struct NumerBilioteczny : Value<string>{};
struct TerminWypozyczenia : Value<Data>{};

typedef tuple<IloscStron, NumerBilioteczny, TerminWypozyczenia> Struktura;

int main()
{
	auto * dyn = new Struktura;
	cout << "Podaj ilosc stron:" << endl;
	cin >> get<0>(*dyn).value;
	cout << "Podaj numer biblioteczny:" << endl;
	cin >> get<1>(*dyn).value;
	cout << "Podaj termin wypozyczenia - rok:" << endl;
	cin >> get<2>(*dyn).value.rok;
	cout << "Podaj termin wypozyczenia - miesiac:" << endl;
	cin >> get<2>(*dyn).value.miesiac;
	cout << "Podaj termin wypozyczenia - dzien:" << endl;
	cin >> get<2>(*dyn).value.dzien;

	cout << "Wczytano: " << endl <<
			"Numer biblioteczny: " << get<1>(*dyn).value << endl <<
			"Ilosc stron: " << get<0>(*dyn).value << endl <<
			"Termin wypozyczena: " << get<2>(*dyn).value.rok << "-" <<
			get<2>(*dyn).value.miesiac << "-" <<
			get<2>(*dyn).value.dzien << endl;

	delete dyn;
}
0

OK dzięki wielkie działa

0

Ustaw tryb C++11

0

Dzięki wielkie niech Bóg Ci wynagrodzi :) A jest możliwosć żebyś ogarną drugie zadanie jeszcze ? Jak nie to nic sie nie dzieje :D

0

I jeszcze taki mały problem jak podaje w programie wszystkie dane to mi ich nie wyświetla tylko wyłącza program

0

Ok, postaram się.

Do wyłączania programu:

zamiast delete dyn; daj

	delete dyn;
	int zlap_konosole;
	cin >> zlap_konosole;
0

Dobra juz sobie z tym poradziłem

7
#include <cassert>
#include <climits>
#include <cstdlib>
#include <cstring>

#define WIN32_LEAN_AND_MEAN

#include <algorithm>
#include <array>
#include <deque>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <list>

#include <hash_map>
#include <array>
#include <windows.h>
#include <random>
#include <ostream>

#include <map>
#include <memory>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include <thread>
#include <typeinfo>
#include <tuple>


using namespace std;

#define DBG(x) { cout << left << setw(100) << #x << boolalpha << (x) << endl; }
#define DBG_CONT(x) { cout << left << setw(40) << #x; for(auto const& _name : (x)) \
	cout << boolalpha << _name << " "; cout << endl; }

template<typename T>
struct Value
{
	T value;
};

struct Data
{
	int rok;
	int miesiac;
	int dzien;
};

struct IloscStron : Value<int>{};
struct NumerBilioteczny : Value<string>{};
struct TerminWypozyczenia : Value<Data>{};

typedef tuple<IloscStron, NumerBilioteczny, TerminWypozyczenia> Struktura;

template<int Magic = 42>
Struktura* utworzIWczytajStrukture(){
	return utworzIWczytajStrukture<Magic-1>();
}

template<>
Struktura* utworzIWczytajStrukture<0>()
{
	auto * Magic = new Struktura;
	cout << "Podaj ilosc stron:" << endl;
	cin >> get<0>(*Magic).value;
	cout << "Podaj numer biblioteczny:" << endl;
	cin >> get<1>(*Magic).value;
	cout << "Podaj termin wypozyczenia - rok:" << endl;
	cin >> get<2>(*Magic).value.rok;
	cout << "Podaj termin wypozyczenia - miesiac:" << endl;
	cin >> get<2>(*Magic).value.miesiac;
	cout << "Podaj termin wypozyczenia - dzien:" << endl;
	cin >> get<2>(*Magic).value.dzien;

	return Magic;
}


int main()
{
	auto * dyn = utworzIWczytajStrukture();

	cout << "Wczytano: " << endl <<
			"Numer biblioteczny: " << get<1>(*dyn).value << endl <<
			"Ilosc stron: " << get<0>(*dyn).value << endl <<
			"Termin wypozyczena: " << get<2>(*dyn).value.rok << "-" <<
			get<2>(*dyn).value.miesiac << "-" <<
			get<2>(*dyn).value.dzien << endl;

	delete dyn;
	int zlap_konosole;
	cin >> zlap_konosole;
}

Zadanko 2 gotowe.

3

Ja tylko chcę dopowiedzieć, że #kq znany jest ze swojej życzliwości i poczciwości w pomocy synom marnotrawnym tegoż forum.

1

Dzięki wielkie za wszystko dostałem 3.0 niestety nie zdążyłem oddać zadania drugiego. Wykładowca się zdziwił jak zobaczył tak skomplikowany program. I sam nie wiedział chyba co do czego służy :)

0

Szkoda, że nie zdążyłeś oddać drugiego :(!

Było w nim pozdrowienie dla twojego prowadzącego:

#include <hash_map>
#include <array>
#include <windows.h>
#include <random>
#include <ostream>
0

hahahaa nie wierzę w to. dobre!

1

Pytał ale jakoś jana popaliłem i zaliczył :d a z drugiej strony skąd znasz nazwisko mojego wykładowcy ?

0

Mam jeszcze jedno zadanko, ktore przydalo by mi sie na jutro ogarnąć tylko w prostrzy sposób niz wcześniejsze :d tez visual studio 2010.Ogarnie ktos cos ???

Zadanie 1.
Napisz funkcję, która sprawdzi, czy wszystkie cyfry podanej liczby są parzyste lub ich
suma jest równa 25.
Zadanie 2.
Napisz funkcję, która kończy swoje działanie w momencie, gdy zostanie spełniony
chociaż jeden z następujących warunków:

  1. suma podanych liczb jest większa niż 10,
  2. liczba podanych ujemnych liczb jest większa niż 5,
  3. dwie ostatnio podane liczby są identyczne.
    Po zakończeniu działania funkcji w programie głównym mają zostać zapisane w
    zmiennych wartości minimalna i maksymalna ze wszystkich podanych liczb.
    ZADANIE 3.
    Napisz funkcję, która w podanej 10 elementowej tablicy liczb całkowitych, każdą
    liczbę parzystą pomnoży przez dwa. Tak otrzymane liczby wydrukuje na ekranie w
    kolejności malejącej.
    Przetestuj działanie funkcji w programie.
0

nie, Spie****

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