Getchar()

Como puedo sumar 2 números ingresados por teclado, con el comando getchar(), si no se puede así, de que otra forma se podría hacer sin utilizar el scanf, es que es una tarea y es explicita, no se si se hace un arreglo un ciclo o algo así

3 Respuestas

Respuesta
1
Con el getchar se puede realizar perfectamente.
Solo que, cuando tengas los números, tendrás que pasarlos a decimal. Utiliza la función atoi, atof... según el tipo de dato numérico.
Ejemplo:
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
int main(int argc, char* argv[])
{
char nombres[2][20];
int i,j; // Variable para los bucles
char ch;
int suma=0;
// Introducción de nombres (MAX_NOMBRES)
for(j=0;j<2;j++) {
for(i=0; (i < 80) && ((ch = getchar()) != EOF)&& (ch != '\n'); i++ ) nombres[j] = (char)ch;
/* Terminate string with null character: */
nombres[j] = '\0';
}
for(j=0;j<2;j++) suma+=atoi(nombres[j]);
return 0;
}
Respuesta
1
Tiene un inconveniente y es que sólo recoge un carácter del teclado. Es decir, que solo podrías sumar números desde el 0 hasta el 9.
Podrías usar la función gets(cadena);, la cual recoge un array de caracteres, luego pasar este array de caracteres a valor numérico con la función atoi() y sumar.
Te pongo un ejemplo:
****************************
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char cadena1[5];
char cadena2[5];
cout << "\n\n\tIntroduce el primer número: ";
gets(cadena1);
cout << "\n\n\tIntroduce el segundo número: ";
gets(cadena2);
cout << "\n\n\tPrimer sumando: " << atoi(cadena1);
cout << "\n\n\tSegundo sumando: " << atoi(cadena2);
cout << "\n\n\tLa suma es: " << atoi(cadena1)+atoi(cadena2);
cin.get();
return 0;
}
***********************
Respuesta
-1
Si es en c++, puedes hacerlo con cin<< y escribir con cout>> . añadiendo la libreia stdio.h e iostream.h
No te entendí mucho, es que estoy recién comenzando, si pudieses ser más didáctico
Vale gracias, era lo que eu buscaba
#include <stdio.h>
#include <iostream.h>
#include <stdlib.>
int main (void)
{
int numero
cout<<"introduce un numero";
cin>>numero;
return numero;
}
Así lo entenderás mejor . no se si te valdrá

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas