No compila bien
Publicado por Juankr (1 intervención) el 07/04/2008 12:18:27
Estoy haciendo un programa que haga lo siguiente:
Quan volem "declarar" una funció (dir quin nom té, quins paràmetres i quin tipus retorna), escrivim només la seva capçalera:
int xifra_N(int x, int n);
Amb això n'hi ha prou per saber quins paràmetres rep la funció, quin nom té (com la cridarem) i quin tipus retorna (per obtenir el resultat). Respectant la declaració (o capçalera) de la funció xifra_N, implementa-la, sabent que el càlcul que realitza és extreure una xifra d'un número enter. El resultat no és un char, sino un int. Les xifres de l'enter es numeren desde 1 (la de la més a la dreta) i van creixent segons les desenes. La següent taula mostra el resultat de cridar la funció per a diversos valors d'entrada:
xifra_N( 123, 1) 3
xifra_N(7054, 2) 5
xifra_N(3892, 3) 8
xifra_N( 104, 7) 0
xifra_N( 45, 0)
0
Fixa't que quan la funció no pot obtenir la xifra que se li demana, retorna 0 (els dos últims cassos).
y he escrito este codigo pero no me lo compila:
#include <iostream>
using namespace std;
int xifra_N(int x, int n);
int d=10;
while (n > 0){ //el dev c++ se para en esta linea y dice que falta un ;
d=d*10;
n--;
}else{
x=0;
}
cout << (x%d) << endl;
int main(){
int a, b;
cin >> a >> b;
xifra_N (int a, int b);
system("pause");
}
Quan volem "declarar" una funció (dir quin nom té, quins paràmetres i quin tipus retorna), escrivim només la seva capçalera:
int xifra_N(int x, int n);
Amb això n'hi ha prou per saber quins paràmetres rep la funció, quin nom té (com la cridarem) i quin tipus retorna (per obtenir el resultat). Respectant la declaració (o capçalera) de la funció xifra_N, implementa-la, sabent que el càlcul que realitza és extreure una xifra d'un número enter. El resultat no és un char, sino un int. Les xifres de l'enter es numeren desde 1 (la de la més a la dreta) i van creixent segons les desenes. La següent taula mostra el resultat de cridar la funció per a diversos valors d'entrada:
xifra_N( 123, 1) 3
xifra_N(7054, 2) 5
xifra_N(3892, 3) 8
xifra_N( 104, 7) 0
xifra_N( 45, 0)
0
Fixa't que quan la funció no pot obtenir la xifra que se li demana, retorna 0 (els dos últims cassos).
y he escrito este codigo pero no me lo compila:
#include <iostream>
using namespace std;
int xifra_N(int x, int n);
int d=10;
while (n > 0){ //el dev c++ se para en esta linea y dice que falta un ;
d=d*10;
n--;
}else{
x=0;
}
cout << (x%d) << endl;
int main(){
int a, b;
cin >> a >> b;
xifra_N (int a, int b);
system("pause");
}
Valora esta pregunta


0