Funkcje, ogólna struktura funkcji. Umieszczanie definicji funkcji w programie. Zmienne lokalne i globalne. Zasięg i widzialność identyfikatorów.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include "stdafx.h" #include <iostream> #include <cstring> // Stale okreslajace wielkosc zalokowanej pamieci dla wykorzystywanych tablic const int ArrSize = 50; const int tempArrSize = 50; int getTokenCout( const char *str); /** * * Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli. * Trzy strategie (szkielety) algorytmow do zliczania ilosci slow (tokenow) w podanym przez * uzytkownika lancuchu znakow.Prosze zwrocic uwage na interpretacje znaku spacji. Algorytmy * 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; } 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; } |