Sumowanie tablic dynamiczynych

0

Witam, mam do zrobienia program który sumowałby tablicę dynamiczną, program jest już prawie gotowy, ale brakuje mi jednego elementu o który chciałem zapytać, najpierw zamieszczam program.

#include <iostream>
#include <conio.h>
#include <stdio.h>

void Napis_start();
int Rozmiar_tab(int rozmiar);
int Wypelnianie_tab(int *wsk, int rozmiar);
int Wypisywanie_tab(int *wsk, int rozmiar);
int Sumowanie_tab(int *wsk_p, int *wsk_d, int rozmiar);

using namespace std;
main()
{
    Napis_start();
        int rozmiar;
        char wybor;
    do
    {
        cout << "Prosze o podanie rozmiarow tablic" << endl;
        rozmiar = Rozmiar_tab(rozmiar);
    int *wsk_do_tab_p = new int[rozmiar];
    int *wsk_do_tab_d = new int[rozmiar];
        if((!wsk_do_tab_p) || (!wsk_do_tab_d))
        {
            cout << "Tablica nie zostala utworzona! Program zakonczy swoje dzialanie";
            getch();
            exit(1);
        }
    cout << "Wypelnij tablice pierwsza\n";
    Wypelnianie_tab(wsk_do_tab_p, rozmiar);
    cout << "Wypelnij tablice druga\n";
    Wypelnianie_tab(wsk_do_tab_d, rozmiar);
    cout << "\nPo sumowaniu tablic: \n";
    Sumowanie_tab(wsk_do_tab_p, wsk_do_tab_d, rozmiar);
        
    cout << "\n\n\tPowtorzyc operacje? t/n\n";
        do
        {   
            cout << "\t";
            cin >> wybor;
        }
        while((wybor != 't') && (wybor != 'n'));
    system("cls");
    
    delete [] wsk_do_tab_p;
    delete [] wsk_do_tab_d;
    }
    while(wybor != 'n');
    
    return 0;
}
void Napis_start()
{
   for(int i = 0; i < 29; i++)
        cout << "**";
    cout << endl;
    cout << "**Program sumujacy dwie tablice podane przez uzytkownika**" << endl;
    for(int i = 0; i < 29; i++)
        cout << "**";
    cout << "\n\n";
}
int Rozmiar_tab(int rozmiar)
{
    do
    {
        cin >> rozmiar;
        if(rozmiar < 0)
        {
            cout << "Rozmiar tablicy musi byc wiekszy od 0!" << endl;
        }
    }
    while(rozmiar < 0);
    return rozmiar;
}
int Wypelnianie_tab(int *wsk, int rozmiar)
{
    for(int i = 0; i < rozmiar; i++, *(wsk++))
    {
        cout << "\tTablica[" << i <<"] = ";
        cin >> *wsk;
    }
}
int Wypisywanie_tab(int *wsk, int rozmiar)
{
     for(int i = 0; i < rozmiar; i++)
        cout << *(wsk++) << "\t";
}
int Sumowanie_tab(int *wsk_p, int *wsk_d, int rozmiar)
{
    for(int i = 0; i < rozmiar; i++)
        cout << "\tTablica[" << i << "] = " << (*(wsk_d++) + *(wsk_p++)) << "\n";    
}

Moje pytanie dotyczy zmiennej "rozmiar" i obraca się w obrębie funkcji "Rozmiar_tab", chodzi mi o to jak zabezpieczyć program przed wpisywaniem głupot przez użytkownika (głownie chodzi o znaki, ciągi znaków), sprawa ma się podobnie jak do zmiennej "wybór" ale tam sprawę rozwiązałem tak jak widać (pętla która sprawdza co wprowadza użytkownik), wyczytałem kiedyś dawno o operatorze "===" lecz jakoś użycie go ciężko mi idzie, można poprosić o mała pomoc? ewentualnie radę gdzie znajdę odpowiedz. Program wg mnie wydaje się być w miarę dobry i przejrzysty, ale miło by było jakby jakiś fachowiec się wypowiedział :)

0

Odpowiednia przeróbka tego Zabezpieczenie przed wpisywaniem liter kodu powinna rozwiązać problem.

0

Przeróbka pomogła, uporałem się szybko, sprawnie i przyjemnie z moim problemem. Chodź będę musiał przeczytać to i owo o tym obiekcie "cin" :)
Z góry dziękuje.
Eldiane

1 użytkowników online, w tym zalogowanych: 0, gości: 1