• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zwracanie wartości "false" jeżeli wczytano pusty wiersz

Object Storage Arubacloud
0 głosów
136 wizyt
pytanie zadane 25 maja 2019 w C i C++ przez amelia.cpp Obywatel (1,860 p.)

Hej, 

Robię jedno z zadań z książki i mam problem ze zwróceniem false, jeżeli wprowadzony łańcuch jest ciągiem pustym (w przeciwnym wypadku program powinien zwracać true). 

int main()
{
	golf arr[5];

	for (int i = 0; i < 5; i++)
	{
		setgolf(arr[i]);
		// tutaj jeżeli zwrócono true kontynuuj zapis, jeżeli false - przerwij 
	}
	for (int i = 0; i < 5; i++)
	{
		showgolf(arr[i]);
	}
	system("pause");
}
void setgolf(golf& g)
{
	using namespace std;
	std::cout << "Podaj nazwisko: ";
	cin.getline(g.fullname, Len);
        //tu zwróć 0 lub 1, 
        //w zależności od tego czy wprowadzony łańcuch jest ciągiem pustym czy nie
	std::cout << "Podaj handicap: ";
	std::cin >> g.handicap;
	getchar();
}

W zadaniu jest napisanie "funkcja zwraca", wydaje mnie się że chodzi o ustawienie wartości zmiennej typu bool.

 

Skończyły mi się już pomysły na rozwiązanie frown. Może wy macie jakiś pomysł...

1 odpowiedź

0 głosów
odpowiedź 25 maja 2019 przez criss Mędrzec (172,590 p.)

Szczerze, to nie wiem gdzie widzisz problem. Może po prostu nie znasz słówka "return". Skoro setgolf ma zwracać true/false, to musi zwracać typ bool (u ciebie jest void, więc to zmień).
Do zwracania wartości służy "return", więc w linii 6. sprawdasz czy g.fullname jest puste (jeśli fullname to std::string, to możesz użyc np. std::string::empty()) i jeśli tak to `return false;`. Ofc w przecinwym wypadku też musi coś być zwrócone, więc na końcu dopisz `return true;`.
Jak już setgolf zwraca bool, to w mainie możesz sobie napisać

if (!setgolf(arr[i]))
    break;
komentarz 25 maja 2019 przez amelia.cpp Obywatel (1,860 p.)

W zadaniu mam podany nagłówek na podstawie którego mam zrobić zadanie i wygląda następująco:

const int Len = 40;
struct golf
{
	char fullname[Len];
	int handicap;
};

void setgolf(golf& g, const char* name, int hc);
void setgolf(golf& g);
void handicap(golf& g, int hc);
void showgolf(const golf& g);

Lecz myślę że masz rację i pozwolę sobie troche to zmodyfikować, inaczej użycie słowa "zwraca" w treści zadania nie miałoby dużo sensu. Nie wiem czy to błąd, czy co autor książki miał na myśli ¯\_(ツ)_/¯

1
komentarz 25 maja 2019 przez criss Mędrzec (172,590 p.)
To nie mam pojęcia o co mogło mu chodzić..

Jeśli to zadanie z książki (a nie na zajęcia np.), to nie próbuj za wszelką cene rozwiązać zgodnie z treścią. Chcesz się nauczyć języka, a nie rozwiązywać zadania :P

Podobne pytania

0 głosów
2 odpowiedzi 279 wizyt
pytanie zadane 10 sierpnia 2019 w C i C++ przez enigmatycznyclay Bywalec (2,450 p.)
0 głosów
1 odpowiedź 114 wizyt
pytanie zadane 12 lutego 2019 w C i C++ przez Hailon Początkujący (310 p.)
0 głosów
0 odpowiedzi 195 wizyt

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,941 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...