Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2005, 16:02   #1
SkyNut
Senior Member
 
L'Avatar di SkyNut
 
Iscritto dal: Feb 2003
Città: Tunaland
Messaggi: 509
[C][sono niubbo!] traduttore in C

Ciao! ho un problema con un programma da sviluppare per scuola... devo creare un traduttore italiano-inglese e viceversa simile al Dos (si dice prompt?) solo che ho un problemino... non so come confrontare la parola scritta dall'utente con il vettore contenente le parole traducibili! praticamente la parola dovrebbe venireconfrontata con tutte le parole contenute nel vettore e, una volta trovata qualla uguale, un contatore mi dovrebbe dare la posizione di essa che corrisponde alla traduzione nell'altro vettore!
Sono stato spiegato?
Grazie in anticipo a chi mi darà una mano!


Codice:
#include<stdio.h>

main(){
int i,j,z,it,en;
char lang[50], ita[]="ita", eng[]="eng", parita[100];
char ital[10][1000]={"ciao\0","bello\0","brutto\0"};
char engl[10][1000]={"hello\0","biutiful\0","orribol\0"};
do{
      printf("Trad>");
      scanf("%s", &lang);
      z=mystrcmp(lang, ita);
      if(z==0)
           it=1;
      else{
           z=mystrcmp(lang, eng);
           if(z==0) 
                 en=1;
      }
}
while(z!=0);

//fin qui sembra andare... poi userò strcmp di string.h

if(it==1){
        printf("Trad>ita-eng>");
        scanf("%s", &parita);  //"parita" è la variabile contenente la parola da tradurre

       //for(i=0;i<3;i++){ come si fa?
        z=mystrcmp(parita, *ital);
        if(z==0)
            printf("%s", eng[i]);
//}
}
  

else
       if(en==1)
               printf("Trad>eng-ita>"); //qua poi ci andra lo stesso codice di ita ma con eng
}
 


int mystrcmp(char *str1, char *str2){

int i; 
for(i=0;(str1[i]!='\0')&&(str2[i]!='\0');i++)
	if(str1[i]>str2[i])
		return 1;
	else
		if(str1[i]<str2[i])
			return -1;
return 0;	
}

Ultima modifica di SkyNut : 05-05-2005 alle 13:27.
SkyNut è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 18:09   #2
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da SkyNut
Ciao! ho un problema con un programma da sviluppare per scuola... devo creare un traduttore italiano-inglese e viceversa simile al Dos (si dice prompt?) solo che ho un problemino... non so come confrontare la parola scritta dall'utente con il vettore contenente le parole traducibili! praticamente la parola dovrebbe venireconfrontata con tutte le parole contenute nel vettore e, una volta trovata qualla uguale, un contatore mi dovrebbe dare la posizione di essa che corrisponde alla traduzione nell'altro vettore!
Sono stato spiegato?
Grazie in anticipo a chi mi darà una mano!


Codice:
//today 2/5/05 de progam dosent wont tu work wel
//scritto su KWrite 4.2.1 rullante in itix (www.itix.it)
#include<stdio.h>

main(){
int i,j,k,z,it,en; //non so se le uso tutte ste variabili
char lang[50], ita[]="ita", eng[]="eng", parita[100];
char ital[10][1000]={"ciao\0","bello\0","brutto\0"};
char engl[10][1000]={"hello\0","biutiful\0","orribol\0"};
do{
printf("Trad>");
scanf("%s", &lang);

z=mystrcmp(lang, ita);
printf("%d", z);
if(z==0)
 it=1;
else{
z=mystrcmp(lang, eng);
printf("%d", z);
if(z==0) en=1;}
}
while(z!=0);

//fin qui sembra andare... anche se se scrivo ita + altre lettere lo legge lo stesso come ita (italoo ad es viene accettato come ita) lo stesso vale per eng... se il prof si accorge (molto probabile) lo metterò apposto...

if(it==1){
printf("Trad>ita-eng>");
scanf("%s", &parita);  //"parita" è la variabile contenente la parola da tradurre

//for(i=0;i<3;i++){ waaaaaaaaaaaaaaaaaaaaaaaaaa!!! ma come si faaaaaaaaaa!!!!!!!!!!!
z=mystrcmp(parita, *ital);
printf("%d", z);
 if(z==0)
  printf("%s", eng[i]);
//}
}
  

else
if(en==1)
printf("Trad>eng-ita>"); //qua poi ci andra la sessa roba di ita ma con eng
}



