27 maj
Laboratoria nr 12 program nr 2
Funkcje, ogólna struktura funkcji. Umieszczanie definicji funkcji w programie. Zmienne lokalne i globalne. Zasięg i widzialność identyfikatorów.
#include "stdafx.h" #include <iostream> #include <cstring> // Stale okreslajace wielkosc zalokowanej pamieci dla wykorzystywanych tablic const int ArrSize = 50; const int tempArrSize = 50; // Funkcja zliczająca ilość słów w podanym łańcuchu znaków int getTokenCout(const char *str); /** * * Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli. * Demonstracja przeniesienia strategii nr. 1 z Laboratoria nr 10 program nr 2 (http://profind.pl/2011/05/18/laboratoria-nr-10-program-nr-2/) do funkcji. * Prosze zwrocic uwage na interpretacje znaku spacji. Algorytmy w dalszym ciągu jest * w najprostszej postaci nie chronia przed podwojnymi spacjami. Mozna to wykryc poprzez wprowadzenie * nastepujacego lancucha znakow: "1 2 3 " * * @author Marcin Mirończuk * */ int main() { // Tablica przechowujaca lancuch podany przez uzytkownika char slowa[ArrSize]; // Wprwadzanie lancucha znakow std::cout << "Podaj slowa: " << std::endl; std::cin.getline(slowa, ArrSize); std::cout << "Ilosc wprowadzonych slow to: " << getTokenCout(slowa) << std::endl; std::cin.get(); std::cin.get(); return 0; } // Modyfikator const - zabezpiecznie przed modyfikacja wartosci wskazanej int getTokenCout(const char *str) { // Ustawienie zmiennych tymczasowych int k = 0; int iloscSlow = 0; // Przetwarzanie wprowadzonego lanucha znakow for(int i = 0; i < strlen(str); i++) { // Tymczasowa tablic do przechowywania znakow a nastepnie lanucha znakow w postaci osobnych tokenow char temp[tempArrSize]; // Najprostszy sposob wykrywania spacji oraz konca lancucha if(isspace(str[i]) || str[i+1] == '\0') { temp[k] = '\0'; iloscSlow++; k = 0; temp[k] = '\0'; } else { // Zapis znaku to tablicy tymczasowej temp[k] = str[i]; k++; } } return iloscSlow; }
Skomentuj ten wpis