Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2005, 17: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 14:27.
SkyNut è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 19: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, 19: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, 19: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, 19: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, 14: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, 15: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, 15: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, 15: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, 15: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, 16: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, 16: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, 16: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, 18: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, 18: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 19:11.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2005, 19: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, 19: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, 20: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, 20: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, 20: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


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Driver Radeon Adrenalin 25.10: perch&egr...
Oltre le GPU: NVIDIA annuncia NVQLink, ...
Samsung lancia il Team Galaxy Italia per...
Magic Leap: indistinguibili dai normali ...
Aruba Cloud: trasparenza sui costi e str...
Quando il cloud si blocca e resti al fre...
Integrare per competere, la sfida digita...
Leggenda del rally e modernità: S...
La Python Software Foundation rinuncia a...
Full HD e QLED, è in offerta un TV da 32...
Honda ha rilasciato un nuovo video sul p...
Resident Evil Requiem: arriva su Switch ...
Marshall Acton III in promo su Amazon in...
2 portatili che costano poco ma vanno be...
Smartphone potenti sotto i 300€: ecco i ...
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: 19:54.


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