int mystrcmp(char *str1, char *str2){

int i;
for(i=0;(str1[i]!='\0')&&(str2[i]!='\0');i++)
	if(str1[i]>str2[i])
		return 1;
	else
		if(str1[i]<str2[i])
			return -1;
return 0;	
}
Io una mano te la vorrei pure dare ma visto che hai usato il tag code, potresti almeno metterci un'indentazione decente? Non mi va di stare a sistemare un codice praticamente illeggibile. Togli quello che non serve. E' inutile che dichiari 50 variabili se poi non le usi. Dichiarale man mano che le usi.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 18:17   #3
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da mjordan
Io una mano te la vorrei pure dare ma visto che hai usato il tag code, potresti almeno metterci un'indentazione decente? Non mi va di stare a sistemare un codice praticamente illeggibile. Togli quello che non serve. E' inutile che dichiari 50 variabili se poi non le usi. Dichiarale man mano che le usi.
la dichiarazione lasciala in testa se no è un macello

per confrontare due stringhe avete già usato la libreria string.h o dovi farlo "mano"? per l'identazione sono d'accordo

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 18:29   #4
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Non e' per qualcosa, ma ogni volta di mettersi a lavorare con un pezzo di codice bisogna mettersi a fare i tipografi per sistemare il codice da renderlo lavorabile... Un po di comprensione pure per chi risponde...
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 18:31   #5
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da mjordan
Non e' per qualcosa, ma ogni volta di mettersi a lavorare con un pezzo di codice bisogna mettersi a fare i tipografi per sistemare il codice da renderlo lavorabile... Un po di comprensione pure per chi risponde...
su questo sono d'accordo

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 13:31   #6
SkyNut
Senior Member
 
L'Avatar di SkyNut
 
Iscritto dal: Feb 2003
Città: Tunaland
Messaggi: 509
scusate... ora va bene? qui non mi fa usare il tab...
@ Fenomeno si posso usare string.h e mi sa tanto che è meglio usarla... anzi... per forza!
scusate ancora e grazie mille!
SkyNut è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 14:43   #7
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da SkyNut
scusate... ora va bene? qui non mi fa usare il tab...
@ Fenomeno si posso usare string.h e mi sa tanto che è meglio usarla... anzi... per forza!
scusate ancora e grazie mille!
per forza no, usare un metodo già scritto da altri ti permette solo di risparmiare tempo

ps: ma come scrivi bello in inglese???

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 14:50   #8
SkyNut
Senior Member
 
L'Avatar di SkyNut
 
Iscritto dal: Feb 2003
Città: Tunaland
Messaggi: 509
Quote:
Originariamente inviato da Fenomeno85
per forza no, usare un metodo già scritto da altri ti permette solo di risparmiare tempo
beh volevo usare la mia ma se una parola è piu lunga dell'altra non va! LOL pace la lascio così tanto l'esercizio sulle stringhe l'ho già consegnato!

Quote:
ps: ma come scrivi bello in inglese???
sai... erano l'ottava e nona ora di scuola quando ho scritto questo mezzo programma e non ero molto lucido!

Ciau! ;D
SkyNut è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 14:50   #9
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
ah deciditi ti hanno detto di usare la funzioni presenti in string.h o vuoi farla te la procedura?? perchè in quello che vedo la fai tu.
Poi le procedure vanno messe sopra la funzione main oppure sotto (io detesto questo stile) dichiarando i prototipi sotto l'inclusione delle librerie

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 14:54   #10
SkyNut
Senior Member
 
L'Avatar di SkyNut
 
