Dodatkowe materiały Kurs XVII i XVIII
Ostatnio zmodyfikowano 2015-05-14 19:43
BrysiekVTC Temat założony przez niniejszego użytkownika |
Dodatkowe materiały Kurs XVII i XVIII » 2015-05-14 18:49:22 Witam. Mam problem z rozgryzieniem zadania 2 z rozdziału "Funkcje kolejne aspekty" Zadanie brzmi: Napisz program jak wyżej, jednak stwórz strukturę, która będzie przechowywać oceny dla poszczególnych podawanych przedmiotów np. struct oceny { przedmiot1; przedmiot2; . . }
Oczywiście podczas podawania ocen ma być wyświetlana informacja, dla jakiego przedmiotu jest wprowadzana dana. Możesz jako ostatnią pozycję w strukturze utworzyć zmienną średnia, która będzie przechowywać obliczoną średnią dla ocen z przedmiotów. Mój zaczęty kod to: #include <iostream> #include <cmath> #include <conio.h> #include <string> using namespace std;
struct Przedmiot { char przedmiot; };
int main() { string oceny; int ile; cout << "Podaj ilosc przedmiotow: "; cin >> ile; struct Przedmiot lekcje[ ile ]; for( short i = 0; i < ile; i++ ) { cout << "Podaj przedmiot: "; cin >> lekcje[ i ].przedmiot; cin.clear(); cin.sync(); } for( short i = 0; i < ile; i++ ) { cout << "Przedmiot: " << lekcje[ i ].przedmiot; } }
Gdy chcę wypisać Przedmiot pojawia się tylko 1 litera zapisanego przedmiotu. Poprosił bym o jakieś wskazówki co do dalszego rozwiązania. |
|
uzytkownik17 |
string zamiast char » 2015-05-14 19:02:10 Typ char przechowuje tylko jeden znak - program nie wyświetla "tylko pierwszej" litery, ale jedyną literę. Aby zapamiętać całe słowo, najlepiej użyć zmiennej typu string. |
|
BrysiekVTC Temat założony przez niniejszego użytkownika |
oceny » 2015-05-14 19:35:36 A jak wpisać oceny ? też poprzez string bo ten kod nie działa : string oceny;
for( short i = 0; i < ile; i++ ) { cout << endl; cout << "\nPrzedmiot: " << lekcje[ i ].przedmiot << endl; cin.clear(); cin.sync(); cout << "Podaj oceny: " << oceny; }
|
|
uzytkownik17 |
cin zamiast cout » 2015-05-14 19:40:25 Aby pobrać dane, używa się cin zamiast cout. Tak więc wcześniej musi się pojawić żeby można było je wyświetlić. Jeśli oceny mają być np. dodawane, zapamiętywanie ich jako stringi (czyli zwyczajne napisy tekstowe) znacznie utrudni operacje arytmetyczne. Jeżeli oceny miałyby być nieułamkowe (czyli jedynie 1,2,3,4,5,6), najlepiej zapamiętać je jako zmienna typu int. Cały kod będzie nadal poprawny, jeśli jedynie w deklaracji zamieni się "string oceny" na "int oceny". |
|
BrysiekVTC Temat założony przez niniejszego użytkownika |
:D » 2015-05-14 19:43:08 Kurde faktycznie. Nie zauważyłem ze nie wypisuję tych liczb. Dzięki. :) |
|
« 1 » |