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

    [C] Implementare funzione di calcolo della potenza

    Buongiorno a tutti, sto avendo un problema con un banalissimo programma in c, per imparare ad utilizzare le funzioni, ci tengo a sottolineare che sono alle prime armi. Il programma dovrebbe calcolare la potenza tramite appunto una funzione potenza. Tale funzione, non è completa perchè volevo prima vedere se funzionasse con una normale dimostrazione come se fosse un semplice prodotto. Vi Mostro il programma, che gira, ma che da come risultato sempre 0. PS: non è completo siccome è inserito in uno piu grande.
    grazie a chi mi saprà aiutare!

    int potenza(){ //FUNZIONE POTENZA NON COMPLETA
    int a=0;
    int p=0;
    int potenza;
    potenza=a*p;
    return (potenza);
    }




    int main(int argc, char *argv[]) { //MAIN CON MENU
    int m=0;
    int i=0;
    int a=0;
    int b=0;
    int p=0;
    int r=0;






    do{
    printf("\nmenu: 1 per potenza, 2 per fattoriale, 3 per radice quadrata, 0 per chiudere il programma");
    scanf("%d", &m);
    if(m==0){
    printf("Programma chiuso");
    system("pause");
    }


    if(m==1){ //SE DA MENU=1
    printf("che numero vuoi usare?\n");
    scanf("%d", &a);
    printf("dammi l'esponente");
    scanf("%d", &p);
    printf(" %d", a);
    printf(" %d", p);
    r=potenza(a,p);
    printf("risultato: %d", r);
    fflush(stdin);
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Beh, è abbastanza ovvio che ritorni sempre 0.
    Hai una funzione che non prende nessun parametro (per come l'hai scritta tu). Tu gli passi comunque due valori che vengono semplicemente ignorati.
    All'interno della funzione assegni alle variabili a e p il valore 0, quindi le moltiplichi e ne restituisci il risultato. 0 * 0 fa sempre 0.

    Mi sa che devi riguardarti alcuni concetti: come passare dei valori ad una funzione e come si scrive una funzione che accetta dei valori.

    Piccolo suggerimento: la funzione "main" che hai scritto accetta in ingresso due valori: argc e argv.
    La tua funzione "potenza" che valori accetta in ingresso?


    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

Tag per questa discussione

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.