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ł :)