Iscritto dal: Feb 2003
Città: Tunaland
Messaggi: 509
Quote:
Originariamente inviato da Fenomeno85
ah deciditi ti hanno detto di usare la funzioni presenti in string.h o vuoi farla te la procedura?? perchè in quello che vedo la fai tu.
Poi le procedure vanno messe sopra la funzione main oppure sotto (io detesto questo stile) dichiarando i prototipi sotto l'inclusione delle librerie
va bene in string.h ho usato la mia solo perchè il prof mi ha detto che metterla sarebbe stato meglio ma si arrangia! ppPp
stile? quale stile? io di stile non ne ho! ghghgh! perdono non sono un esperto... grazie dei consigli almeo miglioro!
SkyNut è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 15:05   #11
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Sto lavorando al tuo problema. Dammi un po di tempo perche' devo andare a fare pure la spesa. Prima di perdere tempo, mi dici al volo se hai fatto i puntatori? No perche' dichiarare delle stringhe come:

Codice:
char eng[]="eng";
char ita[]="ita";
mi sembra un tantino banale.
Ti includo anche dei commenti (di stile e di funzionamento).
Lo stile e' personale, ma bisogna acquisirne uno. Il funzionamento un po meno, ma puo' dipendere dallo stile. Rispondimi al volo prima che mi chiudono i supermercati
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 15:09   #12
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da SkyNut
va bene in string.h ho usato la mia solo perchè il prof mi ha detto che metterla sarebbe stato meglio ma si arrangia! ppPp
stile? quale stile? io di stile non ne ho! ghghgh! perdono non sono un esperto... grazie dei consigli almeo miglioro!
Pardon, ma a giudicare dal resto del codice, forse quella e' l'unica funzione scritta bene e non sembra l'abbia scritta proprio tu
La si deve usare o no? Perche' io dopo che ti ho presentato il programma non voglio sentire niente
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 15:25   #13
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Codice:
/*  
	Programma realizzato da Fenomeno85.
	Questo programma permette di effettuare delle traduzioni dall'italiano all'inglese e 
	viceversa.
*/


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h>

#define NWORD 10
#define LENGTH 1000

/* this function permits to translate the word */

int translate (char lang[], int type){
	char ital[NWORD][LENGTH]={"ciao","bello","brutto"};
	char engl[NWORD][LENGTH]={"hello","beautiful","orribol"};
	int i;
	
	for (i=0;i<NWORD;i++){
		if (type == 1){
			if (strcmp (lang, engl[i])==0){
				printf ("Trad>ita:%s",ital[i]);
				return (1);
			}
		}
		else{
			if (strcmp (lang, ital[i])==0){
				printf ("Trad>:%s",engl[i]);
				return (1);
			}
		}
	}
	return (-1);
}

/* function main */ 

int main (void){
	char scelta;
	int ris;
	char lang [LENGTH];
	printf ("\nInsersci stringa:\t");
	fflush (stdin);
	gets (lang);
	do{
		printf ("\nPremi 1 per tradurre in ITA, 2 pe ENG\n");
		printf ("\nScelta:\t");
		fflush (stdin);
		scelta = getchar ();
	}while (scelta != '1' && scelta !='2'); 
	
	if (scelta == '1')
		ris = translate (lang,1);
	else
		ris = translate (lang,2);

	if (ris == -1) {
		printf ("\nThe word doesn't exist in the database.\n");
	}
	printf ("\n\n\n");
    system ("PAUSE");
	return (0);
}
la pulizia del codice è la cosa + importante

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 17:49   #14
SkyNut
Senior Member
 
L'Avatar di SkyNut
 
Iscritto dal: Feb 2003
Città: Tunaland
Messaggi: 509

Fenomeno... sei un fenomeno! è un tantino impestata... ma è mitico! ora me lo studio! DD windows.h e conio.h devo cercarmeli... mai visti! grazie 1000! ti devo un favore!

