TwojePC.pl © 2001 - 2025
|
 |
A R C H I W A L N A W I A D O M O Ś Ć |
 |
|
|
[Pascal] Duże,małe litery...upcase .. , Adamusss 18/12/04 19:41 ..witam.. ..mam nastepujacy problem z programem w pascalu ..robie tablice a[1..240] , kazda pojedyncza tabliczka ma przypisana okreslona wartosc np a[1]:='Warszawa'; a[2]:='Polska'; itd.. , program po wpisaniu "Polska" wyswietla mi napis "Stolica tego państwa jest Warszawa" ... moj problem polega na tym ze chcialbym zeby po wpisaniu z MALEJ literki "polska" program wyswietlil ten sam komunikat co przy wpisywaniu z duzej...... wiem ze nalezy uzyc komendy UPCASE ale nie wiem jak ja zastosowac w tym konkretnym przypadku..
..troszke zamotalem ale sens chyba zostal zachowany ;)
..z gory dzieki za pomoc :) ..- jakie środowisko?? , Chrisu 18/12/04 19:49
bo jak borland np tp7 to polecam kombinację klawiszy CTRL+F1 po najechaniu na interesującą Cię rzecz /// GG# 1 110 10 10 11 100 10 \\\ - muszisz , Birdman 18/12/04 19:53
wyswietlac te stringi po literze i do pierwszej litery w stringu zastosowac ta funckjeping? - huff, od jakichś 5 lat nie bawiłem się w Pascalu , Morgoth 18/12/04 20:12
to szło jakoś tak:
var costam:char;
const jakas_nazwa='wroclaw';
begin
costam:=upcase(jakas_nazwa[1]);
end.
Powinieneś wtedy dostać wynik w postaci "Wroclaw". Sęk w tym, że UpCase nie rozpoznaje polskich litecz, czyli UpCase('ć') nie sprawi, że 'ć' zostanie zamienione na 'Ć' - pozostanie 'ć'. - jeah.. dzieki ! :) .. , Adamusss 18/12/04 22:05
.. zrobilem cos takiego (dzieki Waszym radom) :
var y,x:string;
begin
y:='wroclaw';
x:=upcase(y[1]);
write(x,y[2],y[3],y[4]..);
end.
..banalny programik ale mi jako poczatkujacemu "paskalowiecowi" sprawil problem ;P
..wrzuce to w jakas pentelke, dodam length (zebym nie musial wpisywac do kazdego y[2],y[3] itd...) i bedzie git :D
Morgoth - Twoj program nie bardzo chce dzialac,ale dzieki niemu pojalem jak to ma wygladac :D
Birdman - dzieki Tobie pojalem jedna rzecz ktorej wczesniej ni kumalem ;) a moze wydawalo mi sie ze nie kumam ;p kum kum.. ;)
Chrisu - a dzieki Tobie nauczylem sie korzystac z pomocy w pascalu :D
i dziekuje wszystkim ktorzy wspierali mnie mentalnie :D dziekuje dziekuje <tlum_szaleje> ;P- kurde...znowu potrzebuje pomocy.. , Adamusss 18/12/04 22:59
..nie potrafie sobie poradzic z ta petelka...jak ja poprawic zebym nie musial recznie wprowadzac tych y[2],y[3],y[4] ... ? (tyle tych y[*] ile wyraz ma liter)
napewno cos z length i petla for .... pomozcie bracia boardowi...ja juz wymiekam..- szkoda ze , Birdman 18/12/04 23:40
to nie c++ bo pascala to ja juz nie pamietam; mozesz wrzucic to wpetle z ktorej warunkiem wyjscia bedzie to ze odczytany ze stringa zanka bedzie koncem stringa (0);
albo najpierw sprawdzic dlugosc stringa i zaindeksowac petle ta wartoscia -1 (no bo pierwszy znak zminiasz na duzy);ping?
- pętle są zbędne , calina 18/12/04 23:55
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,system;
var pom,y:string[25];
begin
{ TODO -oUser -cConsole Main : Insert code here }
y:='polska';
pom:=upcase(y[1]);
delete(y,1,1);
insert(pom,y,1);
writeln(y);
readln;
end.Głupota nie zwalnia od myślenia... - o o ooo! :) dziekuje :) , Adamusss 19/12/04 00:23
.. dziala tak jak powinno :)
..jeszcze raz dzieki wszystkim za pomoc :)- Można prościej :-) , JOTEM 19/12/04 00:44
Już od wieków w czystym pascalu nie pisalem, ale wydaje mi się, że wystarczy prościej, bez kombinowania.
Zakładajac var y:string;
kod zamieniający pierwszą literę wyrazu na dużą:
y[1]:=upcase(y[1]);
z zabezpieczeniem przed pustym ciągiem
if length(y)>0 then y[1]:=upcase(y[1]);
lub nawet: if y[0]>0 then y[1]:=upcase(y[1]); //tylko w TP
Zamieniający cały ciąg znaków (odpowiednik uppercase w delphi)
for i:=1 to length(y) do y[i]:=upcase(y[i]);
PozdrawiamPoryjemy..zrobaczymy - dzieki :) .. , Adamusss 19/12/04 00:59
.. nie wiem czemu ale Twoj program zamienia cale wyrazenie string na duze literki, nie chce mi sie juz myslec ;P ..zrobilem cus takiego:
var x:string; a:array[1..5] of string; k:integer;
begin
clrscr;
a[1]:='polska';
a[2]:='oko';
a[3]:='goko';
a[4]:='aoko';
a[5]:='zoko';
k:=0;
repeat
k:=k+1;
x:=upcase(a[k][1]);
delete(a[k],1,1);
insert(x,a[k],1);
until k:=5;
writeln(a[1],',',a[2],',',a[3],',',a[4],',',a[5]);
readkey;
end.
pozdrawiam :)- Jak zastosowałeś ten ostatni, to tak właśnie miał działać , JOTEM 19/12/04 01:27
Zamień przynajmniej:
x:=upcase(a[k][1]);
delete(a[k],1,1);
insert(x,a[k],1);
na:
a[k][1]:=upcase(a[k][1]);
bo jak widzę te trzy linijki, to mam ochotę wymiotować.
I nie mów, że nie działa, bo poświęciłem 2 minuty i przekompilowałem w starym TP7.
Jakby to był program zaliczeniowy, to bym za nie o ocenę obniżył ;-)
P.S. A ludzie się potem dziwią, że programy w pascalu wolno działają.Poryjemy..zrobaczymy - to sie nazywa.. , Adamusss 19/12/04 01:39
..bezinteresowna (? ;)) pomoc :) wielkie dzieki JOTEM :)
pozdrawiam..
|
|
|
|
 |
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL |
 |
|
|
|