0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 10
|
||||||
1 | ||||||
Когда запускаю и ввожу параметры, то, в момент когда программа должна выполнять действие, пишет ошибку03.12.2016, 22:24. Показов 1388. Ответов 6
Недавно начали изучать c++. так как в школе не было программирования (преподу пофиг было) я в универе отстаю ;c Написал программу по заданию (задание будет ниже и код тоже), но выходит ошибка (скрин прикрепил). Помогите новичку разобраться.
ЗАДАНИЕ : Написать программу, запрашивающую информацию о именах, фамилиях, адресах и телефонах абонентов и печатающую эту информацию в виде таблицы (использовать тип – структуру и ограничиться вводом данных о пяти абонентах). По запросу пользователя программа должна выдавать информацию о телефоне абонента по введенной фамилии и имени. В случае отсутствия информации, программа должна сообщать: “Такого абонента нет.” Для задания данных использовать тип struct. Мои, так сказать, попытки написать код:
0
|
|
03.12.2016, 22:24 | |
Ответы с готовыми решениями:
6
Не могу найти ошибку в коде, когда ввожу то переменная принимаєт только 1 символ. ето програма телефонная книг Когда нажимаю добавить элемент, и уже его ввожу, то вылетает ошибка и закрываеться программа
|
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
|
|||||||||||
05.12.2016, 12:56 | 2 | ||||||||||
ну во-первых, нумерация массивов идет с нуля, а последний элемент имеет индекс n-1, где n- длинна массива. потому когда ты пишешь в цикле условие i<=n, цикл выходит за границу массива. переделай все циклы по типу
1
|
0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 10
|
|
06.12.2016, 16:41 [ТС] | 3 |
Спасибо, заработало
![]()
0
|
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
|
|
06.12.2016, 19:27 | 4 |
Hellsing616, кинь код и скрин консоли.
0
|
0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 10
|
|
06.12.2016, 19:42 [ТС] | 5 |
#include <iostream>
#include <cstdio> #include <string> #include <stdio.h> #include <fstream> using namespace std; struct book { char fam[25]; char im[15]; char adress[100]; int phone;} lib[5]; int main(int argc, char*argv[]) { int n; cout<<"the number of subscribers: "; cin>>n; for (int i=0; i<n; i++) {cout<<"Enter subscriber's name "<<endl; cin>>lib[i].im; cout<<"Enter subscriber's surname"<<endl; cin>>lib[i].fam; cout<<"Enter the adress without spaces or commas"<<endl; cin>>lib[i].adress; cout<<"enter a phone number "<<endl; cin>>lib[i].phone; } for (int i=0; i<n; i++) cout<<lib[i].im<<" "<<lib[i].fam<<" "<<lib[i].adress<<" "<<lib[i].phone<<endl; char a[15], b[25]; int i,j,k; int t=1; cout<<"Enter a name and a surname of subscriber who want to find "; cin>>a>>b; for (i=0; i<n; i++) { if (strlen(a)==strlen(lib[i].im)) { for (j=1; j<=strlen(a); j++) if (a[j]!=lib[i].im[j]) { t=0; break;}} if (strlen(b)==strlen(lib[i].fam)) { for (k=1; k<=strlen(b); k++) if (b[j]!=lib[i].fam[k]) { t=0; break;}} if (t=1) {cout<<lib[i].phone;}} if (t=0) cout<<"not found"; getchar(); getchar(); return 0; }
0
|
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
|
||||||||||||||||||||||||||||||||||||
06.12.2016, 23:30 | 6 | |||||||||||||||||||||||||||||||||||
![]() Решение
сразу 3 ошибки
1) главная- не путай условие равенства с присваиванием. неправильно:
1
|
0 / 0 / 0
Регистрация: 03.12.2016
Сообщений: 10
|
|
07.12.2016, 00:10 [ТС] | 7 |
Спасибо большое. Всё работает. В следующий раз всё сделаю как надо, я просто тут новенький
![]()
0
|
07.12.2016, 00:10 | |
Помогаю со студенческими работами здесь
7
Почему когда тычу в экзешник мышью, получаю один результат, а когда запускаю его из MSVS- другой? Когда запускаю свой диск /f он пишет Нет доступа к /F.Файл или папка повреждены,чтение невозможно Когда запускаю на другом компьютере,где нет С++ Builder а выбивает ошибку исполняемые файлы открываются в блокноте, а когда ввожу в реестр изменения пишет: не удалось произвести импорт т. к. разделы реестра заняты систем Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |