[Pascal] Petla REPEAT

0

Witam mam takie pytanie chcę, aby mój program kończył się tzn pętla, aby się kończyła bo jak robię tak o to nie działa

REPEAT
writeln('* - Konczy Program');
write('Podaj Imie, Nazwisko, Adres: ');
read(str[a]);
until str[a] = '*' ;
0

REPEAT
writeln('* - Konczy Program');
write('Podaj Imie, Nazwisko, Adres: ');
read(str[a]);
until str[a] = '*' ;

Co to 'str', co to 'a' ?

0

A jakiego typu są zmienne Str oraz A? Bo jeżeli jest to tablica i zmienna
określająca jej indeks to wydaje mi się, że kod powinien się skompilować.
Poza tym mam dejavu, bo już dzisiaj było takie pytanie i padly odpowiedzi,
ale nie wiem gdzie teraz są, bo wyszukiwarka nie pozwala znaleźć autorów.

0

str tablica string
a to zmienna typu int

0

Program się kompiluje, ale nie działa jak należy

Wpisuje np Jan Kowalski daje * i nic się nie dzieje dopiero pętla się obraca i znowu pyta o Imie podaje * i się kończy

Ja bym chciał, aby można było wpisać Imie Nazwisko dać enter i dopiero *

0

Tak powinno być ok - sprawdzone pod TP 7.0:

program test;

var
  A : integer;
  Str : array[1..1] of string;
begin
  A := Low(Str);
  repeat
    Writeln('* - Konczy Program');
    Write('Podaj Imie, Nazwisko, Adres: ');
    Readln(Str[A]);
  until Str[A] = '*';
end.
0

@olesio:
Ale i tak nie działa poprawnie, shi*, aż razi mnie w oczy.
Poczekaj, poprawię:

writeln('* - Konczy Program');
write('Podaj Imie, nazwisko, adres: ');
REPEAT
read(str[a]);
Inc(A); //a := a+1;
until str[a] = '*' ;

Ale i tak jest bezsensu, wg.mnie oczywiście...

0

Ale jest to samo przecież ... Chodzi mi to, że Piszę imie nazwisko Jan Kowalski i chce dac enter zeby mozna bylo wpisac * do zakonczenia programu ...

0

A jak zrobić wektor stringow 20 znakow i 10 elementow ?

0

Przez wektor masz na myśli tablicę? Bo jeśli tak, to po
słowie kluczowym array dajesz: [1..10] of string[20];

0

uses crt;

var
a       :integer;
str     :array[1..10] of string[20];

begin
clrscr;

a:=Low(str);
writeln(' * - Konczy program ');
writeln('Podaj Imie Nazwisko Adres: ');
REPEAT
read(str[a]);

until str[a] = '*';


readkey;
end.

i nie działa kończenie *

0

Znalazłem:
[TurboPascal] Until Goto

0

Napisane :)

Ostatnie pytanie jak w Pascalu przepisac dane z wek np typu integer do innego wektora typu real.

0

Googluj trochę i kombinuj sam, a nie cały program piszemy za Ciebie.
Zaraz będą kolejne pytania. Ech. Chodzi Tobie o coś takiego jak tutaj?

program ucz_sie_podstaw;

var
  RArr : array[1..1] of Real;
  IArr : array[1..1] of integer;

begin
  IArr[1] := 666;
  RArr[1] := IArr[1];
  Writeln(RArr[1]:0:2);
  Readln;
end.

A sposób z gwiazdką kończącą wpisywanie podałem już Tobie, ale Ty i
tak robisz uparcie po swojemu to rób tak dalej, a nie będzie działać, a
poza tym ze zrzutu ekranowego wynika, że Ty chyba chcesz sprawdzić
czy ta gwiazdka jest na końcu wpisywanego tekstu, jeżeli tak to trzeba
sprawdzić czay ostatni znak jest tą gwiazdką: Tekst[Length(Tekst)] ...

0

poplacz sie sam juz dawno napisalem, ten wielce o 9 rano odpisal jeszcze nie to co chcialem ...

0

hahahha: to pisz dokładniej o co Tobie chodzi, a nie ciągle jakieś banały albo nazewnictwo
typu wektory. Nie podoba się? To nie pytaj, nie czytaj i nie pisz bzdetów. I radź sobie sam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1