Luis Briga 0 Posted April 29, 2020 Report Share Posted April 29, 2020 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 post Share on other sites
Procrastinator 0 Posted September 16, 2020 Report Share Posted September 16, 2020 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 post Share on other sites
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