Да видим кой как програмира (pascal)
Модератор: Общи модератори
33 мнения
• Страница 1 от 3 • 1, 2, 3
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
Да видим кой как програмира (pascal)
Абе пичове правя си една програмка,обаче съм направил да изписва съобщение ако искате еди какво си въведете y,а ако не - n.
отгоре в променливите съм писал :
var n:char
след съобщението(writeln ('еди какво си...');)
съм писал
readln (n)
if (n)='y' then writeln ('еди какво си');
if (n)='n' then writeln ('друго нещо');
но след като въведа променливата нищо не става (става inactive прозореца).
Става дума за паскал под уин (bpw).
отгоре в променливите съм писал :
var n:char
след съобщението(writeln ('еди какво си...');)
съм писал
readln (n)
if (n)='y' then writeln ('еди какво си');
if (n)='n' then writeln ('друго нещо');
но след като въведа променливата нищо не става (става inactive прозореца).
Става дума за паскал под уин (bpw).
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
Не,не бързам.Ама няма нужда да се ровиш за едно дребно нещо.По-добре ще е ако някой програмист види темата,че грешката е малка,а debugger-a е "умен",иначе вярно,че е "приятен" и "модерен" паскала.
Аз до 12ти клас ще уча само Pascal и Delphi(демек най-изостаналите езици).Няма да се учудя ако ни карат и Basic да учим
Аз до 12ти клас ще уча само Pascal и Delphi(демек най-изостаналите езици).Няма да се учудя ако ни карат и Basic да учим

- Feanor
- ентусиаст
-
- Мнения: 1438
- Регистриран на: 18.01.2007
- Пол: Мъж
- Кара: E39 535i '01
- Мечтае да кара: Mки, Ферарита и други глупости :)
Програмистите на паскал не пишем, щото той е за начинаещи.
Иначе:
1. Изкарай променливата на екрана, да видиш какво точно си въвел и защо не зацепват if-овете.
2. Сложи един readln накрая, да не е твърде умно нещото и да прави прозореца inactive като приключи програмата, без да го ъпдейтва.

Иначе:
1. Изкарай променливата на екрана, да видиш какво точно си въвел и защо не зацепват if-овете.
2. Сложи един readln накрая, да не е твърде умно нещото и да прави прозореца inactive като приключи програмата, без да го ъпдейтва.

"Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances"
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
Ето ти сорса направо (не гледай кво пише в writeln):
- Код: Избери целия код
program diskriminanta;
uses wincrt;
var a,b,c:real;
ch:char;
begin;
writeln ('Òàçè ïðîãðàìà ìîæå äà èç÷èñëè Âàøàòà äèñêðèìèíàíòà');
writeln ('Ìîëÿ,âúâåäåòå 1âî ÷èñëî');
read (a);
writeln ('Ìîëÿ,âúâåäåòå âòîðî ÷èñëî');
read (b);
writeln ('Ìîëÿ,âúâåäåòå òðåòî ÷èñëî');
read (c);
writeln ('Âàøàòà äèñêðèìèíàíòà å:',(sqr(b)-4*a*c):6:20);
if (sqr(b)-4*a*c)<0 then
writeln ('Íÿìà ðåàëíè êîðåíè');
if (sqr(b)-4*a*c)=0 then
writeln ('Èñêàòå ëè äà èç÷èñëÿ êîðåíúò íà ó-íèåòî ? (Y çà ÄÀ,N çà ÍÅ)');
if (sqr(b)-4*a*c)>0 then
writeln ('Èñêàòå ëè äà èç÷èñëÿ êîðåíèòå íà ó-íèåòî? (Y çà ÄÀ,N çà ÍÅ)');
readln (ch);
if (ch)='y' then writeln ('edi kakvo si');
if (ch)='n' then writeln ('sgdgr');
end.
- Feanor
- ентусиаст
-
- Мнения: 1438
- Регистриран на: 18.01.2007
- Пол: Мъж
- Кара: E39 535i '01
- Мечтае да кара: Mки, Ферарита и други глупости :)
Тъй де, преди двата if-a в края, турни едно writeln(ch). За да не зацепват, най-вероятната причина е, че ch не е нито 'y', нито 'n'. 

"Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances"
Опа, така, така, програмистите сме на всеки километър 

БМВ е религия чада мои ,споменаването на Марката до марки като фиат и др кокошарници е обидно ! карайте си там недозавиващите балонообразни бавнооборотни автомобилчета чието задвижване е на неправилните колела ,оставете ни нас балъците каращи 8-10 годишни БМВ-та на цената на 3 фиата
I ride across town on my black boomer
‘Cause I’ve got a black boomer, it is always with me
‘Cause I’ve got a black boomer, fast and wild
‘Cause I’ve got a black boomer, such a lively boomer
Take seat, don’t hesitate girl, let’s go for a ride
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
- Feanor
- ентусиаст
-
- Мнения: 1438
- Регистриран на: 18.01.2007
- Пол: Мъж
- Кара: E39 535i '01
- Мечтае да кара: Mки, Ферарита и други глупости :)
Че ще е същата работа е ясно, ама кажи какво принти тоя writeln. 

"Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances"
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
Нищо не принти.Абсолютно същото става.Въвеждам y/n и до там.
Нали writeln преди if-овете и след readln.
Нали writeln преди if-овете и след readln.
- Feanor
- ентусиаст
-
- Мнения: 1438
- Регистриран на: 18.01.2007
- Пол: Мъж
- Кара: E39 535i '01
- Мечтае да кара: Mки, Ферарита и други глупости :)
Мда. Сложи тогава един readln в самия край, след if-овете, за да не излиза, докато не натиснеш Enter пак. И кажи какво става.
"Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances"
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
- Feanor
- ентусиаст
-
- Мнения: 1438
- Регистриран на: 18.01.2007
- Пол: Мъж
- Кара: E39 535i '01
- Мечтае да кара: Mки, Ферарита и други глупости :)
Мммм, хитро... да не би ch да взима стойността на последния символ (т.е. кодът на Enter)? Пробвай да го четеш с read вместо readln или да го направиш string. В краен случай прочети в хелпа какво пише за read/readln, щото аз категорично не си спомням. 

"Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances"
- DanielzZz
- старши ентусиаст
-
- Мнения: 1908
- Регистриран на: 29.12.2005
- Местоположение: Велико Търново
- Пол: Мъж
- Кара: М4
Като е само read става инактив след като се изпише wirteln.
Това което искам да направя е следното:
Ако искате да продължите въведете Y,а ако не въведете N.
Това което искам да направя е следното:
Ако искате да продължите въведете Y,а ако не въведете N.
- Feanor
- ентусиаст
-
- Мнения: 1438
- Регистриран на: 18.01.2007
- Пол: Мъж
- Кара: E39 535i '01
- Мечтае да кара: Mки, Ферарита и други глупости :)
Ясно ми е какво искаш да направиш, но по някаква причина не си взимаш правилно отговора. Намери еквивалента на C-функцията getch() и го използвай него.
"Nothing gives one person so much advantage over another as to remain always cool and unruffled under all circumstances"
33 мнения
• Страница 1 от 3 • 1, 2, 3
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани