Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-03-2007, 23:08   #1
ugo86
Junior Member
 
L'Avatar di ugo86
 
Iscritto dal: Nov 2006
Messaggi: 15
[C] Isdigit & Isalpha

Ciao ragazzi, innanzitutto grazie mille per il vostro aiuto continuo!

In poche parole ho queste due semplicissime funzioni ma non riesco ad utilizzarle!

Il mio programma riceve un intero e lo controlla.

Deve essere compreso tra 1 e 3... quindi voglio distinguere se è un numero, se è una lettera... o se non è nè l'uno e nè l'altro (ad esempio un punto).

Il mio programma è il seguente:

Codice:
#include <stdio.h>
#include <ctype.h>
main(){
   int a, control=0;
   while(control==0){
       printf("Inserisci il numero   ");
       scanf("%d", &a);  //preleva l'intero
       
       if (isdigit(a)!=0){  //se è un numero
        if( a>=1 && a<=3 ){
         printf("scelta corretta\n\n");
         control = 1;
         break;
         }
        else
         printf("Numero non corretto\n\n");
        }               //fine if isdigit

       if (isalpha(a)!=0)
        printf("e' una lettera\n\n");
       
       if(isalnum(a)==0)
        printf("Non e' ne' una lettera e nemmeno un numero!!!\n\n");
   }            //fine while          
   printf("Fine del programma\n\n");
   system("pause");
   }            //fine main
C'è qualcosa che non va... non funziona! Ma non sarà che ste funzioni isdigit, isalpha e isalnum ACCETTANO SOLO IL CODICE ASCII?? Come faccio a usarle se ho una variabile di tipo intera???
ugo86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2007, 00:01   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
int isdigit( int ch );

passando un char

char a;
scanf("%c", &a);
isdigit(a)

se a è un carattere da '0' a '9' isdigit ritorna un valore diverso da 0
idem come sopra per isalpha
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2007, 08:37   #3
ugo86
Junior Member
 
L'Avatar di ugo86
 
Iscritto dal: Nov 2006
Messaggi: 15
thank's

Grazie vizz! Il problema della funzione è risolto... però è rimasto il problema del ciclo! Me ne fa più di uno... c'è ancora qualcosa che non va!

Ti mando il programma:

Codice:
main(){
   char a, control=0;
   while(control==0){
       printf("Inserisci il numero   ");
       scanf("%c", &a);  //preleva l'intero
       
       if (isdigit(a)!=0){  //se è un numero
        if( a>=1 && a<=3 ){
         printf("scelta corretta\n\n");
         control = 1;
         break;
         }
        else
         printf("Numero non corretto\n\n");
        }               //fine if isdigit

       if (isalpha(a)!=0)
        printf("e' una lettera\n\n");
       
       if(isalnum(a)==0)
        printf("Non e' ne' una lettera e nemmeno un numero!!!\n\n");
   }            //fine while          
   printf("Fine del programma\n\n");
   system("pause");
   }            //fine main
ugo86 è offline   Rispondi citando il messaggio o parte di esso
Old 03-03-2007, 08:58   #4
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
if( a>=1 && a<=3 ) non è possibile farlo confrontando un char.
qui dovresti convertire con atoi il char in un intero e poi confrontarlo.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2007, 10:44   #5
ugo86
Junior Member
 
L'Avatar di ugo86
 
Iscritto dal: Nov 2006
Messaggi: 15
insomma non si può fare

A regà.... in finale non esiste modo per capire che tipo di lettera si è inserita in un intero???
ugo86 è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2007, 11:04   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ugo86 Guarda i messaggi
A regà.... in finale non esiste modo per capire che tipo di lettera si è inserita in un intero???
Già questa frase non ha molto senso....

Codice:
char c;

scanf ("%c", &c);

if (isdigit (c))
{
    if (c >= '1' && c <= '3')
        printf ("Numero corretto\n");
    else
        printf ("Numero non corretto\n");
}
else if (isalpha (c))
    printf ("Lettera\n");
else
    printf ("Altro carattere\n");
Cioè ... quale è il problema??
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2007, 11:30   #7
ugo86
Junior Member
 
L'Avatar di ugo86
 
Iscritto dal: Nov 2006
Messaggi: 15
ecco cosa mi era sfuggito!

Grande and! Fortuna che ci sei te, SEI UN MAGO!!!
Mi era sfuggito che i numeri bisognava metterli tra le virgolette!

hehehehehe, grazie mille caro!
ugo86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
NIO chiede la standardizzazione di batte...
Da 80 mesi-uomo a poche ore: l'AI cambia...
In 2 settimane senza social il cervello ...
Amazon top 7 di oggi: 2 portatili intere...
SteamGPT trapela dal client Steam: ecco ...
Boom clamoroso per questo piccolo produt...
Amazon Luna saluta gli store di terze pa...
Windows Update non sarà più un incubo: M...
Stampante HP con Wi-Fi e 3 mesi di inchi...
Metro 2039 potrebbe essere il nuovo capi...
Call of Duty: Modern Warfare 4 l'uscita ...
Mega risparmi su Amazon Haul fino a mezz...
Il Blu-ray è davvero morto? Due a...
OpenAI punta sulla pubblicità in ...
Gmail, arriva la crittografia end-to-end...
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: 13:44.


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