Witam, rozwiązując zadanie, mam napisać program, który:
- Może pobrać do 10 wartości
- Jeśli użytkownik poda wartość inną niż liczba, program kończy działanie
- Na koniec program sumuje wartości.
Do oceny czy na wejściu jest znak bądź liczba użyłem funkcji isdigit(). Następnie w
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
using namespace std;
int main()
{
char z[10];
int suma=0;
for(int i=0; i<10; i++ )
{
cout<<"Podaj wartosc: ";
cin>>z[i];
if(isdigit(z[i]))
{
int(z[i]);
suma=+z[i];
continue;
}
else
{
cout<<"Podano znak; koncze program";
break;
}
}
cout<<suma;
return 0;
}
ykonuje rzutowanie z char na int. Niestety, program pokazuje wartość suma ciągle tą samą, błędną cyfrę. W czym jest błąd?
Pozdrowienia.