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

Przetwarzanie komend.

VPS Starter Arubacloud
0 głosów
130 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ź 271 wizyt
0 głosów
1 odpowiedź 161 wizyt
pytanie zadane 27 kwietnia 2020 w JavaScript przez chakip Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 192 wizyt
pytanie zadane 12 listopada 2019 w Rozwój zawodowy, nauka, praca przez kamilvvv Początkujący (430 p.)

92,452 zapytań

141,262 odpowiedzi

319,081 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...