Luis Briga Posted April 29, 2020 at 04:07 PM Report Share #617980 Posted April 29, 2020 at 04:07 PM Boas, estou com um problema no código ao chamar uma função para o programa principal. O exercício pretende que o utilizador introduza 5 números e usando uma função que ao ser chamada verifique se o array dos números lido é positivo, se não for, o programa acaba, usando um return ou exit(). O meu problema é que ao chamar essa função para o programa principal não faz absolutamente nada, é como se não estivesse ali. O meu código é o seguinte: Agradeço a quem possa ajudar 🙂 #include <stdio.h> #include <iostream> #include <locale.h> int positivo (int A[5]) { int i; if ((A[i])<0){ printf ("\n Erro... Isso não é um número positivo!"); scanf ("%d",&A[i]); } } int main () { setlocale (LC_ALL,"Portuguese"); int num[5],i; for (i=1;i<=5;i++) { printf ("\n Número %d: ",i); scanf ("%d",&(num[i])); positivo (num); } for (i=1;i<=5;i++) { printf ("\n %d",num[i]); } } Link to comment Share on other sites More sharing options...
Procrastinator Posted September 16, 2020 at 09:44 PM Report Share #619366 Posted September 16, 2020 at 09:44 PM Boas, O código ñ faz muito sentido. Se isto é suposto ser C++ stdio.h ñ deveria ser utilizado, mas sim iostream (que embora esteja a ser incluido, std::cout e std::cin ñ estão ser utilizados). Qual é a necessidade do setlocale (LC_ALL,"Portuguese");? A função positivo declara a variavel i mas ñ a inicializa com nada e também ñ retorna nada. E... mais alguns erros.. mas o código tem que levar uma forte revisão. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now