[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];

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