Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [pascal]ricerca i nomi che cominciano con una lettera

    ho un problema in pascal non so come visualizza da un elenco di nomi solo i nomi che cominciano con la c.
    i nomi sono memorizzati in un file .dat

  2. #2
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    codice:
    program quello_che_vuoi;
    uses crt;
    const n=10;
    type generico = record
                    appoggio:string[30];
                    end;
    
         classe=array[1..n] of generico;
    
    var i:integer;
        conf:text;      {file di testo}
        c:classe;
        carattere:char;
        stringa:string;
        trovato:boolean;
    
    Begin
    clrscr;
    Write('quale carattere vuoi cercare nel file? ');
    readln(carattere);
    {$I-}
    ASSIGN(conf,'c:\nome_file.txt');{gli puoi mettere qualsiasi estensione!}
    RESET (conf);
    i:=1;
    while (not(eof(conf))) do 
                           begin
                           ReadLn(conf,c[i].appoggio);
                           i:=i+1;
                           end;
    CLOSE (conf);
    {$I+}
    {per vedere se la riga "i" del file inizia con una lettera che vuoi tu
     basta mettere riga per riga in una stringa e verificare}
    trovato:=false;
    for i:=1 to 100 do
    	      Begin
    	      stringa:=c[i].appoggio;
                  if stringa[1]=carattere then
                                          begin
                                          write('trovato "',carattere,'" alla riga ',i);
                                          trovato:=true;
                                          end;
                  end;
    if trovato=false then write('non trovato');
    readln;
    End.
    Se ti serve qualche chiarimento sono qui.

  3. #3
    program persona;
    uses crt;
    CONST
    lunghezmax=30;
    Type
    persona =RECORD
    Nome:String[10];
    Cognome:String[10];
    data:string[10];
    Sesso:Char;
    END;
    Var
    Anagrafe:file of persona;
    Indfile:string;
    persona1ersona;
    clrscr;
    reset (anagrafe);
    Writeln ('Nominativi Trovati');
    while not (eof(anagrafe)) do
    begin
    read (anagrafe, persona1);

    Qui devo inserire la condizione se il cognome inizia con la 'c' e di sesso 'm' visulizzalo sullo schermo come devo scrivere questa condizione

    If (persona1.sesso = 'm') and ???????? then
    writeln (persona1.Cognome, ' ', persona1.nome, ' ', persona1.sesso);
    i:=i+1;
    end;
    readln;
    end.

  4. #4
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    Quando inserisci codice nel forum lo devi racchiudere tra [CODE*] il tuo codice e [/CODE*] senza asterischi
    codice:
    program quello_che_vuoi;
    uses crt;
    const n=10;
    type generico = record
                    appoggio:string[30];
                    end;
    
         classe=array[1..n] of generico;
    
    var i:integer;
        conf:text;      {file di testo}
        c:classe;
        carattere:char;
        stringa:string;
        trovato:boolean;
    
    Begin
    clrscr;
    Write('quale carattere vuoi cercare nel file? ');
    readln(carattere);
    {$I-}
    ASSIGN(conf,'c:\nome_file.txt');{gli puoi mettere qualsiasi estensione!}
    RESET (conf);
    i:=1;
    while (not(eof(conf))) do 
                           begin
                           ReadLn(conf,c[i].appoggio);
                           i:=i+1;
                           end;
    CLOSE (conf);
    {$I+}
    {per vedere se la riga "i" del file inizia con una lettera che vuoi tu
     basta mettere riga per riga in una stringa e verificare}
    trovato:=false;
    for i:=1 to 100 do
    	      Begin
    	      stringa:=c[i].appoggio;
                  if (stringa[1]=carattere) AND (stringa[1]='M') then
                                          begin
                                          write('trovato "',carattere,'" alla riga ',i);
                                          trovato:=true;
                                          end;
                  end;
    if trovato=false then write('non trovato');
    readln;
    End.

  5. #5
    Grazie mille

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.