0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 3
|
||||||
1 | ||||||
скажите пожалуйста что не так?09.10.2013, 16:41. Показов 669. Ответов 3
Метки нет (Все метки)
пишет ошибку "Необработанное исключение в "0x0f3fde8f (msvcr100d.dll)" в "lab2.exe": 0xC0000005: Нарушение прав доступа при записи "0x00000000"."
текст программы:
0
|
09.10.2013, 16:41 | |
Ответы с готовыми решениями:
3
Скажите пожалуйста, что не так с программой Скажите пожалуйста, что не так: Почему в выделенной части кода пропускается ввод фамилии? скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? скажите что не так! |
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 7
|
||||||||||||||||
10.10.2013, 18:16 | 2 | |||||||||||||||
Первое, что бросается в глаза t[8][5]=100. Индексация массива должна начинаться с нуля и заканчиваться на N-1, в данном случае t[7][4]=100.
Добавлено через 20 минут Вместо этого: Кликните здесь для просмотра всего текста
Используйте это: Кликните здесь для просмотра всего текста
Ну или хоть это Кликните здесь для просмотра всего текста
А то читать невозможно, да и сами запутаетесь. Добавлено через 22 часа 29 минут Похоже проблема в scanf("%c", j). У вас второй аргумент типа int, а нужен char*. Создайте дополнительный массив например char temp[32] и вместо j в scanf подставляйте temp. Добавлено через 8 минут И поправьте индексы в массиве int t[8][5]. Объявлен он правильно, но потом индексация должна начинаться с t[0][0] и заканчиваться на t[7][4]. Не забудьте проверить индексы и в циклах, в которых используете этот массив. Добавлено через 33 минуты Можно вместо массива можно обойтись просто char temp и scanf("%c", &temp). Кстати, из за этого же scanf у вас будет еще одна проблема. Вы не сможете выбрать объект над которым хотите выполнить операцию. После того как вы введете название операции и нажмете Enter, scanf("%s", d) запишет введенную строку в массив d, но оставит во входной очереди символ новой строки. На этот символ наткнется scanf("%c", &temp) и решит что вы нажали Enter. Можно поставить перед %c пробел ("%c" -> " %c"), тогда scanf проигнорирует символ новой стоки. Работа со строками в C++ - самое ужасное занятие, если не пользоваться STL контейнерами))
0
|
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 3
|
|
11.10.2013, 03:03 [ТС] | 3 |
спасибо большое))помогло избавиться от ошибки)) но возникла новая проблема, как введеный символ перевести в численную переменную?))что то я туплю сильно))))
0
|
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 7
|
|
11.10.2013, 06:09 | 4 |
scanf("%i", &x) читает int x в десятичной (42 = 42), восьмеричной (042 = 34) и шестнадцатеричной (0x42 = 66) системах счисления.
scanf("%d", &x) читает десятичные int x. scanf("%f", &x) читает float x. scanf("%lf", &x) читает double x. Перед f в кавычках стоит строчная L. Не подставляйте переменную одного типа в scanf для другого, приведение типов в таких случаях не работает. В переменную ничего не запишется. Советую почитать, если знаете английский. Тут хорошая таблица на эту тему
0
|
11.10.2013, 06:09 | |
11.10.2013, 06:09 | |
Помогаю со студенческими работами здесь
4
Pls скажите что не так! скажите что нет так Скажите, что не так делаю! Не работает код, скажите что не так) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |