Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 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 день, не разобрался до конца с типами переменных и даже не залезал в классы.

Кто видит ошибку - прошу отписать ее суть либо помочь правильно переписать код.
76region вне форума  
Старый 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.
Urian вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с кодом 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


Текущее время: 09:32. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.