Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-03-2012, 20:04   #1
Lamba
Member
 
Iscritto dal: Dec 2007
Messaggi: 121
[C] ciclo while e sqrt()

Sera
avrei svariati problemi con questo programmino che ho creato. quello che mi pare più strano è quello del ciclo while! attraverso il ciclo vorrei reiterare tutto il codice centrale, fino a quando l'utente non cambia il valore della variabile a fine ciclo!

un altro problema è la radice quadrata! non riesco ad usarla a dovere.

sapreste aiutarmi? vi posto il codice!
ps: è un semplice programmino che attraverso svariati if else calcola i risultati di una equazione di primo o secondo grado!
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{

    //variabile di controllo while
    int i=0;

    // variabili equazioni
    float a;
    float b;
    float c;
    float x;


    while (i!=1){
    system("cls");
    printf("########################\n");
    printf("# Risolvi equazioni v1 #\n");
    printf("########################\n");
    printf("# By Lamberto Basti    #\n");
    printf("########################\n\n");

    printf("Inserisci i valori di a, b e c:\n");
    printf("\na="); scanf("%f", &a);
    printf("b="); scanf("%f", &b);
    printf("c="); scanf("%f", &c);

    printf("\n");

    //a=0 Equazione di 1° grado
    if (a==0&&b!=0&&c!=0){
            x=-c/b;
            printf("\n L'equazione ha una sola soluzione: x=%f", x);
    }

    //b=0 Equazione pura
    else if (a!=0&&b==0&&c!=0){
            x=-c/a;

            if (x<0){
                float y=-x;
                y = sqrtf(x);
                printf("\nLequazione ha una soluzione complessa\n\n x=%0.1fi", y);}
            else {
                float y=sqrtf(x);
                printf("L'equazione ha due soluzione reali:\n x=%f\nx=%f", y, -y);}}

    //c=0 equazione spuria
    else if (a!=0&&b!=0&&c==0){
            float x2=-b/a;
            printf("L'equazione ha due soluzioni\n\n x=0\nx=%0.1f", x2);}

    //a=0 b=0 equazione
    else if (a==0&&b==0&&c!=0){
            if (c=0){
                printf("\nLequazione è sempre verificata per ogni valore di x");}
            else{printf("\nL'equazione non è mai verificata");}}

    //Equazione normale
    else if (a!=0&&b!=0&&c!=0){

            float delta=b*b-4*a*c;
            //delta<0
            if (delta<=0){
                float delta1=-delta;
                printf("L'equazione ha 2 soluzione complesse:\n\n");
                printf("(%0.1f-&0.1fi)/(2%0.1f)", -b, sqrtf(delta1), a);
                printf("(%0.1f+&0.1fi)/(2%0.1f)", -b, sqrtf(delta1), a);}
            else if (delta==0){
                printf("L'equazione ha 2 soluzioni reali coincidenti\n\n");
                printf("x=%0.1f", -b/(2*a));}
            else {
                printf("L'equazione ha 2 soluzioni reali\n\n");
                printf("x=%0.1f\n", (-b+sqrtf(delta))/(2*a));
                printf("x=%0.1f", (-b-sqrtf(delta))/(2*a));}}

    //a=0 c=0 b=0
    else if(a==0&&b==0&&c==0){
            printf("L'equazione e' verificata per ogni x");}

    //a=0 c=0 | b=0 c=0
    else {
    printf("L'equazione ha una soluzione\n\nx=0");}
    printf("\n\n");
    printf("> Esci 1\n");
    printf("> Indietro 2\n\n");
    printf(">"); scanf("&d", &i);

    }
return 0;
    }
Lamba è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2012, 20:24   #2
biowep
Member
 
L'Avatar di biowep
 
Iscritto dal: Nov 2010
Messaggi: 211
Il problema sta nell'acquisizione del dato
tu hai scritto
Codice:
scanf("&d", &i);
mentre la sintassi corretta è
Codice:
scanf("%d", &i);
il descrittore di formato per interi è "%d" non "&d"

non ho capito che problema hai con la radice quadrata
biowep è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 15:01   #3
Lamba
Member
 
Iscritto dal: Dec 2007
Messaggi: 121
che errore stupido xP grazie mille!
la radice ora mi ridà avevo sbagliato a scrivere la moltiplicazione! 2a invece che 2*a!
Lamba è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
25 mila taxi a guida autonoma per l'Euro...
La Space Force statunitense annuncia il ...
Acer: prezzi dei PC ancora in salita, il...
HONOR come Xiaomi: smartphone con displa...
Recensione Turtle Beach Stealth Pro II: ...
Semiconduttori organici, un nuovo metodo...
Il mercato smartwatch rallenta ma Huawei...
Amazon Haul, sconto del 15% su almeno 2 ...
Quasi il 90% degli sviluppatori di video...
Future Studies di Luca Locatelli in most...
ASUS ha lanciato il suo primo Mini PC co...
HillMiles MileCity1 torna disponibile a ...
Nel 2028 sarà lanciata la mission...
Un materiale rigido come pochi, ma isola...
Intel: fine delle ricompense fino a 100....
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: 10:48.


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