Другие языки программирования и технологии
Помогите разобраться с написанием программы Паскале!
В общем, пытаюсь написать программу "записную книжку". Так чтобы при введении имени, она выдавала номер телефона. Ну, в общем какие-то основы я знаю, и что-то написать смог, но он мне постоянно выдаёт различные ошибки связанные с переменными. В общем, может-быть для кого-то не составит труда помочь мне с этой программой?
Доброго времени суток.
Естественно, не будет нравиться! Вы объявляете константы типа: Anna = 2952434; НО Anna это ведь идентификатор . Если уж пошли по этому порочному пути, то дальше делайте так
If (x = 'Anna') then writeln (Anna);
А вообще, вам уже предложили нормальные варианты. Наиболее приемлемый, это использование записи, а не кучи массивов и, плюс, использование динамических структур. В этом случае вы не будете ограничены размером массива, заданным при компиляции. Все данные должны храниться во внешнем файле и при загрузке программы считываться в память. При завершении работы они должны записываться на диск в том случае, если были модифицированы.
И, действительно, это вполне себе серьезный проект.
Удачи!
Естественно, не будет нравиться! Вы объявляете константы типа: Anna = 2952434; НО Anna это ведь идентификатор . Если уж пошли по этому порочному пути, то дальше делайте так
If (x = 'Anna') then writeln (Anna);
А вообще, вам уже предложили нормальные варианты. Наиболее приемлемый, это использование записи, а не кучи массивов и, плюс, использование динамических структур. В этом случае вы не будете ограничены размером массива, заданным при компиляции. Все данные должны храниться во внешнем файле и при загрузке программы считываться в память. При завершении работы они должны записываться на диск в том случае, если были модифицированы.
И, действительно, это вполне себе серьезный проект.
Удачи!
Тут все зависит от сложности!
Ибо это не ЗАДАЧКА а целый ПРОЕКТ.
Вот что самое простое могу предложить:
VAR
numb:array[1..100] of integer;
fam:array[1..100] of string;
name:array[1..100] of string;
n,p,b,j:integer;
z:string;
BEGIN
n:=0;
repeat
writeln('Вас приветсьвует телефонный справочник');
writeln('Всего номеров: ',n);
writeln('Что вы хотите сделать? ');
writeln('0 - выход');
writeln('1 - добавить абонента');
writeln('2 - искать по номеру');
writeln('3 - искать по фамилии');
read(p);
case p of
0:break;
1:begin
n:=n+1;
writeln('введите фамилию: ');
readln(fam[n]);
writeln('введите имя: ');
readln(name[n]);
writeln('введите номер: ');
readln(numb[n]);
writeln('спасибо! информация добавлена');
end;
2:begin
n:=n+1;
writeln('введите номер: ');
readln(b);
for j:=1 to n do if numb[j]=b then writeln('НАЙДЕНО: ', fam[j],' ',name[j]);
end;
3:begin
n:=n+1;
writeln('введите фамилию: ');
readln(z);
for j:=1 to n do if fam[j]=z then writeln('НАЙДЕНО: ', numb[j]);
end;
end;
until false;
END.
Ибо это не ЗАДАЧКА а целый ПРОЕКТ.
Вот что самое простое могу предложить:
VAR
numb:array[1..100] of integer;
fam:array[1..100] of string;
name:array[1..100] of string;
n,p,b,j:integer;
z:string;
BEGIN
n:=0;
repeat
writeln('Вас приветсьвует телефонный справочник');
writeln('Всего номеров: ',n);
writeln('Что вы хотите сделать? ');
writeln('0 - выход');
writeln('1 - добавить абонента');
writeln('2 - искать по номеру');
writeln('3 - искать по фамилии');
read(p);
case p of
0:break;
1:begin
n:=n+1;
writeln('введите фамилию: ');
readln(fam[n]);
writeln('введите имя: ');
readln(name[n]);
writeln('введите номер: ');
readln(numb[n]);
writeln('спасибо! информация добавлена');
end;
2:begin
n:=n+1;
writeln('введите номер: ');
readln(b);
for j:=1 to n do if numb[j]=b then writeln('НАЙДЕНО: ', fam[j],' ',name[j]);
end;
3:begin
n:=n+1;
writeln('введите фамилию: ');
readln(z);
for j:=1 to n do if fam[j]=z then writeln('НАЙДЕНО: ', numb[j]);
end;
end;
until false;
END.
За тебя решать не буду (орфографию забыл, да и... лень (:), но подскажу: ты изначально выбрал не очень удачный путь решения.. . Попробуй использовать тип "запись". Это что-то навроде массива. Гораздо проще!
ну вот смотри: If (x=Anna) then writeln ('2952434'); почему ты цифры берешь в кавычки, а имена-нет?
а так в принципе правильно
а так в принципе правильно
собсна где код? или конкретнее вопрос пиши
Переменные типа String;
Код выглядит примерно так:
if 'Имя' then Writeln "Телефон"
Точно не помню, но принцип такой.. .
Кстати, дополни вопрос кодом программы
Код выглядит примерно так:
if 'Имя' then Writeln "Телефон"
Точно не помню, но принцип такой.. .
Кстати, дополни вопрос кодом программы
Похожие вопросы
- Помогите разобраться с фокусом на Паскале. В чем секрет?
- Turbo Pascal помогите пожалуйста. помогите пожалуйста с написание программы для вычисления 1-й и 2-й производной функции
- Помогите найти ошибку в программе Паскаль!
- Помогите найти ошибку в программе (паскаль)
- Помогите пожалуйста с написанием программы на С
- Пожалусто помогите разобраться в тексте программы С++
- помогите с написанием программ на паскале
- помогите разобраться в программе (Паскаль)
- Pycharm (Пожалуйста, помогите с написанием программы)
- Кто хорошо знает программу ПАСКАЛЬ??плиз помогите)