Programma linguaggio C

Messaggioda gaetano0 » 18/09/2017, 15:52

salve a tutti,vorrei leggere una serie di stringhe da un file di testo,appena in questo file di testo viene trovata una parola scelta da me ( es viene trovata la parola "casa") il programma legge tale parola e poi arresta il ciclo di lettura.
il dubbio è: come faccio a dire al programma che quando legge questa parola arresta il ciclo di lettura?
gaetano0
Junior Member
Junior Member
 
Messaggio: 39 di 122
Iscritto il: 07/01/2017, 20:00

Re: Programma linguaggio C

Messaggioda Raptorista » 19/09/2017, 08:13

Innanzitutto devi insegnare al programma a leggere una parola per volta.
Successivamente, devi esprimere il concetto di ripetere quella azione finché non succede una certa cosa.
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4570 di 9616
Iscritto il: 28/09/2008, 19:58

Re: Programma linguaggio C

Messaggioda gaetano0 » 19/09/2017, 11:40

Raptorista ha scritto:Innanzitutto devi insegnare al programma a leggere una parola per volta.
Successivamente, devi esprimere il concetto di ripetere quella azione finché non succede una certa cosa.

il problema è che leggendo da un file di testo leggo solo le righe e quindi non riesco a leggere parola per volta...c'è un altro metodo ?
gaetano0
Junior Member
Junior Member
 
Messaggio: 40 di 122
Iscritto il: 07/01/2017, 20:00

Re: Programma linguaggio C

Messaggioda Raptorista » 19/09/2017, 11:48

Sì che ci riesci, solo che non c'è una funzione prefabbricata che lo fa: un po' di inventiva!
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4575 di 9616
Iscritto il: 28/09/2008, 19:58

Re: Programma linguaggio C

Messaggioda apatriarca » 19/09/2017, 12:31

Tecnicamente fscanf permette di leggere una parola per volta..
apatriarca
Moderatore
Moderatore
 
Messaggio: 4813 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Programma linguaggio C

Messaggioda gaetano0 » 20/09/2017, 00:11

Raptorista ha scritto:Innanzitutto devi insegnare al programma a leggere una parola per volta.
Successivamente, devi esprimere il concetto di ripetere quella azione finché non succede una certa cosa.

aiutino?sto impazzendo letteralmente :roll: :roll:
gaetano0
Junior Member
Junior Member
 
Messaggio: 41 di 122
Iscritto il: 07/01/2017, 20:00

Re: Programma linguaggio C

Messaggioda Raptorista » 20/09/2017, 09:59

Comincia ad aiutarti da solo: mostra qualche pezzo di codice scritto da te.
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4577 di 9616
Iscritto il: 28/09/2008, 19:58

Re: Programma linguaggio C

Messaggioda gaetano0 » 20/09/2017, 16:15

Raptorista ha scritto:Comincia ad aiutarti da solo: mostra qualche pezzo di codice scritto da te.

più di ciò non riesco...ho preso un file di testo in cui ci sono 3 parole:
stupido
ciao
uffa

Codice:
#include <stdio.h>
#include <string.h>
#define MAX 81
/* ricerca di parole in un file di testo */



int main() {
FILE *f1;
  char P[MAX], S[MAX];
  int cont=0;
  int cont2=0;
  char s2[MAX];
  int i ;
  f1=fopen("F1.txt", "r");
  if (f1==NULL){
       printf("Errore apertura del file!\n");
       
  }
 
  printf("\nParola da cercare ? ");
  scanf("%s", P);   // in P ho la parola che cerco // p=ciao
  fscanf(f1, "%s", S); // in S ho la prima parola del file // s=stupido
for (i=0; S[i]!='\0'; i++)
s2[i] = S[i];
s2[i] = '\0';
  while (!feof(f1)) 
  {
   if (strcmp(S,P)==0){
     printf("\nHo trovato %s!\n", P);
       cont++;       
   }
   if(cont==1&&cont2==0){
   printf("%s\n",P);
   break;
} else
cont2++;
   printf("%s\n",S);
   printf("%s\n",P);
   break;
   
   }

fclose(f1);
}







gaetano0
Junior Member
Junior Member
 
Messaggio: 42 di 122
Iscritto il: 07/01/2017, 20:00

Re: Programma linguaggio C

Messaggioda gaetano0 » 21/09/2017, 15:18

Raptorista ha scritto:Comincia ad aiutarti da solo: mostra qualche pezzo di codice scritto da te.

ho risolto da solo finalmente...grazie lo stesso
gaetano0
Junior Member
Junior Member
 
Messaggio: 43 di 122
Iscritto il: 07/01/2017, 20:00

Re: Programma linguaggio C

Messaggioda Raptorista » 21/09/2017, 18:16

Ottimo! Sono sicuro che hai imparato di più così che copiaincollando la soluzione di qualcun altro :)
Un matematico ha scritto:... come mia nonna che vuole da anni il sistema per vincere al lotto e crede che io, in quanto matematico, sia fallito perché non glielo trovo


Immagine
Avatar utente
Raptorista
Moderatore
Moderatore
 
Messaggio: 4583 di 9616
Iscritto il: 28/09/2008, 19:58


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite