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

Przetwarzanie komend.

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
160 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,440 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ź 433 wizyt
0 głosów
1 odpowiedź 290 wizyt
pytanie zadane 27 kwietnia 2020 w JavaScript przez chakip Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 266 wizyt
pytanie zadane 12 listopada 2019 w Rozwój zawodowy, nauka, praca przez kamilvvv Początkujący (430 p.)

93,172 zapytań

142,184 odpowiedzi

321,965 komentarzy

62,496 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 918p. - dia-Chann
  2. 902p. - Łukasz Piwowar
  3. 901p. - CC PL
  4. 894p. - Łukasz Eckert
  5. 872p. - Michal Drewniak
  6. 867p. - Marcin Putra
  7. 858p. - rafalszastok
  8. 856p. - rucin93
  9. 842p. - Dawid128
  10. 840p. - Adrian Wieprzkowicz
  11. 830p. - Piotr Aleksandrowicz
  12. 826p. - Michał Telesz
  13. 819p. - Mariusz Fornal
  14. 814p. - Mikbac
  15. 812p. - TheLukaszNs
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...