Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Aiuto Programmi C

    salve a tutti
    dovrei realizzare due programmi...il primo dati 2 file uno di imput e uno di output analizza il file di imput e scrive sul file di output tutti gli indirizzi e-mail trovati(i quali devono essere privi di caratteri come ',' o ')' )

    il file seguente è questo:


    Partecipanti:
    1. Andrea Rossi, FUll Professor of Computer Science
    phone: +390432 55 5555, fax: +39 0432 55 5555
    e-mail: Rossi@DIES.UNIXX:IT
    2. Mario De Rossi, PhD, Assistant Professor, e-mail: derossi@unixx.com,
    3. Serena Verdi, PhD Student in Computer Engineering
    phone: +39 0432 55 5555, fax: +39 55 5555
    (e-mail: s.verdi@unixx.it),
    4. Tom Gialli, PhD Student in Computer Engineering
    phone: +39 0432 55 5555, fax: +39 55 5555, e-mail: t.gialli@unixx.it

    e questo è il codice che ho realizzato:
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    char Restituisci_Mail(char stringa[])
    {
    int i;
    for(i=strlen(stringa);i>=0;i--)
    	{
    	if((stringa[i]=='M')||(stringa[i]=='m')||(stringa[i]=='T')||(stringa[i]=='t'))
    	stringa[i+1]='\0';
    	}
    return stringa;  //quì mi da errore
    }
    
    int Stampa_Mail(char nome_file_in[20],char nome_file_out[20])
    {
    FILE *fp1;
    FILE *fp2;
    char stringa[20];
    int i=0,j,n=0;
    
    if((fp1=fopen(nome_file_in,"r"))==NULL)
    {
    printf("il file non può essere aperto");
    exit(1);
    }
    else
    fp2=fopen(nome_file_out,"w");
    	while((fscanf(fp1,"%s",stringa))!=EOF)
    	{
    	i=strlen(stringa);
    		for(j=0;j<i;j++)
    		{
    		if(stringa[i]=='@')
    		{
    		fprintf(fp2,"%s",Restituisci_Mail(stringa));  //quì mi da errore
    		n++;
    		}
    	i=0;
    	}
    fclose(fp1);
    fclose(fp2);
    }
    return n;
    }
    
    
    int main(int argc,char *argv[])
    {
    if(argc!=3)
    {
    printf("manca il nome del file");
    exit(1);
    }
    printf("%d",Stampa_Mail(argv[1],argv[2]));
    return 0;
    }
    la mia idea era quella di controllare le singole stringhe alla ricerca di '@' ma il compilatore mi da warning:format argument is not a pointer e return makes integer from pointer without a cast...se qualcuno ha qualche idea grazie mille



    ah specifico che con il primo for intendo controllare quando tagliare la stringa con il '\0' e quindi certo t e m che stanno per .it e .com

  2. #2
    intanto credo che :

    char Restituisci_Mail(char stringa[])

    ritorni un carattere, mentre tu invece vuoi un array di caratteri char[ ] no ?

  3. #3
    esattamente...come posso modificare?

  4. #4
    char[] Restituisci_Mail(char stringa[])

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da kerbero1984
    char[] Restituisci_Mail(char stringa[])
    Io direi

    char *Restituisci_Mail(char stringa[])
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    modificando così però mi dice al momento del printf implicit declaration of function 'Restituisci_Mail'

  7. #7
    manca il prototipo

  8. #8
    per oregon...se uso * non mi da più errori...comunque il programma non funziona nel senso che non fa quello per cui lo ho creato :/ qualche idea?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da amico9120
    qualche idea?
    Fai un po' di debugging ... io non ho controllato se il codice che hai scritto fa quello che dici.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    si sto facendo...ho visto che {while((fscanf(fp1,"%s",stringa))!=EOF)} non legge fino alla fine del file oO ma solo la prima stringa cioè Partecipanti:.....perchè?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.