Laboratoria nr 10 program nr 1

Łańcuchy znaków. Inicjalizacja łańcucha znaków. Stała znakowa. Funkcje do wprowadzania i wyprowadzania znaków. Plik nagłówkowy string.h (cstring). Przykłady kodu w C/C++.

#include "stdafx.h"
#include <iostream>
#include <string>

/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Program do wprowadzania mieszanych danych: liczby, znaki alfanumeryczne, lancuchy ze spacjami.
*
* @author Marcin Mirończuk
*
*/
int main()
{
	using namespace std;

	// Tablica przechowujaca imiona
	char imiona[50];

	// Tablica przechowujaca nazwiska
	char nazwiska[50];

	// Tablica przechowujaca polaczenie Imienia i nazwiska
	char nazwisko[100];

	// Zmienna przechowujaca podana przez uzytkownika ocene
	int ocena;

	// Zmienna przechowujaca wiek uzytkownika
	int wiek;

	// Zmienna przechowujaca rok rozpoczecia studiow
	int rozpoczecieStudiow;

	std::cout << "Kiedy rozpoczeles/rozpoczelas studia? ";
	std::cin >> rozpoczecieStudiow;
	std::cin.get();

	std::cout << "Jak masz na imie? ";
	std::cin.getline(imiona, 50);

	std::cout << "Jak sie nazywasz? ";
	std::cin.getline(nazwiska, 50);

	std::cout << "Na jaka ocene zaslugujesz? ";
	std::cin >> ocena;

	if(ocena > 6 || ocena < 2) {
		std::cout << "Podales nieprawidlowa ocene \n";
		std::cout << "Na jaka ocene zaslugujesz? ";
		std::cin >> ocena;
	}

	std::cout << "Ile masz lat? ";
	std::cin >> wiek;

	// Funkcje strcpy(). strcat() nie chronia pamieci
	// moze sie zdarzyc, ze kopia tablicy jest wieksza niz docelowa tablica
	// W ogolnym przypadku rola programisty jest zabezpieczenie programu przed taka sytuacja. 
	strcpy(nazwisko, nazwiska);
	strcat(nazwisko, ", ");
	strcat(nazwisko, imiona);

	std::cout << "Rok rozpoczecia studiow: " << rozpoczecieStudiow << std::endl;
	std::cout << "Nazwisko: " << nazwisko << std::endl;
	std::cout << "Ocena: " << ocena-1 << std::endl;
	std::cout << "Wiek: " << wiek << std::endl;

	std::cin.get();
	std::cin.get();

	return 0;
}

Skomentuj ten wpis