Advertisement
nRikee

Calculadora en C [En proceso...]

Apr 19th, 2012
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <math.h>
  5.  
  6. char buffer[40];
  7. int numero[20];
  8. int tamanyArray=-1; // De 0 a X. Exemple: "1+1#" = 3
  9.  
  10. int main()
  11. {
  12.     char selec;
  13.     //selec = menu();
  14.  
  15.     int i = -1;
  16.     while ( buffer[i]!=13 ){
  17.         i++;
  18.         buffer[i] = getch();
  19.         printf("%c",buffer[i]);
  20.     }
  21.     buffer[i]='#';
  22.     tamanyArray=i;
  23.  
  24.     printf("\n\n");
  25.  
  26.  
  27.     getOperadors();
  28.  
  29.     // Comprobació
  30.     printf("\n\n Probes 2:\nNumero[0] -> %d",numero[0]);
  31.     printf("\nNumero[1] -> %d",numero[1]);
  32.     printf("\nNumero[2] -> %d",numero[2]);
  33.     printf("\nNumero[3] -> %d",numero[3]);
  34.     printf("\nNumero[4] -> %d",numero[4]);
  35.     // Fi comprobació
  36.  
  37.     return 0;
  38. }
  39.  
  40. int nombreDeNombres(int x){
  41.     int i=x;
  42.     int comptador=0;
  43.  
  44.     if(buffer[i]!='#' && x<=tamanyArray)
  45.         while( ( buffer[i]!='+' && buffer[i]!='-'&& buffer[i]!='*'&& buffer[i]!='/'&& buffer[i]!='^' && buffer[i]!='#') )  { i++; comptador++; }
  46.     else comptador=-1;
  47.  
  48.     return comptador;
  49. }
  50.  
  51. int traure_numero(int x){
  52.     int i=nombreDeNombres(x), a=0, j=-1;
  53.     if (i==-1) return i;
  54.  
  55.     while( i>0 ){
  56.         i--;
  57.         j++;
  58.         a += (buffer[i+x]-'0')*pow(10.,j);
  59.     }
  60.  
  61.     return a;
  62. }
  63.  
  64. void getOperadors(){
  65.     int a=0, i=0;
  66.  
  67.     while( nombreDeNombres(a)!=-1 ){
  68.         numero[i] = traure_numero(a);
  69.         a += nombreDeNombres(a)+1;
  70.         i++;
  71.     }
  72.     printf("\n\n Fi getOperadors()");
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement