25.06.2012, 20:03 | #1 (ссылка) |
Новичок
Регистрация: 07.06.2012
Сообщений: 8
Репутация: 0
|
Помогите с кодом начинающему прогеру.
int a,b,x,ind=0;
const int maxind=255; //максимальное количество паролей char * app[maxind]; //массив приложений char * acc[maxind]={"FIRST","SECOND","THIRD"}; //массив аккаунтов char * pass[maxind]={"ONE.1","TWO.2","THREE.3"}; //массив паролей char op,answer='y'; while(answer == 'y' || answer == 'Y') //цикл продолжения работы программы { cout<<"What password you interested in?"<<endl; cout<<"1)The password for the MAIL\n2)The password for the STEAM\n3)The password for the VK.COM"<<endl; cin>>ind; cout<< "Enter expression\nChange password: C\nWatch password: W"<<endl; cin>> op; switch(op) { case 'c': { cout<<"ENTER THE NEW PASSWORD for this account "<<acc[ind-1]<<": "; cin>>pass[ind-1]; break; } ... } ВСЕМ ПРИВЕТ! Не обращайте внимание на некоторые неиспользуемые переменные и формальные массивы из "3" элементов. Суть программы - создание некой базы паролей для различных приложений(геймеры поймут). Здесь описана только функция ввода нового пароля(пароли вида asdjl213951a - любое кол-во любых символов). Это тока протатип, и это тока маленькая часть программы, в функции свич все остальные варианты работают правильно, если нужно - могу скинуть полный код. Программа при вводе нового пароля и нажатии ENTER выдает ошибку и аварийно завершается. Я думаю, что ошибка в инициализации массива pass[ ]. Изучаю C++ 3 день, не разобрался до конца с типами переменных и даже не залезал в классы. Кто видит ошибку - прошу отписать ее суть либо помочь правильно переписать код. |
02.07.2012, 17:21 | #2 (ссылка) |
Новичок
Регистрация: 19.05.2011
Сообщений: 33
Репутация: 1
|
Привет, 76region! (и всем кодерам!)
любой массив - это указатель. В указатель ничего нельзя считать, тем более в ту ячейку, на которую этот указатель ссылается. В указатель можно только передать ссылку на переменную, таким образом привязав указатель к конкретной ячейки. Я нашёл, может быть, и не лучшее решение, но всё-таки работает: .... char s[255]; //создаю символьный массив на 255 символов cin >> s; //считываю в него необходимое pass[ind-1] = s; //присваиваю, работает! ... Проверено в Dev-C++ Последний раз редактировалось Urian; 02.07.2012 в 17:32. |
Ads | |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите с кодом | Holodnaya | Программирование | 1 | 02.07.2012 17:38 |
Помогите с html кодом. Набрала-ничего кроме текста не работает . Всё же правильно вро | qwertyasyaaaa | Программирование | 2 | 25.04.2012 09:07 |
Подсказки начинающему программисту | SIGM@ | Программирование | 13 | 05.02.2010 07:27 |
Помогите начинающему разобраться в Bios version 62.94.17.00.3A | радар | Железо | 7 | 16.04.2009 12:34 |
Как заработать на Бегуне начинающему вебмастеру. | Антон | Работа | 4 | 17.11.2007 13:41 |