Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 06-07-2004, 16.41.56   #16
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
me ne sono accorto...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 06-07-2004, 17.12.07   #17
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
ho sostituito lo scanf() con gets() per ovviare a degli errori ripetuti...

questo è l'ultimo che posto, se trov/o/iamo altri errori posterò il codice in pvt...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 06-07-2004, 17.29.21   #18
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Esordisco col dire che non mi è capitato, però te lo chiedo nel caso devesse.
Hai messo un controllo affinché in un'estrazione non ci siano 2 numeri uguali?
Alhazred non è collegato   Rispondi citando
Vecchio 06-07-2004, 18.07.04   #19
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
si e se capita lo sostituisce...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 06-07-2004, 18.09.54   #20
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
già che ci siamo, cosa uso per concatenare 2 o più stringhe?
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 06-07-2004, 21.13.58   #21
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
strcat dichiarata in <string.h>

Occhio sempre al prototipo:
char *strcat(char *s1, const char *s2);

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 06-07-2004, 22.05.49   #22
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Visto che le estrazioni possono andare da 1 a 999 puoi utilizzare questo piccolo programmino

Codice:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int NumInput(int size){
      char s[size],c;
      int i=0;

      while(i!=sizeof(s)){
            c=getch();
            //Invio
            if(c==13) break;
            //Solo numeri
            if(c>=48 && c<=57){
                  s[i]=c;
                  i++;
                  printf("%c",c);
            }
            //Backspace
            if(c==8){
                  if(i>0){
                        i--;
                        printf("\b%c\b",32);
                        s[i]=32;
                  }        
            }            
      } 
      return atoi(s);
}
      
main(void){
      int a,b;
      
      printf("%s","Base:");
	a=NumInput(3);
	printf("\n%s","Altezza:");
	b=NumInput(3);
	printf("\n%s","Area rettangolo:");
	printf("%i",a*b);
      getch();     
}
Avanzi di fare parecchi controlli
LoryOne non è collegato   Rispondi citando
Vecchio 07-07-2004, 00.45.01   #23
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
fatemi sapere se ho tralasciato qualcosa e/o ho fatto qualche cavolata, questo è il codice:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <string.h>

#define SEI 6

void esegui(int);
int controllo(int[], int);
void ordina(int[], int);
int soloNum(char *);

int uguali = 0;

main(){
int num = 0;
int errore = 0;
char numStr[512];

printf("\n\tCOMBINAZIONI RANDOM SUPER ENALOTTO\n\t\t\t\t by Ns-1\n\n");

do{
printf("\nInserisci numero estrazioni (0 per uscire): ");

gets(numStr);

num = soloNum(numStr);

printf("\n");

if(num == 0)
break;

if(num > 0 && num <= 999)
esegui(num);

else{
if(num > 0){
printf("Numero massimo 999!\n\n");
system("PAUSE");
printf("\n");
errore++;
esegui(999);
}

else{
printf(" COSA?");
errore++;
}
}

printf("\n");

if(uguali > 0){
printf(" Numeri uguali e poi sostituiti: %d\n", uguali);
uguali = 0;
}

}while(num != 0 && errore < 10);

if(errore >= 10)
printf("\n[10 Errori] - Sei troppo stupido per usare questo programma!\n\n\a");

return 0;

}


void esegui(int k){
int estr[SEI] = {0};
int i, x, ctrl = 0;
int fileCtrl = 0;
char nomeFile[512];

FILE *ptrFile;

printf("Inserisci il nome del file su cui salvare le combinazioni: ");
gets(nomeFile);
printf("\n");

if ((ptrFile = fopen(nomeFile,"w")) == NULL)
printf("\nIl file non puo' essere aperto!");
else
fileCtrl = 1;

srand(time(NULL));

for(x = 1; x <= k; x++){

printf(" Estrazione %-3d:", x);

for(i = 0; i < SEI; i++){

estr[i] = 1 + (rand() % 90);

if(i >= 1)
ctrl = controllo(estr,i);

if(ctrl == 0)
ordina(estr, i);

else
--i;
}

for(i = 0; i < SEI; i++){
printf("%4d %s", estr[i], i <= SEI - 2 ? "|" : "");
if(fileCtrl == 1){
if( i == 0){
fprintf(ptrFile, " Combinazione %-3d:",x);
}
fprintf(ptrFile, " %4d %s", estr[i], i <= SEI - 2 ? "|" : "\n");
}
}

printf("\n");
}
fclose(ptrFile);
fileCtrl = 0;
}


int controllo(int array[], int pos){

int indSimul = pos - 1;
int pippo;

while(indSimul >= 0){

if(array[pos] == array[indSimul]){
indSimul = -1;
pippo = 1;
uguali++;
}

else{

if(indSimul == 0){
pippo = 0;
}

--indSimul;
}
}

return pippo;

}


void ordina(int vett[], int k){

int ind = k - 1;
int buf;

for(; ind >= 0; ind--, k--){
if(vett[k] < vett[ind]){
buf = vett[ind];
vett[ind] = vett[k];
vett[k] = buf;
}
}
}


int soloNum(char *array){

int num = 0, index, esp, conv;
int lungh = strlen(array) + 1;

if(array[0] == '+')
if(array[1] != '\0')
array[0] = '0';
else num = -1, index = lungh-1;

for(index = 0, esp = lungh-2; index < lungh-1; index++, esp--){

conv = array[index]-48;

if(conv >= 0 && conv <= 9)
num += (pow(10, esp) * conv);

else{
index = lungh - 1;
num = -1;
}

}

return num;
}


