daily pastebin goal
21%
SHARE
TWEET

zio can

a guest Jan 18th, 2019 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // --------------------------------------------------------------
  2. // Nome: mirko
  3. // Cognome: ganio
  4. // Consegna: 1bis) Scrivere una funzione che calcolatrice() che
  5. // legge due numeri (usando la leggiNumero()) e un carattere che
  6. // rappresenta una operazione (+, -, *, /) e restituisce il
  7. // risultato.
  8. // --------------------------------------------------------------
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <conio.h>
  12.  
  13. int lc(){  //funzione leggi cifra
  14.         char cifra; //variabile input utente
  15.         int risul=0; //variabile output di funzione
  16.         int numero; //variabile contenete il valore intero del tasto premuto
  17.         int maxnum = 8; //valore che indica il numero massimo di valori inseribili
  18.         int invio=13;
  19.         while(maxnum > 0) {
  20.                 cifra=getch();
  21.                 while ((cifra<'0'||cifra>'9')&&cifra!=invio) {
  22.                         cifra=getch();
  23.                 }
  24.                 numero=cifra-'0';//si sottrae 48(codice ascii) al carattere inserito dall'utente
  25.  
  26.                 if(cifra!=13) {//condizione eseguibile solo sinchè non vine premuto enter(valore ascii 13)
  27.                         risul=numero+risul*10;//moltiplicazione in base 10 dei numeri inseriti
  28.                         maxnum--;
  29.                 } else{
  30.                         maxnum = 0;//variabile per lo stop del while in modo forzato
  31.                 }
  32.         }
  33.  
  34.         return(risul);
  35. }
  36. //-----------------------------------------------------------------------------------
  37. // funzione LL 'leggi lettera' chiede all 'utente di inserire una lettera MAIUSCOLA
  38. // o minuscola e se minuscola la trasforma in maiuscola prima di stamparla
  39. //-----------------------------------------------------------------------------------
  40. char LL(){
  41.         char car=0;
  42.         car=getch();
  43.         while(car!='+'&&car!='-'&&car!='*'&&car!='/') { //controllo
  44.                 car=getch();
  45.         }
  46.  
  47.         return(car);
  48. }
  49.  
  50.  
  51.  
  52. float cal(){
  53.         float risul=0;
  54.         int numero1=0;
  55.         int numero2=0;
  56.         int operatore=0;
  57.         if (operatore=='-') {
  58.                 risul=numero1 - numero2;
  59.         }else if(operatore=='+') {
  60.                 risul=numero1 + numero2;
  61.         }else if (operatore=='*') {
  62.                 risul=numero1 * numero2;
  63.         }else if (operatore=='/' && numero2!=0) {
  64.                 risul=numero1 / numero2;
  65.         }else if (numero2==0) {
  66.                 printf("[Errore] mettendo 0 nel secondo numero ottieni infinito" );
  67.         }
  68.         return(risul);
  69. }
  70.  
  71. int main() {
  72.         float risul=0;
  73.         int numero1=0;
  74.         int numero2=0;
  75.         char operatore=0;
  76.         printf("\nbenvenuto nella calcolatrice inserisci il primo numero" );
  77.         numero1=lc();
  78.         printf("%d",numero1 );
  79.         printf("\ninserisci un operatore tra + - / *    " );
  80.         operatore=LL();
  81.         printf("%c",operatore );
  82.         printf("\ninserisci il secondo numero" );
  83.         numero2=lc();
  84.         printf("%d",numero1 );
  85.         printf("\n%f",cal());
  86.         return 0;
  87. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top