Compila, mas não roda [RESOLVIDO]

1. Compila, mas não roda [RESOLVIDO]

Alessandro Medeiros
AlessandroO

(usa Ubuntu)

Enviado em 23/06/2013 - 13:42h

Pessoal, por favor tentem rodar este programa de teste que eu fiz, aqui ele está compilando mas não esta rodando (sou iniciante em programação).



Aqui está o .cpp:

//-----------------------------------------------------
//Inclusão de Bibliotecas

#include "teste1.hpp"

//-----------------------------------------------------
//Programa principal

int main()
{

do
{
escolha=op;
switch(escolha)
{
case 1:
leias();
break;
case 2:
entradaparap();
break;
case 3:
calculap();
break;
}
}while(escolha!=0);
return 0;
}

//-----------------------------------------------------
//função menu()
int menu()
{
do
{
printf("\n1: Função leia");
printf("\n2: Função entrada");
printf("\n3: Função calcula");
scanf("%d",&op);
}while((op>0)||(op<=3));
}
//-----------------------------------------------------
//função entrada
int entradaparap()
{
printf("\nDigite uma Base: ");
scanf("%d",&a);
printf("\nDigite uma potência: ");
scanf("%d",&b);
return a,b;
}
//-----------------------------------------------------
//função calcula
int calculap()
{
pot=pow(a,b);
printf("\nO valor é %d\n\n",pot);
}
//-----------------------------------------------------
//função leia
void leias()
{
for(i=0;i<NALUNOS;i++)
{
printf("\nDigite o nome: ");
scanf("%s", alunos[i].nome);
printf("\nDigite a idade: ");
scanf("%d", &alunos[i].idade);
}
for(i=0;i<NALUNOS;i++)
{
printf("\nNome %s",alunos[i].nome);
printf("\nIdade %d",alunos[i].idade);
}
}

e aqui o .hpp:

//-----------------------------------------------------
//Incluindo de bibliotecas
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
//-----------------------------------------------------
//ALgumas contantes

#define NALUNOS 2
//-----------------------------------------------------
//Declarando variáveis globais

int i;
int a,b,pot;
int escolha;
int op;

struct dalunos
{
char nome[80];
int idade;
}alunos[NALUNOS];
//-----------------------------------------------------
//Declarando funções
int menu();
int calculap();
void leias();
int entradaparap();





  


2. Re: Compila, mas não roda [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 24/06/2013 - 14:51h

Se o programa simplesmente sai sem executar qualquer função interativa, então ele está funcionando em perfeito acordo com o que você programou (escolha começa valendo zero, esse valor não é alterado em parte alguma, e você sai do laço de repetição e da função main() quando escolha==0). Se você quer que ele faça alguma outra coisa, vai ter de mudar o programa.

Em tempo: não é usual -- ou, em outras palavras, é considerado prática ruim -- gerar código dentro de um arquivo com extensão ".h". Gerar código não é apenas definir funções (coisa que você não faz; apenas as declara, o que é certo), mas também definir variáveis globais (e isso você faz, mas deveria evitar). O "certo" -- grosseiramente equivalente a declaração de protótipo de função -- seria você listar as variáveis globais como de ligação externa, e definir seus valores em algum arquivo ".c" ou ".cpp". Veja o exemplo abaixo.

/* arquivo xxxxx.h */

extern int var1; /* um valor inteiro */
extern const char *const name; /* uma string constante */


/* arquivo xxxxx.c */

/*
Abaixo não se tem apenas uma declaração, mas sim uma definição
de valor: como o compilador tem de reservar espaço para as
variáveis globais, esse valor é preenchido com zero, se você
não atribuir explicitamente algum outro valor.
*/
int var1; /* equivale a ``int var1=0;´´ */

/*
O mesmo vale para ponteiros, sejam eles constantes ou não. Só
que eu não quero que ``name'' seja um poteiro nulo.
*/
const char *const name="Paulo";







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts