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

    Ciao a tutti ho problemi Char in C

    ciao a tutti, vorrei postare un file creato da me che ha un "piccolo" problema. Vedete voi per cortesia.

    codice:
    #include <stdio.h>
    #include <malloc.h>
    #include <math.h>
    #include <conio.c>
    
    int main(void) {
    float base,altezza,area,perimetro;
    char s;
    
    do{
       
       printf("Di cosa devo calcolare l'area? (1=triangolo) (2=rettangolo) (3=cerchio)(4=Esci)\n");
       printf("Scegli l'operazione...");
       scanf("%d",&s);
    
       switch(s){
         case 't':
         	    printf("Inserisci la misura della Base in cm: ");
    	        scanf("%f",&base);
    	        printf("Inserisci la misura dell' Altezza in cm: ");
    	        scanf("%f",&altezza);	 
                area=base*altezza;
                perimetro=(sqrt((base/2)*(base/2)+(altezza*altezza)))*2+base;
                printf("l'area e' %.3f cm \n", area);
    		    printf("il perimetro e' %.3f cm \n", perimetro);
    		  system("pause");
    	      clrscr();
                break;
         case 'r':
                printf("Inserisci la misura della Base in cm: ");
    	        scanf("%f",&base);
    	        printf("Inserisci la misura dell' Altezza in cm : ");
    	        scanf("%f",&altezza);	 
                area=base*altezza;
                perimetro=(base*2)+(altezza*2);
                printf("l'area e' %.3f cm \n", area);
    		    printf("il perimetro e' %.3f cm \n", perimetro);
    	     system("pause");
    		 clrscr();
                break;
         case 'c':
                printf("Inserisci la misura del Raggio in cm: ");
                scanf("%f",&base);
    	        area=3.14*base*base;
                perimetro=base*6.28;
                printf("l' area e' %.3f cm \n", area);
    		    printf("la circonferenza e' %.3f cm \n", perimetro);
    	     system("pause");
    		 clrscr();
                break;
        case 'e': break;	   
        default:printf("Operazione non prevista! Ripeti la tua scelta...\n\n");      
       }
       
    }while(s!=4);
     printf("\n\nGrazie per aver utilizzato il calcolatore By Marco \n");
     system("pause");
     return 0;
     }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Ma come "vedete voi" ? Mica sei dal meccanico ...!

    Inserisci i tag CODE nel codice, dicci cosa non va, se ci sono problemi in compilazione o in esecuzione e quali sono.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    perdona.... Mi disp per la mia cafonagine....
    Dopo le scuse(non era ipocrisia) mi potresti spiegare i code cosa sono?
    Il problema è che quando lo compilo e premo "t" inizia a floddare 20000000 volte ler stesse cose.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Nel menu hai scritto

    1-
    2-
    3-
    4-

    quindi devi inserire un intero, non un char.

    Quindi deve essere

    int s;

    e poi

    case 1:
    case 2:
    case 3:
    case 4:
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    scusa... ma quel menù è solo un printf di guida pure se lo cambio non mi risolve nessun problema. vedi... ho corretto.

    codice:
    #include <stdio.h>
    #include <malloc.h>
    #include <math.h>
    #include <conio.c>
    
    int main(void) {
    float base,altezza,area,perimetro;
    char s;
    do{
       
       printf("Di cosa devo calcolare l'area? (t=triangolo) (r=rettangolo) (c=cerchio)(e=Esci)\n");
       printf("Scegli l'operazione...");
       scanf("%d",&s);
    
       switch(s){  
        case 't':
        	
    	        scanf("%f",&base);
    	        printf("Inserisci la misura dell' Altezza in cm: ");
    	        scanf("%f",&altezza);	 
                area=base*altezza;
                perimetro=(sqrt((base/2)*(base/2)+(altezza*altezza)))*2+base;
                printf("l'area e' %.3f cm \n", area);
    		    printf("il perimetro e' %.3f cm \n", perimetro);
    		  system("pause");
    		  clrscr();
                break; 
                
       case 'r':        
    	        scanf("%f",&base);
    	        scanf("%f",&altezza);	 
                area=base*altezza;
                perimetro=(base*2)+(altezza*2);
                printf("l'area e' %.3f cm \n", area);
    		    printf("il perimetro e' %.3f cm \n", perimetro);
    	     system("pause");
    		 clrscr();
                break;
                
       case 'c':
                printf("Inserisci la misura del Raggio in cm: ");
                scanf("%f",&base);
    	        area=3.14*base*base;
                perimetro=base*6.28;
                printf("l' area e' %.3f cm \n", area);
    		    printf("la circonferenza e' %.3f cm \n", perimetro);
    	     system("pause");
    		 clrscr();
                break;
                
        case 'e': break;	   
        default:printf("Operazione non prevista! Ripeti la tua scelta...\n\n");  
      
       }    
    
    }while(s!='4');
     printf("\n\nGrazie per aver utilizzato il calcolatore By Marco \n");
     system("pause");
     return 0;
     }

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Non ti avevo detto di modificare il menu ma le parti di codice che ti ho indicato ... ma l'hai letto bene la mia risposta precedente?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Perdonami ma se avrei voluto usare int con
    1
    2
    3
    4
    l' avrei fatto..
    Io voglio farlo con char per vedere come viene e per imparare meglio la funzione.

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305

    Moderazione

    Come previsto dal Regolamento interno, il codice va postato all'interno degli appositi tag CODE, in questo modo:

    [CODE]
    ... codice ...
    [/CODE]

    Così facendo il codice rimane indentato e formattato in modo da poter essere letto più facilmente. Vedi i tuoi post che ho opportunamente modificato aggiungendo i tag.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Originariamente inviato da mp19999
    Perdonami ma se avrei voluto usare int con
    1
    2
    3
    4
    l' avrei fatto..
    Se tu avessi voluto usare un char, avresti dovuto indicare la lettera nel menu e soprattutto il %c nella scanf e non il %d che serve per l'inserimento di un intero.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Originariamente inviato da oregon
    Se tu avessi voluto usare un char, avresti dovuto indicare la lettera nel menu e soprattutto il %c nella scanf e non il %d che serve per l'inserimento di un intero.
    Grazie mille ovviamente ho fatto un errore quasi "banale". Un ultima cosa : Se io al posto di mettere "t" per triangolo volessi scrivere "triangolo", cosa dovrei fare?Mi hanno detto di mettere [tot] ma non ho capito a cosa serve.

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