Quote:
Originariamente inviato da mjordan
Pardon, ma a giudicare dal resto del codice, forse quella e' l'unica funzione scritta bene e non sembra l'abbia scritta proprio tu
La si deve usare o no? Perche' io dopo che ti ho presentato il programma non voglio sentire niente
nono toglila pure! si l'ho fatta io (con aiutino del prof però)! in effetti mi è venuta bene! :P quando so bene come risolvere il problema scrivo in modo decente... altrimenti provando e riprovando faccio macelli e non sto tanto a indentare!
si i puntatori li ho fatti... non li ho capiti troppo ma li ho fatti...
per la dichiarazione delle stringhe banali.. si lo sò... non è bello quello che ho scritto... ma non sapevo come farlo!
vai vai a far la spesa! poi voglio vedere il tuo programma (sempre che tu abbia tempo di farlo!)
Grazie 1000 ragazzi siete fin troppo gentili!
SkyNut è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 17:52   #15
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Si pero' a lui se non sbaglio serviva una versione interattiva che faceva scegliere la traduzione da seguire on the fly.
In questa versione hai tre comandi:
ita --> Passa alla modalita italiano->inglese
eng --> Passa alla modalita' inglese->italiano
exit --> Esce dal traduttore

Per ulteriori chiarimenti sono a disposizione.

Nota: Sarebbe meglio usare i puntatori con le stringhe, ma non li ho usati perche' non mi hai risposto e ho assunto che non li avete fatti. Ho cercato di rendere il codice il piu' leggibile possibile.
Ovviamente ci sono margini di miglioramento infiniti, ma visto che e' un esercizio scolastico meglio focalizzarsi sulla risoluzione del problema.

Il file in allegato.