mancano ancora un pò di cose, tipo il controllo del file esistente oppure no, etc...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 07-07-2004, 00.45.44   #24
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
scusate, ma non ha tenuto l'indent...
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Vecchio 07-07-2004, 11.05.23   #25
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Quota:
Originariamente inviato da NS-1
scusate, ma non ha tenuto l'indent...
La prossima volta posta così:

(code)
qui scrivi il codice con l'indentatura
(/code)

ovviamente dei mettere le parentesi quadre invece delle tonde
Alhazred non è collegato   Rispondi citando
Vecchio 07-07-2004, 11.25.52   #26
NS-1
Hero Member
 
L'avatar di NS-1
 
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
NS-1 promette bene
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <string.h>

#define SEI 6

void esegui(int);
int controllo(int[], int);
void ordina(int[], int);
int soloNum(char *);

int uguali = 0;

main(){	
	int num = 0;
	int errore = 0;
	char numStr[512];	

	printf("\n\tCOMBINAZIONI RANDOM SUPER ENALOTTO\n\t\t\t\t   by Ns-1\n\n");
	
	do{
		printf("\nInserisci numero estrazioni (0 per uscire): ");
	
		gets(numStr);

		num = soloNum(numStr);

		printf("\n");
	
		if(num == 0)
			break;

		if(num > 0 && num <= 999)
			esegui(num);
	
		else{	
			if(num > 0){
				printf("Numero massimo 999!\n\n");
				system("PAUSE");
				printf("\n");
				errore++;
				esegui(999);				
			}
			
			else{
				printf(" COSA?");
				errore++;
			}
		}

		printf("\n");
		
		if(uguali > 0){
			printf(" Numeri uguali e poi sostituiti: %d\n", uguali);
			uguali = 0;
		}

	}while(num != 0 && errore < 10);
	
	if(errore >= 10)
		printf("\n[10 Errori] - Sei troppo stupido per usare questo programma!\n\n\a");

	return 0;

}


void esegui(int k){
	int estr[SEI] = {0};
	int i, x, ctrl = 0;
	int fileCtrl = 0;
	char nomeFile[512];

	FILE *ptrFile;
	
	printf("Inserisci il nome del file su cui salvare le combinazioni: ");
	gets(nomeFile);
	printf("\n");

	if ((ptrFile = fopen(nomeFile,"w")) == NULL)
		printf("\nIl file non puo' essere aperto!");
	else
		fileCtrl = 1;

	srand(time(NULL));
	
	for(x = 1; x <= k; x++){

		printf("   Estrazione %-3d:", x);

		for(i = 0; i < SEI; i++){
		
			estr[i] = 1 + (rand() % 90);
			
			if(i >= 1)
				ctrl = controllo(estr,i);
			
			if(ctrl == 0)
				ordina(estr, i);				

			else
				--i;
		}

		for(i = 0; i < SEI; i++){
			printf("%4d %s", estr[i], i <= SEI - 2 ? "|" : "");
			if(fileCtrl == 1){
				if( i == 0){
				fprintf(ptrFile, " Combinazione %-3d:",x); 
				}
				fprintf(ptrFile, " %4d %s", estr[i], i <= SEI - 2 ? "|" : "\n");
			}
		}

		printf("\n");
	}
	fclose(ptrFile);
	fileCtrl = 0;
}


int controllo(int array[], int pos){
	
	int indSimul = pos - 1;
	int pippo;

	while(indSimul >= 0){
	
		if(array[pos] == array[indSimul]){			
			indSimul = -1;
			pippo = 1;
			uguali++;
		}

		else{

			if(indSimul == 0){
				pippo = 0;
			}

			--indSimul;			
		}
	}
	
	return pippo;

}


void ordina(int vett[], int k){

	int ind = k - 1;
	int buf;

	for(; ind >= 0; ind--, k--){
		if(vett[k] < vett[ind]){
			buf = vett[ind];
			vett[ind] = vett[k]; 
			vett[k] = buf;
		}
	}
}


int soloNum(char *array){

	int num = 0, index, esp, conv;
	int lungh = strlen(array) + 1;
	
	if(array[0] == '+')
		if(array[1] != '\0')
			array[0] = '0';
		else num = -1, index = lungh-1;

	for(index = 0, esp = lungh-2; index < lungh-1; index++, esp--){		
		
		conv = array[index]-48;

		if(conv >= 0 && conv <= 9)
			num += (pow(10, esp) * conv);

		else{
			index = lungh - 1;
			num = -1;
		}
		
	}

	return num;
}
___________________________________

...ad ogni alba sorgerà il tuo profumo
NS-1 non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
BOT mi sa che non è nulla di rassicurante onairda Sicurezza&Privacy 10 26-09-2005 21.45.25
Nulla contro nulla o nessuno... però leggete questa mail che ho ricevuto..... torakiki78 Chiacchiere in libertà 42 26-04-2005 23.07.54
NEC2510-A non legge più nulla Thor Hardware e Overclock 8 16-03-2005 19.53.42
Non capisco.... torakiki78 Chiacchiere in libertà 14 13-01-2005 00.31.17
connessione dal nulla claudia1974 Sicurezza&Privacy 10 17-09-2003 13.07.29

Orario GMT +2. Ora sono le: 15.48.46.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.