Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] errore sulla funzione

    Salve a tutti.
    Creando la funzione potenza per mettere in pratica ciò che ho appena imparato sulle funzioni mi sono imbattuto in un errore che mi blocca :master:

    codice:
    #include <stdio.h>
    
    int pot(int, int);
    
    int main()
    {
        int num, esp;
        
        printf("Inserisci un numero");  
        scanf("%d", num);
        
        printf("Inserisci la potenza");  
        scanf("%d", esp);
        if(esp<=0)
            printf("Errore! il numero deve essere positivo!");
            else
                    printf("Il risultato è %d \n", pot(num, esp)); //richiamo funzione pot per le potenze    
        
        system("PAUSE");	
        return 0;
    }
    
    int pot(int num, int esp)
    {
        int i;
        int n;
        
        n=num;
        for(i=1,i<esp,i++)
        {
            num=num*n;
        }    
        
        return num;
    }
    mi da errore sul for nell'implementazione della funzione pot. Cosa ho sbagliato?
    http://jkkl.netsons.org

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466

    Re: [C] errore sulla funzione

    Originariamente inviato da jkkl
    Cosa ho sbagliato?
    Come si separano le parti del for?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    C'erano errori nel for e nella scanf. Le istruzioni commentate sono i tuoi errori. Ho aggiunto la funzione "clean". Dai un'occhiata qui sul forum, ci sono molte discussioni su un particolare problema che si presenta ai neofiti del linguaggio.
    Ho sostituito la system("pause") perchè è decisamente da evitare (ma sono dettagli poco importanti ora):

    codice:
    #include <stdio.h>
    
    int pot(int, int);
    void clean();
    void pause();
    
    void pause()
    {
    	char c;
    
    	printf("Premi un tasto per continuare...");
    	c = getchar();
    	
    	if(c != '\n')
    		clean();
    }
    
    void clean()
    {
    	char c;
    	while( (c = getchar() ) != '\n');
    }
    
    int main()
    {
        int num, esp;
        
        printf("Inserisci un numero: ");  
        //scanf("%d", num);
        scanf("%d", &num);
    	clean();
        
        printf("Inserisci la potenza: ");  
        //scanf("%d", esp);
        scanf("%d", &esp);
    	clean();
    
        if(esp<=0)
            printf("Errore! il numero deve essere positivo!");
    	else
    		printf("Il risultato è %d \n", pot(num, esp)); 
    
    	pause();
        return 0;
    }
    
    int pot(int num, int esp)
    {
        int i;
        int n;
        
        n=num;
        //for(i=1,i<esp,i++)
        for(i=1;i<esp;i++)
        {
            num=num*n;
        }    
        
        return num;
    }

  4. #4

    Re: Re: [C] errore sulla funzione

    Originariamente inviato da oregon
    Come si separano le parti del for?
    ah vero! che errore del cavolo

    grazie
    http://jkkl.netsons.org

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.