Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // --------------------------------------------------------------
- // Nome: mirko
- // Cognome: ganio
- // Consegna: 1bis) Scrivere una funzione che calcolatrice() che
- // legge due numeri (usando la leggiNumero()) e un carattere che
- // rappresenta una operazione (+, -, *, /) e restituisce il
- // risultato.
- // --------------------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- int lc(){ //funzione leggi cifra
- char cifra; //variabile input utente
- int risul=0; //variabile output di funzione
- int numero; //variabile contenete il valore intero del tasto premuto
- int maxnum = 8; //valore che indica il numero massimo di valori inseribili
- int invio=13;
- while(maxnum > 0) {
- cifra=getch();
- while ((cifra<'0'||cifra>'9')&&cifra!=invio) {
- cifra=getch();
- }
- numero=cifra-'0';//si sottrae 48(codice ascii) al carattere inserito dall'utente
- if(cifra!=13) {//condizione eseguibile solo sinchè non vine premuto enter(valore ascii 13)
- risul=numero+risul*10;//moltiplicazione in base 10 dei numeri inseriti
- maxnum--;
- } else{
- maxnum = 0;//variabile per lo stop del while in modo forzato
- }
- }
- return(risul);
- }
- //-----------------------------------------------------------------------------------
- // funzione LL 'leggi lettera' chiede all 'utente di inserire una lettera MAIUSCOLA
- // o minuscola e se minuscola la trasforma in maiuscola prima di stamparla
- //-----------------------------------------------------------------------------------
- char LL(){
- char car=0;
- car=getch();
- while(car!='+'&&car!='-'&&car!='*'&&car!='/') { //controllo
- car=getch();
- }
- return(car);
- }
- float cal(){
- float risul=0;
- int numero1=0;
- int numero2=0;
- int operatore=0;
- if (operatore=='-') {
- risul=numero1 - numero2;
- }else if(operatore=='+') {
- risul=numero1 + numero2;
- }else if (operatore=='*') {
- risul=numero1 * numero2;
- }else if (operatore=='/' && numero2!=0) {
- risul=numero1 / numero2;
- }else if (numero2==0) {
- printf("[Errore] mettendo 0 nel secondo numero ottieni infinito" );
- }
- return(risul);
- }
- int main() {
- float risul=0;
- int numero1=0;
- int numero2=0;
- char operatore=0;
- printf("\nbenvenuto nella calcolatrice inserisci il primo numero" );
- numero1=lc();
- printf("%d",numero1 );
- printf("\ninserisci un operatore tra + - / * " );
- operatore=LL();
- printf("%c",operatore );
- printf("\ninserisci il secondo numero" );
- numero2=lc();
- printf("%d",numero1 );
- printf("\n%f",cal());
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement