little_greg Опубликовано 21 сентября, 2009 Жалоба Поделиться Опубликовано 21 сентября, 2009 помогите найти ошибку, не высчитывается сумма. программа должна записывать числа в массив, если введено не число - то программа выходит из цикла и высчитывает сумму. #include <iostream>#include <cctype>using namespace std;const int size = 10;int main(){double donation[size];double average = 0.0;double num;cout << "enter 10 donation. for stop enter a letter.\n";int i;for (i = 0; i < size; i++){ cin >> num; if (isdigit(num)) donation[i] = num; }double total = 0.0;for (int j = 0; j < i; j++) total += donation[j];cout << total;system("pause");return 0;} Ссылка на комментарий Поделиться на другие сайты Поделиться
little_greg Опубликовано 21 сентября, 2009 Автор Жалоба Поделиться Опубликовано 21 сентября, 2009 #include <iostream> #include <cctype> using namespace std; const int size = 10; int main() { double donation; double average = 0.0; double num; cout << "enter 10 donation. for stop enter a letter.\n"; int i = 0; cin >> num; while (isdigit(num) && i < size) { donation = num; cin >> num; i++; } double total = 0.0; for (int j = 0; j < i; j++) total += donation[j]; cout << total; system("pause"); return 0; } #include <iostream> #include <cctype> using namespace std; const int size = 10; int main() { double donation; double average = 0.0; double num; cout << "enter 10 donation. for stop enter a letter.\n"; int i = 0; cin >> num; while (isdigit(num) && i < size) { donation = num; total += donation cin >> num; i++; } double total = 0.0; for (int j = 0; j < i; j++) total += donation[j]; cout << total; system("pause"); return 0; } блин там выше не тот код #include <iostream> #include <cctype> using namespace std; const int size = 10; int main() { double donation; double average = 0.0; double num; cout << "enter 10 donation. for stop enter a letter.\n"; int i = 0; cin >> num; while (isdigit(num) && i < size) { donation = num; total += donation cin >> num; i++; } double total = 0.0; for (int j = 0; j < i; j++) total += donation[j]; cout << total; system("pause"); return 0; } запарился!!! где вот в этом коде ошибка? заранее спасибо #include <iostream>#include <cctype>using namespace std;const int size = 10;int main(){double donation[size];double average = 0.0;double num;cout << "enter 10 donation. for stop enter a letter.\n";int i = 0;cin >> num;while (isdigit(num) && i < size){ donation[i] = num; total += donation[i] cin >> num; i++; }double total = 0.0;for (int j = 0; j < i; j++) total += donation[j];cout << total;system("pause");return 0;} Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 21 сентября, 2009 Жалоба Поделиться Опубликовано 21 сентября, 2009 little_greg: Читай сообщения компилятора. Уже навскидку видно, что после total += donation нет точки с запятой, не говоря уже о том, что total определена и инициализирована уже после ее использования. Кроме того, digit и number в английском разные вещи - цифра и число: is digit проверяет, является ли введенный символ цифрой, а для проверки, являются ли введенные данные числом, проверяется мнение cin об этом запросом cin.fail(), это возвращает true при ошибке. Ссылка на комментарий Поделиться на другие сайты Поделиться
little_greg Опубликовано 21 сентября, 2009 Автор Жалоба Поделиться Опубликовано 21 сентября, 2009 спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти