/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /* * File: T9_05_calcolatrice_complessi.c * Author: Salvatore * * Created on 2 dicembre 2019, 14.47 */ #include #include #include void somma(float a, float b, float c, float d){ float real, imm; real= a+c; imm= b+d; if (imm>0) printf("La somma tra Z, W e %.2f +%.2f i",real,imm); else if (imm==0) printf ("La somma tra Z, W e %.2f", real); else printf("La somma tra Z, W e %.2f %.2f i",real,imm); } void differenza (float a, float b, float c, float d){ float real,imm; real=a-c; imm=b-d; if (imm>0) printf("La differenza tra Z, W e %.2f +%.2f i",real,imm); else if (imm==0) printf ("La differenza tra Z, W e %.2f", real); else printf("La differenza tra Z, W e %.2f %.2f i",real,imm); } void prodotto (float a, float b, float c, float d){ float real, imm; real = a*c-b*d; imm=(a*d+b*c); if (imm>0) printf("Il prodotto tra Z e W vale %.2f +%.2f i",real, imm); else if (imm==0) printf("Il prodotto tra Z e W vale %.2f",real); else printf("Il prodotto tra Z e W vale %.2f %.2f i", real,imm); } void rapporto (float a, float b, float c, float d){ float real, imm; real=((a*c+b*d)/(c*c+d*d)); imm=((b*c-a*d)/(c*c+d*d)); if (imm>0) printf("Il rapporto tra Z e W vale %.2f +%.2f i",real,imm); else if (imm==0) printf("Il rapporto tra Z e W vale %.2f",real); else printf("Il rapporto tra Z e W vale %.2f %.2f i", real , imm); } /* * */ int main(int argc, char** argv) { float a,b,c,d; char ch; printf("Inserisci la parte reale di Z\t"); scanf("%f",&a); printf("Inserisci la parte immagginaria di Z\t"); scanf("%f", &b); printf("Inserisci la parte reale di W\t"); scanf("%f",&c); printf("Inserisci la parte immagginaria di W\t"); scanf("%f", &d); printf("Quale operazione vuoi eseguire? (+,-,*,/)"); ch=0; while (ch!='+' && ch!='-' && ch!='*' && ch!='/') ch=getchar(); if (ch=='+') somma(a,b,c,d); else if (ch=='-') differenza (a,b,c,d); else if (ch=='*') prodotto (a,b,c,d); else if (ch=='/') rapporto (a,b,c,d); return (EXIT_SUCCESS); }