P.S: windows.h e conio.h sono header specifici Microsoft, non ti conviene usarli ma sforzarti di usare solo funzioni del C standard (non sono presenti nello standard), anche se Fenomeno li ha usati solo per una funzione.
Ho cercato di mantenere il pezzo di codice che stavi scrivendo tu in modo da non renderti troppo difficile la lettura. Il ciclo do-while va avanti fino a quando non digiti exit sulla riga di comando, nel qual caso si esce dal ciclo e si ritorna 0 alla funzione main() (cioe' valore di uscita corretto).

Ciao
Allegati
File Type: zip traduttore.zip (804 Bytes, 1 visite)

Ultima modifica di mjordan : 05-05-2005 alle 18:11.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 18:40   #16
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
non mi sembra allucinante come versione

cmq per la modifica con le tre scelte non la vedo così atroce vuole che esistano tre comandi?? basta modificare una minchiata te

ps: windows.h serve solo per system, conio.h per gets molto meglio che quella funzione del cavolo di scanf ... il migliore sarebbe fgets

Codice:
/*  
	Programma realizzato da Fenomeno85.
	Questo programma permette di effettuare delle traduzioni dall'italiano all'inglese e 
	viceversa.
*/


#include <stdio.h>
#include <conio.h>
#include <string.h>


#define NWORD 10
#define LENGTH 1000

/* this function permits to translate the word */

int translate (char lang[], int type){
	char ital[NWORD][LENGTH]={"ciao","bello","brutto"};
	char engl[NWORD][LENGTH]={"hello","beautiful","orribol"};
	int i;

	for (i=0;i<NWORD;i++){
		if (type == 1){
			if (strcmp (lang, engl[i])==0){
				printf ("Trad>ita:%s",ital[i]);
				return (1);
			}
		}
		else{
			if (strcmp (lang, ital[i])==0){
				printf ("Trad>:%s",engl[i]);
				return (1);
			}
		}
	}
	return (-1);
}

int menu (void){
    char scelta[LENGTH];
	int ris;
	char lang [LENGTH];
	printf ("\nInsersci stringa:\t");
	fflush (stdin);
	gets (lang);
	do{
		printf ("\n'ita' per tradurre in ITA, 'eng' pe ENG e 'exit' per uscire\n");
		printf ("\nScelta:\t");
		fflush (stdin);
		gets (scelta);
	}while (strcmp(scelta,"ita")!=0 && strcmp(scelta,"exit")!=0 && strcmp(scelta,"eng")!=0); 
	
	if (strcmp(scelta,"ita")==0)
		ris = translate (lang,1);
	else{
         if (strcmp(scelta,"eng")==0)
             ris = translate (lang,2);
		 else return (0);
    }
	if (ris == -1) {
		printf ("\nThe word doesn't exist in the database.\n");
	}
}

/* function main */ 

int main (void){
    int ret;
    do {
        ret = menu ();
    } while (ret != 0);
	return (1);
}
te così vi ho eliminato anche la windows.h ... cmq per la cronaca basta mettere per la maggior compatibilità tra linux e windows un bel #ifdef WIN32 e nessun problema alla fine system è una funzione di windows

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 18:51   #17
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da Fenomeno85
non mi sembra allucinante come versione
In che senso scusa.

Quote:
cmq per la modifica con le tre scelte non la vedo così atroce vuole che esistano tre comandi?? basta modificare una minchiata te
Non ho detto che e' atroce

Quote:
ps: windows.h serve solo per system, conio.h per gets molto meglio che quella funzione del cavolo di scanf ... il migliore sarebbe fgets
gets() e' una funzione standard, sta in stdio.h.

Quote:
te così vi ho eliminato anche la windows.h ... cmq per la cronaca basta mettere per la maggior compatibilità tra linux e windows un bel #ifdef WIN32 e nessun problema alla fine system è una funzione di windows

~§~ Sempre E Solo Lei ~§~
Stiamo parlando di un esercizio scolastico non di un compilatore cross platform
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 19:00   #18
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Fenomeno85
non mi sembra allucinante come versione
ps: windows.h serve solo per system, conio.h per gets molto meglio che quella funzione del cavolo di scanf ... il migliore sarebbe fgets
Scusatemi, Fenomeno e Mjordan, probabilmente sto per sparare una stupidaggine, ma da autodidatta alcune volte faccio fatica a capire determinate cose. Mi riferisco proprio alla funzione gets() la quale, se non erro, sarebbe da evitare in qualsiasi maniera perchè non permette il controllo della lunghezza di ciò che prende, diventando così probabile origine di buffer overflow.

E' una osservazione giusta o posso dire di nn capire niente di ciò che studio?

Thx.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 19:06   #19
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da RaouL_BennetH
Scusatemi, Fenomeno e Mjordan, probabilmente sto per sparare una stupidaggine, ma da autodidatta alcune volte faccio fatica a capire determinate cose. Mi riferisco proprio alla funzione gets() la quale, se non erro, sarebbe da evitare in qualsiasi maniera perchè non permette il controllo della lunghezza di ciò che prende, diventando così probabile origine di buffer overflow.

E' una osservazione giusta o posso dire di nn capire niente di ciò che studio?

Thx.

RaouL.
esatto la funziona fgets sarebbe da usare ma dopo in questo caso avrei dovuto anche fare un controllo e mettere il /0 delle stringhe dato che fgets non lo mette

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 19:10   #20
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Fenomeno85
esatto la funziona fgets sarebbe da usare ma dopo in questo caso avrei dovuto anche fare un controllo e mettere il /0 delle stringhe dato che fgets non lo mette

~§~ Sempre E Solo Lei ~§~
Grazie, mi sento rincuorato, almeno non sto studiando invano

THX!!
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
TP-Link protagonista a IFA 2025 con tant...
TK02 S è la nuova e-enduro di THOK con m...
Fallout 76: Rinnovamento C.A.M.P., pi&ug...
Toyota produrrà auto elettriche in Europ...
HONOR Magic V5 parte bene: lancio da rec...
Dyson svela 11 nuovi prodotti all'IFA: d...
Zurigo si scalda con i rifiuti: le pompe...
Noctua pubblica la nuova roadmap: primo ...
Palo Alto Networks presenta novità...
Surya, il modello di IA di IBM e NASA ch...
I browser Arc e Dia diventano parte dell...
Duster e Bigster, tutto quello che manca...
Superman: Man of Tomorrow, confermato da...
SK Hynix, accordo storico: 10% degli uti...
Arriva Veeam Software Appliance: protezi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v