Operatory relacyjne (porównania). Operatory logiczne. Wyrażenia logiczne. Przykłady obliczania wartości wyrażeń logicznych. Instrukcja warunkowa if. Zagnieżdżanie if-else. Operator warunkowy ? :. Instrukcja wyboru wielowariantowego switch. Stałe zadeklarowane jako const. Operatory bitowe. Przykłady kodu w C/C++.
#include "stdafx.h"
#include <iostream>
// Biblioteka odpowiedzialna za obsluge znakow. S. Prat str. 261
#include <cctype>
// Biblioteka odpowiedzialna za konwersje http://www.cplusplus.com/reference/clibrary/cstdlib/
#include <stdlib.h>
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Wprowadzanie danych do programu i podstawowe operacje arytmetyczne.
* Program do wybierania osob z podanej listy osob na podstawie zadanego kryterium.
*
* @author Marcin Mirończuk
*
*/
int main()
{
// Pierwsza litera imienia
char znak;
// Numer porzadkowy
int listNumber;
std::cout << "Lista moich znajomych" << std::endl;
std::cout << "1. Ala Marciniak" << std::endl;
std::cout << "2. Genowefa Pigwa" << std::endl;
std::cout << "3. Aleksander Kłopotek" << std::endl;
std::cout << "4. Irena Michalska" << std::endl;
std::cout << "5. Irek Niedzwiedzki" << std::endl;
std::cout << "Podaj numer porzadkowy z listy znajomych albo pierwsza litere imienia aby zobaczyc telefon kontaktowy" << std::endl;
// Pobranie znaku z konsoli
std::cin.get(znak);
// Sprawdzenie czy wprowadzono znak ktory jest litera
if(isalpha(znak)) {
switch (znak) {
case 'A' : std::cout << "Twoi znajomi na litera A wraz z numerami telefonow" << std::endl;
std::cout << "1. Ala Marciniak: telefon 789 876 000" << std::endl;
std::cout << "2. Aleksander Kłopotek: telefon 423 876 000" << std::endl;
break;
case 'G' :
std::cout << "Twoi znajomi na litera G wraz z numerami telefonow" << std::endl;
std::cout << "1. Genowefa Pigwa: telefon 789 826 100" << std::endl;
break;
case 'I' :
std::cout << "Twoi znajomi na litera I wraz z numerami telefonow" << std::endl;
std::cout << "1. Irena Michalska: telefon 789 234 100" << std::endl;
std::cout << "2. Irek Niedzwiedzki: telefon 146 876 000" << std::endl;
break;
default :
std::cout << "Brak znajomych zaczynajacych sie na podana przez Ciebie litere" << std::endl;
break;
}
}
// Sprawdzenie czy wprowadzono znak ktory jest liczba dziesietna (0-9)
else if(isdigit(znak)) {
// Konwersja znku na int
listNumber = atoi(&znak);
switch (listNumber) {
case 1 : std::cout << "Twój znajomy z pierwszej pozycji listy kontaktów" << std::endl;
std::cout << "1. Ala Marciniak: telefon 789 876 000" << std::endl;
break;
case 2 :
std::cout << "Twój znajomy z drugiej pozycji listy kontaktów" << std::endl;
std::cout << "1. Genowefa Pigwa: telefon 789 826 100" << std::endl;
break;
case 3 :
std::cout << "Twój znajomy z trzeciej pozycji listy kontaktów" << std::endl;
std::cout << "1. Aleksander Kłopotek: telefon 423 876 000" << std::endl;
break;
case 4 :
std::cout << "Twój znajomy z czwartej pozycji listy kontaktów" << std::endl;
std::cout << "1. Irena Michalska: telefon 789 234 100" << std::endl;
break;
case 5 :
std::cout << "Twój znajomy z piątej pozycji listy kontaktów" << std::endl;
std::cout << "1. Irek Niedzwiedzki: telefon 146 876 000" << std::endl;
break;
default :
std::cout << "Brak znajomych na liscie wedlug podanego przez Ciebie numeru porzadkowego" << std::endl;
break;
}
}
else {
std::cout << "Podano niestandardowy znak";
}
std::cin.get();
std::cin.get();
return 0;
}