Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Calcolatrice con uso di memoria in C !
Forum - C/C++ - Calcolatrice con uso di memoria in C !

Avatar
lucalanza29 (Normal User)
Newbie


Messaggi: 3
Iscritto: 20/06/2019

Segnala al moderatore
Postato alle 13:58
Giovedì, 20/06/2019
Salve a tutti . L'esercizio mi dice di implementare le operazioni di somma, sottrazione , moltiplicazione, divisione e percentuale. Poi inserendo ">M" carico in memoria e "<M" per richiamare in memoria
Es.
input: 3+2
output:5
input:>M
output: Hai caricato 5 in Memoria
input: <M +7
output:12
Codice sorgente - presumibilmente C++

  1. #include "stdlib.h"
  2. #include "stdio.h"
  3.  
  4. int main()
  5.  
  6. {      
  7.  
  8.    char SC;
  9.    float num1,num2,ris;
  10.    float M=0;
  11.    
  12.    
  13.    
  14.    
  15.    for (;;) {
  16.    
  17.    printf("Digita 4 per uscire dal programma: \n");      
  18.    printf("Esegui: \n");
  19.    scanf("%f%c%f" , &num1, &SC , &num2);
  20.      
  21.  
  22.          
  23.    
  24.          
  25.           switch(SC)                                            
  26.         {
  27.  
  28.                  
  29.                   case '+':
  30.             {
  31.                
  32.                                 ris=num1+num2;
  33.                  
  34.                                 printf("il risultato e' %f\n",ris);
  35.                                 M= ris;
  36.                                
  37.                        
  38.                  break;
  39.                  
  40.                 }
  41.                  
  42.                  
  43.                   case '-':
  44.             {
  45.                 ris=num1-num2;
  46.                                 printf("il risultato e' %f\n",ris);
  47.                     M= ris;
  48.                          
  49.                           break;
  50.                 }
  51.  
  52.               case '>':
  53.                 {
  54.                  
  55.                     printf("Hai inserito %f in Memoria", M);
  56.                    
  57.                           break;
  58.                         }
  59.                   case '*':
  60.                         {
  61.                          
  62.                          
  63.                           break;
  64.                         }
  65.                   case '/':
  66.                         {
  67.        
  68.                           break;
  69.                         }
  70.                   case '4':
  71.                         {
  72.                      return(0);
  73.                    
  74.             }
  75.        
  76.          
  77.            
  78.            }
  79.  
  80.  
  81.      system("pause");
  82.  
  83.    }
  84.   return 0;
  85. }





il mio problema è come faccio a caricare in memoria e richiamare in memoria ?


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:17
Giovedì, 20/06/2019
Usa una variabile (magari la chiami mem) in cui copi l'output o da cui prelevi il valore corrente.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
lucalanza29 (Normal User)
Newbie


Messaggi: 3
Iscritto: 20/06/2019

Segnala al moderatore
Postato alle 18:28
Giovedì, 20/06/2019
si infatti inserisco il risultato nella variabile M . il  problema è come faccio con lo switch perchè  inserisco prima il 1 numero poi l'operazione ed il 2 numero. Invece per caricare in memoria non mi interesso dei numeri ma soltanto dell'operazione (>M).

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:50
Giovedì, 20/06/2019
Devi fare l'input in una sola stringa. E poi esaminare la stringa per capire quale operazione devi eseguire, separando le varie parti.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
lucalanza29 (Normal User)
Newbie


Messaggi: 3
Iscritto: 20/06/2019

Segnala al moderatore
Postato alle 13:20
Venerdì, 21/06/2019
Come faccio in una stringa se inserisco numeri?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:08
Venerdì, 21/06/2019
Separi la parte numerica dal simbolo e la converti in numero con le opportune funzioni di libreria.



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote