Advertisement
Guest User

zio can

a guest
Jan 18th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement