[ Foro de C ]
Tengo una actividad en C que consiste sumar los numeros ingresados desde el primero al segundo ingresado, el programa me funciono perfectamente y sigue funcionando pero cuando use switch mi programa por ejemplo al poner el primer numero ingresado: 2 y el segundo: 5 imprimia: 2+3+4+5+6 aunque si da la respuesta correcta de 2+3+4+5, pero no se como hacer para que deje de imprimir ese 6
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int cont, num1, num2, suma=0, opc;
while (opc!=1)
{
system("cls"); //clear screen
printf("Menu\n0.Suma de ecuacion\n1.Salir\n");
printf("Dame una opcion:");
scanf("%i",&opc);
switch (opc)
{
case 0: printf("\n\tElige el numero en donde quiere que empiece su suma: ");
scanf("%i",&num1);
printf("\n\tElige el numero en donde quiera que termina su suma: ");
scanf("%i",&num2);
cont = num1;
printf("\n\t%i",num1);
while(cont<=num2){
suma+=cont;
cont++;
printf(" + %i",cont);
};
printf("\n\tLa suma de estos numeros es: %i\n\n",suma);
system("pause");
break;
case 1: printf("Bonito dia \n");
break;
default: printf("Error, opcion incorrecta\n\n");
system("\npause");
}
};
return 0;
}
El error está aquÃ:
while(cont<=num2){
suma+=cont;
cont++;
printf(\" + %i\",cont);
};
Sumas un número, pero lo incrementas y muestras el siguiente. DeberÃas hacer "cont++" después de escribir, no antes.
while(cont<=num2){
suma+=cont;
cont++;
printf(\" + %i\",cont);
};
El error se encuentra al poner cont++ antes del printf, debería ir después:
while(cont<=num2){
suma+=cont;
printf(\" + %i\",cont);
cont++;
};
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)