Witam, mam delikatny problem z częścią programu w konsoli. Łapie sobie dane ze strumienia wejścia jeśli to są cyfry zapisuje je do tablicy aż do wprowadzenia jakiegoś innego nie liczbowego znaku, na razie wymyśliłem coś takiego ale potrzebuje 2 dodatkowych bibliotek i użycia goto, dalo by się to jakoś prościej zrobić i pozbyć się goto??
#include <ctype.h>
#include <stdlib.h>
string a;
for(int i=0;;++i)
{
cin >> a;
for(unsigned j=0;j<a.length();++j)
if(isalpha(a.at(j)))goto aaa;
tab[i]=atoi(a.c_str());
}
aaa:
Tak na szybko wpadłem na coś takiego ale wysypie się po podaniu kilku zer np 00, i jest sporo dłuższe
#include <ctype.h>
#include <stdlib.h>
string s_tmp;
int i_tmp;
for(unsigned i=0;;++i)
{
cin>> s_tmp;
i_tmp=atoi(s_tmp.c_str());
if(i_tmp)
tab[i]=i_tmp;
else if(s_tmp.lenght()==1 && !isalpha(s_tmp.at(0)) //rozróżnianie liter od 0
tab[i]=i_tmp;
else break;
}