ayuda con con un do while

condesitadeirun
22 de Noviembre del 2005
Hola!! Acabo de comenzar un ciclo de informatica y para unos deberes que tengo se me ha presentado este problema, es un problema de sintaxis con la sentencia IF
Lo demás del programa funciona bien pero esto no...
/*Programa numeros perfectos*/
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
int cont,cont1,suma,suma1,nume,nume1;
cont=1;
suma=0;
printf("\n Introduce un numero:");
scanf("%i",&nume);
do
{
if(nume%cont==0)
suma=suma+cont;
cont=cont+1;
}
while(cont<nume);
cont1=1;
suma1=0;
printf("\n Introduce un numero:");
scanf("%i",&nume1);
do
{
if(nume1%cont1==0)
suma1=suma1+cont1;
cont1=cont1+1;
}
while(cont1<nume1);
if(suma1==nume)&&(suma1=nume)
printf("\n El numero es amigo");
else

printf("\n El numero no es amigo");
getch();
}

Espero que me ayudeis
Gracias

kike
22 de Noviembre del 2005
Solo veo mal el if que decide si son amigos, faltan parentesis y signos y cambiar alguna variable
if(suma1==nume)&&(suma1=nume)
deberia ser
if((suma1==nume)&&(suma==nume1))
veras en el codigo que he sustituido el aumento del contador en los bucles por el operador ++, esto hace lo mismo es de c++, y el operador += no se si lo acepta c, ademas he quitado cosas delos printf y scanf que no admitia mi compilador.
Lo he probado y funciona.
#include <stdio.h>
#include <conio.h>

void main()
{

int cont,cont1,suma,suma1,nume,nume1;
cont=1;
suma=0;
printf("n Introduce un numero:");
scanf("%i",&nume);
do
{
if(nume%cont==0)
suma+=cont;
cont++;
}
while(cont<nume);
cont1=1;
suma1=0;
printf("n Introduce un numero:");
scanf("%i",&nume1);
do
{
if(nume1%cont1==0)
suma1+=cont1;
cont1++;
}
while(cont1<nume1);
if((suma1==nume)&&(suma==nume1))
printf("n El numero es amigo");
else

printf("n El numero no es amigo");
getch();
}