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

Przetwarzanie komend.

Object Storage Arubacloud
0 głosów
131 wizyt
pytanie zadane 12 czerwca 2018 w C i C++ przez Munvik Dyskutant (9,350 p.)

Pisze arkusz kalkulacyjny tekstowy i mam do przetworzenia std::string'a (komende). Oto kawałek kodu, który mam

std::string cmd = "";
	char ch = 1;

	while (ch != char(ESC))
	{
		system("cls");
		ch = 1;

		std::cout << "Commands: " << std::endl << std::endl << std::endl;
		std::cout << "Delete cell         Example: DEL A8" << std::endl;
		std::cout << "Write cell          Example: A3 = 1140" << std::endl;
		std::cout << "Calculate cells     Example: C6 = G9 + F2" << std::endl;
		std::cout << "Read cell           Example: B1" << std::endl;
		std::cout << "List cell           Example: ls" << std::endl;
		std::cout << "Exit                Example: Rly ? U cant leave the console proggram ? " 
			<< std::endl 
			<< std::endl;

		while (ch != ENTER)
		{
				ch = getchar();
				cmd += ch;
		}

		std::cout << cmd;
		translateCmd(cmd, values);

		getchar();
	}

Values to std::vector<std::vector<int>>. 

Tu moje pytanie. Jak takie przetwarzanie zrobić ? Co tu zastosować, multum ifów sprawdzajacych czy komenda jest dostepna i poprawna ? Oraz, czy przekazywać ten vector Values do tej komendy ? A może funkcja translateCmd(...) niech coś zwraca ? Nie wiem jak się do tego zabrać..

Dodam, że istnieje osobna funkcja dla każdej komendy.

komentarz 12 czerwca 2018 przez Bondrusiek Maniak (61,370 p.)
Witam,

wydaje mi się że zastanów sie nad reprezentacją danych. Być może powinieneś stworzyć własną klasę do tego zadania. Jeśli przekazujesz vector do funkcji to najlepiej przez referencje. Zamiast wielu ifów możesz zastosować instrukcje switch() która jest czytelniejsza.
komentarz 12 czerwca 2018 przez Munvik Dyskutant (9,350 p.)
Właśnie chodzi o to, że nie można używać klas :/ A ze switchem to oczywiście

1 odpowiedź

0 głosów
odpowiedź 12 czerwca 2018 przez Chess Szeryf (76,710 p.)

Utwórz może tablicę z tymi poleceniami i przeleć pętlą po niej.

Nie za bardzo rozumiem w czym rzecz, ale chyba oto Ci chodzi:

// PSEUDO-CODE

<?php
$arr = ['CALC','CHARMAP','CMD'];

for($i=0;$i<2;$i++) {
   // std::string $arr[$i] = "";

   // while (ch != char(ESC)) {
   // ...
   // }
}
?>

 

Podobne pytania

+1 głos
1 odpowiedź 283 wizyt
0 głosów
1 odpowiedź 164 wizyt
pytanie zadane 27 kwietnia 2020 w JavaScript przez chakip Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 203 wizyt
pytanie zadane 12 listopada 2019 w Rozwój zawodowy, nauka, praca przez kamilvvv Początkujący (430 p.)

92,539 zapytań

141,382 odpowiedzi

319,480 komentarzy

61,928 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!

...