Oppure

Loading
11/11/18 11:58
Rans


#include <stdio.h>
int pot(int b, int e);
main(void){
    int b, e, potenza;
    char scelta;
    do{
        printf("\n Inserisci base ed esponente: ";);
        scanf("%d%d",&b,&e);
        potenza=pot(b,e);
        printf("%d elevato a %d=%d",b,e,potenza);
        printf("\n\n";);
}

int pot(int b, int e)
{
    int potenza=b, i;
    for(i=0;i<e;i++)
        potenza=potenza*b;
}
aaa
11/11/18 12:05
lumo
Qual è il problema di preciso?
aaa
11/11/18 12:07
Rans
@lumo devo fare la potenza data la base e l'esponente senza usare la funzione pow già presente nella libreria math.h bensì devo scrivere io una funzione (che è uguale alla pow dunque).
Ultima modifica effettuata da Rans 11/11/18 12:11
aaa
11/11/18 14:22
lumo
Postato originariamente da Rans:

@lumo devo fare la potenza data la base e l'esponente senza usare la funzione pow già presente nella libreria math.h bensì devo scrivere io una funzione (che è uguale alla pow dunque).

Ad occhio mi pare giusta la funzione che hai scritto, forse non ti va la scanf per prendere i due numeri? Prova a prendere prima base ed esponente, usando due scanf.
Il codice ti compila? Riesci ad eseguirlo?
aaa
11/11/18 15:07
No, quel codice non va per niente bene.

L'hai mai compilato e controllato gli errori?

Per cominciare manca una

return potenza;

nella funzione, ma anche nel main il ciclo non è chiaro e manca una parentesi alla fine ...
Ultima modifica effettuata da 11/11/18 15:08
11/11/18 15:47
Mikelius
Postato originariamente da nessuno:

No, quel codice non va per niente bene.

nella funzione, ma anche nel main il ciclo non è chiaro e manca una parentesi alla fine ...


L'idea di fondo è giusta (usare un for), ma è implementata malissimo.
Come scrive nessuno, manca un return,
nel ciclo manca direttamente il while per la condizione d'uscita del ciclo stesso, ecc

Dopo si può passare a corregerlo matematicamente
visto che effettua una moltiplicazione in più rispetto al dovuto
oppure a verificare se 'b' o 'e' siano negativi o '==0'.

Il compilatore che errori segna?
aaa
11/11/18 20:48
AldoBaldo
Ma... se sto usando int, com'è possibile calcolare una potenza con esponente negativo dando un risultato anche minimamente attendibile? Non viene sempre fuori zero? I miei ricordi del liceo sono sempre più appannati.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
11/11/18 22:21
lumo
Postato originariamente da AldoBaldo:

Ma... se sto usando int, com'è possibile calcolare una potenza con esponente negativo dando un risultato anche minimamente attendibile? Non viene sempre fuori zero? I miei ricordi del liceo sono sempre più appannati.

All'incirca, ma suppongo che la consegna implicitamente parli di potenze positive di numeri interi
aaa