Read в программе не работает
Помощь в написании контрольных, курсовых и дипломных работ здесь.
WaveStream, не работает Read
Считываю mp3 файл, и перегоняю его в WaveStream(NAudio) с изменением формата. Дале пытаюсь.
f = open(‘C:\Games\print.txt’,’r’) print (*f) x = f.read() print(x) f =.
Не работает NetworkStream.Read()
Привет, есть проблема, при получении данных через NetworkStream, ничего не происходит, будто ему.
System.in.read как работает?
Мне дали задания заполнить массив вводом с консоли. И я нашёл такую штуку, как System.in.read(). И.
Решение
INSERT в while (reader.Read() не работает
Господа, инсёрт в WHILE не рабоатет. В чем дело? в таблице tttt уже есть запись 1 1 no хочу.
Есть такой кусочек кода : #include #include #include .
Пример Read Text Files Into a Recordset не работает
НАшел примерчик один в Инете: http://www.freevbcode.com/ShowCode.asp?ID=2180 сделал, как там.
Парсинг на JSOUP APACHE, не работает read и getInputStream
Начинаю писать парс под андроид для динамического сайта. Использую JSOUP и APACHE, проблема состоит.
A disc read error occurred. На другом компьютере диск работает
У меня та же проблема. В один момент экран стал черным и перестала запускаться Windows7. Попытался.
Добрый день. Я что то совсем запутался, одна и та же функция в одной программе работает, а в.
Источник
Не читается readln в паскаль
Есть не законченый код для решения квадратного уравнения. Столкнулся с проблемой, если присвоить переменной тип string то readln(переменная) не будет читаться, если заменить на real, тоесть на число, то все работает, дело в том что мне нужно именно буквенное выражение. Что делать?
program n_zigota;
const
awnser_1_1 = 1;
awnser_1_2 = 2;
awnser_1_3 = 3;
awnser_1_4 = 4;
var
a,b,c:real;
users_awnser_1:real;
users_awnser_2:string;
writeln(‘Все ответы писать цифрами!’);
writeln(‘ ‘);
writeln(‘Выберите квадратноe уравнениe: ‘);
writeln(‘ ‘);
writeln(‘1) ax^2+bx+c=0’);
writeln(‘2) ax^2-bx+c=0’);
writeln(‘3) ax^2+bx-c=0’);
writeln(‘4) ax^2-bx-c=0’);
writeln(‘ ‘);
write(‘Квадратное уравнение: ‘);
read(users_awnser_1);
writeln(‘ ‘);
if users_awnser_1 = awnser_1_1 then begin
write(‘Запишите переменную a: ‘);
read(a);
write(‘Запишите переменную b: ‘);
read(b);
write(‘Запишите переменную c: ‘);
read(c);
writeln(‘ ‘);
writeln(‘Ваше уравнение: ‘,a,’x^2+’,b,’x+’,c,’=0′);
writeln(‘Верно?’);
readln(users_awnser_2);
end
если ошибок нет, может пролетать .. если ошибки есть — пиши о них.
и да, в моем паскале все норм
Замените все свои Read() на ReadLn() и будет вам счастье.
Фишка в том, что процедура Read() оставляет в буфере клавиатуры смвол перевода строки, который при чтении в строковую переменную и приводит к такому эффекту.
Процедура же ReadLn() очищает буфер клавиатуры полностью. Для проверки достаточно заменить Read(c) на ReadLn(c) и программа остановится в ожидании второго ответа юзера.
Источник
pascal не выполняет команду read(h);
if h=’+’ then begin read(b); c:=a+b; write(‘=’,c:10:4); readln; end;
if h=’-‘ then begin read(b); c:=a-b; write(‘=’,c:10:4); readln; end;
if h=’*’ then begin read(b); c:=a*b; write(‘=’,c:10:4); readln; end;
if h=’/’ then begin read(b); c:=a/b; write(‘=’,c:10:4); readln; end;
writeln(»);
writeln (a:5:4,’ ‘,h,’ ‘,b:5:4,’ = ‘,c:5:4);
writeln(»);
writeln(‘______________________’);
writeln(»);>
<ума не приложу!
почему read(h); не выполняет?
а вот если readln; перед и после поставить, то выполняет.
из-за этого оформление примера сильно падает,
(риходится отдельно выписывать. )>
Хм, забавный пример. Никогда на это не обращал внимание.
Чтобы работало как задумано просто замени read(a) и read(h) на readln(a) и readln(h), и всё будет работать.
А прикол, если объяснять на пальцах, вот в чем:
Дело в том, что когда ты вводишь с клавиатуры строку и нажимаешь Enter, то передается не только непосредственно введенная строка, но и сам Enter т. е. спецсимвол с кодом 13, который обозначает снос каретки и не отображается на экране. Так вот, read как бы передает этот самый «лишний» спецсимвол в следующую команду read или readln. А вот readln на этом символе просто останавливается (игнорирует).. . Приведу поясняющий пример:
Допустим при запуске программы на строке read(a) ввели число 1 и нажали Enter. В этом случае считывается не только 1 но и нажатый Enter. Так вот, так как тип char вмещает в себя только 1 символ, то в переменную a передается первый символ строки т. е. единица, а «невлезающий» в нее Enter посылается в следующую команду read т. е. на строку read(b); и соответственно присваивается переменной b. Поэтому и не будет запроса на ввод b. Если бы мы ввели 12 и нажали Enter, то 1 пошло бы в a, 2 пошло бы в b, а Enter пошел бы в последний readln; и поэтому программа сразу бы завершилась ничего не выводя экран. С типом real то же самое с той лишь разницей, что в него считвается сразу всё введенное число, а не только первый символ, а Enter посылается дальше.. .
В общем, для считывания переменных лучше использовать readln, а не read 🙂 С ним таких заморочек нет.
Источник
Почему программа пропускает readln?
Программа — генератор инпута для задач С4 ЕГЭ. В целом программа должна работать, но почему-то pascal abc.net упорно пропускает readln(ans2); (строка 25)! Ну просто отказывается видеть эту команду и всё! В чем может быть косяк?
Добавлено через 52 минуты
Баг обыкновенный, как выяснилось. Переставил строку в другое место и заработало.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
почему программа пропускает часть кода
не могу разобраться прогоняю программу по строкам а она пропускает часть кода а именно со строки .
Здравствуйте, уважаемые форумчане! Я новичок и в С++ и на этом форуме, так что прошу сильно не.
Почему нужно 2 раза писать readln? Читайте комментарий. Спасибо. end; var c:chelovek; begin.
Такая же проблема
Добавлено через 6 минут
Нашёл решение!
Надо использовать readln(); вместо read();
Источник
Паскаль.Задачка к ЕГЭ С4. Глюк read?
1Сники все знают. Помогите коллеги.Сын готовится к ЕГЭ.
Уже не в первый раз сталкиваемся с «глюками» паскаля. Уже разные сборки качали- не помогает.Сейчас установил последнюю PASCALABC.NET сборка 970.Виндовс 8 64. Может какие особенности есть? Ведь все же сдают и большинство на паскале.
При первом вводе строки I=1 все ОК. Сразу дает ввести read().
При втором в отладчике проскакивает read() меняет f=1 и программа работает некорректно.
Если Read поменять ReadLN то вообще бесконечный цикл- хотя по сути они идентичны.
Ну и текст если у кого паскаль под рукой:
const
N1 = 10;
var
b: array[1..N1] of string;
s, ini, name, otch: string;
ch: char;
N, i, j, k: integer;
f: byte;
begin
k := 0;
readln(s);
readln(N);
for i := 1 to N do
begin
for j := 1 to 2 do
begin
f := 0;
repeat
read(ch);
if f = 0 then ini := ini + ch;
f := 1;
name := name + ch;
until ch = ‘ ‘;
end;
read(otch);
ini := ini + copy(otch, 1, 1);
name := name + otch;
if ini = s then begin k := k + 1;b[k] := name; end;
ini := »;
name := »;
end;
for i := 1 to k do
begin
WRITE(B[K]);
end;
end.
(7) да уж насоветовал, там вообще то посимвольно читают char
Если у тебя будет цикл с read, и ты введешь «А» и нажмёшь ентер, а потом введёшь «Б» и нажмёшь ентер, то в цикле у тебя обработаются
А
Ентер
Б
Ентер
(7) (14) Ха-ха
>Если Read поменять ReadLN то вообще бесконечный цикл- хотя по сути они идентичны.
(21) никакой шутки, можно для интереса поинтересоваться у разрабов
тогда было очень много программистов знавших паскаль/дельфи которые и писали учетные программы
вот их и заюзали в качестве целевой, а уж чем там переводили это хз
>Учи дитеныша сразу нормально именовать переменные.
да ладно. в паскеле всегда так и было
и-тое и джи-тое в циклах
(22)какой?
т.е. в паскале важно переменные вначале объявлять?
короче если везде readln писать то бесконечный цикл. работает если везде readln и один раз read(ch)
(37) Буратине дали 5 яблок. 3 яблока он съел.
Вопрос: Сколько яблок осталось у Буратино?
Думаете 2?
А вот фик вам!
Неизвестно, сколько яблок было у Буратино ДО того, как ему дали 5 яблок.
Мораль: обнуляйте переменные!
©
Ну вот как то так правильно надо решать эту задачу
type
PPeople = ^TPeople;
TPeople = record
FIO: String[250];
SmallFIO: string[3];
end;
var
count: integer;
i, j: integer;
CurrentPeople: PPeople;
Peoples: array of PPeople;
tmpvalue: string;
inputvalue: string;
CountOfSpace: integer;
procedure BeforeExit();
begin
for i := 0 to length(Peoples) — 1 do
begin
FreeMem(Peoples[i]);
end;
setlength(Peoples, 0);
end;
begin
write(‘Введите число людей ‘);
readln(count);
for i := 0 to count — 1 do
begin
while True do
begin
Write(‘Введите ФИО ‘ + IntToStr(i + 1) + ‘ человека ‘);
readln(inputvalue);
CountOfSpace := 0;
for j := 1 to length(inputvalue) do
begin
if (copy(inputvalue, j, 1) = ‘ ‘) and (j 2 then
begin
Write(‘ФИО человека не соответствует формату. Попробуем еще раз (y/n)’);
readln(tmpvalue);
if tmpvalue = ‘y’ then
Continue
else
begin
BeforeExit();
exit;
end;
end;
break;
end;
GetMem(CurrentPeople, sizeof(TPeople));
CurrentPeople^.FIO := inputvalue;
CurrentPeople^.SmallFIO := copy(inputvalue, 1, 1);
for j := 1 to length(inputvalue) do
begin
if copy(inputvalue, j, 1) = ‘ ‘ then
CurrentPeople^.SmallFIO := CurrentPeople^.SmallFIO +
copy(inputvalue, j + 1, 1);
end;
setlength(Peoples, length(Peoples) + 1);
Peoples[length(Peoples) — 1] := CurrentPeople;
end;
while True do
begin
write(‘Введите искомые инициалы ‘);
inputvalue := »;
while True do
begin
readln(inputvalue);
if length(inputvalue) <> 3 then
begin
Write(‘Инициалы человека не соответствует формату. Попробуем еще раз (y/n)’);
tmpvalue := »;
readln(tmpvalue);
if tmpvalue = ‘y’ then
Continue
else
begin
BeforeExit();
exit;
end;
end;
break;
end;
for i := 0 to count — 1 do
begin
CurrentPeople := Peoples[i];
if CurrentPeople^.SmallFIO = inputvalue then
writeln(CurrentPeople^.FIO + ‘ есть в нашей базе’);
end;
Write(‘Продолжим поиск (y/n)’);
readln(tmpvalue);
if tmpvalue = ‘y’ then
Continue
else
begin
BeforeExit();
exit;
end;
end;
(48) но самое главное а нафига так много? кода?
когда реально для (0) один цикл и все, ну если нескольких по инициалам искать то 2 цикла вложенных
(48) (49) вот так надо учить программированию
контроль входящих данных, независимость от размерности массивов, оптимизация (массив указателей, а не записей)
никакой объектности тут нет.
(50) ага так препод и поверил что ученик/студент «защиту от дурака» догадался сам сделать и т.д.
ЗЫ
program people;
uses sysutils;
var
fioCur,initials, initialsCur:string;
fioCount, fioNum, posImya, posOtchestvo:integer;
fio: array[1..100] of string;
begin
write(‘Vvedite kol-vo FIO (chislo): ‘);
readln(fioCount);
for fioNum:=1 to fioCount do begin
write(‘Vvedite (cherez probel) FIO ‘+IntToStr(fioNum)+’: ‘);
readln(fio[fioNum]);
end;
write(‘Vvedite initialy dlya poiska (bez probela): ‘);
readln(initials);
for fioNum:=1 to fioCount do begin
initialsCur := »;
fioCur := fio[fioNum];
initialsCur := initialsCur + Copy(fioCur,1,1);
posImya := Pos(‘ ‘, fioCur);
Delete(fioCur, 1, posImya);
initialsCur := initialsCur + Copy(fioCur,1,1);
posOtchestvo := Pos(‘ ‘, fioCur);
Delete(fioCur, 1, posOtchestvo);
initialsCur := initialsCur + Copy(fioCur,1,1);
if initialsCur=initials then writeln(‘Nashli: ‘+fio[fioNum]);
end;
Источник