Anime i manga en català

Moderadors: Guiru, Maki

 
Avatar de l’usuari
LuXNa
Ushinchu
Ushinchu
Entrades: 999
Membre des de: dg. 22 maig 2005, 17:11
Ubicació: Veient la "millor" guerra de tots els temps
Contacta:

Codi Postal a C++

dg. 04 oct. 2009, 17:04

Hola! L'altre dia em van demanar a classe que fes un programa que em preguntes el nom i diverses dades. M'he decidit per fer un programa autobiogràfic molt curt, però tinc un problema... Quan vull posar el Codi Postal, és en el meu cas 08901, no aconsegueixo que surti el 0 o bé no surt res...

He declarat de diverses maneres (int, long, char (no té gaire sentit sent un nombre), float, double, signed, unsigned), però no hi ha manera... A vegades em surt un nombre estrany, a vegades diversos tipus de caràcters, a vegades un nombre llarguissim i a vegades també l'aplicació es "trenca" (error). En el darrer cas, si depuro, em surt el missatge: "Una violació d'accés (Segmentation Fault) ha ocorregut en el vostre programa".

Sabeu com puc fer per, mitjançant la funció scanf, em surti bé per pantalla amb printf el codi postal?? El codi és aquest (no és el de la biografia, és un per comprovar errors):

#include <stdio.h>
#include <stdlib.h>

main()
{
int codipostal;
printf("Introdueix Codi Postal: ");
scanf("%d",codipostal);

printf("Has dit que el teu codi postal es %s\n",codipostal);

system("PAUSE");
}


Aquí hi ha la variable declarada amb int, però he probat diverses maneres de declarar. A més a més, no puc inicialitzar, he d'escriure jo en pantalla quan m'ho demani (gràcies al scanf).

Per cert, utilitzo el BloodShed cpp, més conegut com Dev C++.
Imatge
 
Avatar de l’usuari
Bilkoff
Moderadors
Moderadors
Entrades: 972
Membre des de: dt. 05 oct. 2004, 19:22

Re: Codi Postal a C++

dg. 04 oct. 2009, 19:27

Crec que era una cosa així:
printf("Has dit que el teu codi postal es %5d\n",codipostal);
PD: Si llegeixes un int (%d), després escriu un int (%d), no un string (%s).
 
Avatar de l’usuari
LuXNa
Ushinchu
Ushinchu
Entrades: 999
Membre des de: dg. 22 maig 2005, 17:11
Ubicació: Veient la "millor" guerra de tots els temps
Contacta:

Re: Codi Postal a C++

dg. 04 oct. 2009, 19:36

Solucionat! Era el que deies bilkoff, a més que al scanf em faltava posar la "&" (ampersan). Ara ja ho tinc tot bé. Gràcies!!
Imatge
 
Avatar de l’usuari
Mad93
Moderadors
Moderadors
Entrades: 5850
Membre des de: dj. 27 nov. 2003, 20:00
Ubicació: Vivint a la universitat ><
Contacta:

Re: Codi Postal a C++

dl. 05 oct. 2009, 10:15

No sé quin compilador empres, però solen tenir alguna directiva per a que et doni tots els warnings possibles del programa (si compiles amb gcc és -Wall). Va bé quan vols trobar que falla (i t'avisa de que POT fallar).
Imatge
Tant avorrit que m'he fet un bloc... un més. Servidor mig online...
 
Avatar de l’usuari
Maki
Moderadors
Moderadors
Entrades: 6323
Membre des de: dt. 18 maig 2004, 17:02
Ubicació: Donde-puedo-verte
Contacta:

Re: Codi Postal a C++

dl. 05 oct. 2009, 10:41

Bé, el principal error que hi ha es tractar el Codi Postal com a un número.
Un codi postal no es suma, ni es resta, ni es fa cap operació matemàtica amb ell. Per tant, al posar-ho com número s'esborren els 0 a l'esquerra a no ser que especifiquis un format, com ha estat el cas.

La millor manera hagués estat declarar-lo com String des de bon principi i llestos.
Imatge
 
Avatar de l’usuari
Kero
Administrador
Administrador
Entrades: 1901
Membre des de: dc. 03 des. 2003, 16:00
Ubicació: Dressrosa

Re: Codi Postal a C++

dc. 07 oct. 2009, 22:43

Exacte! Això feia jo l'any passat jeje, però amb C encara que veig que és igual. Fer alguna cosa tipus:

MAXCODE 5

char codipostal[MAXCODE]

i au, crec que era així, llarga vida a C! xD
The weak don't get to choose how they die. - Donquixote Doflamingo
 
Avatar de l’usuari
Mad93
Moderadors
Moderadors
Entrades: 5850
Membre des de: dj. 27 nov. 2003, 20:00
Ubicació: Vivint a la universitat ><
Contacta:

Re: Codi Postal a C++

dc. 07 oct. 2009, 22:48

#define MAXCODE 5
char codiPostal[MAXCODE];
;)
Imatge
Tant avorrit que m'he fet un bloc... un més. Servidor mig online...
 
Avatar de l’usuari
Kero
Administrador
Administrador
Entrades: 1901
Membre des de: dc. 03 des. 2003, 16:00
Ubicació: Dressrosa

Re: Codi Postal a C++

dc. 07 oct. 2009, 23:06

Mad93 ha escrit:
#define MAXCODE 5
char codiPostal[MAXCODE];
;)


si, massa resumit ho vui fer eh jaja.
The weak don't get to choose how they die. - Donquixote Doflamingo

Qui està connectat

Usuaris navegant en aquest fòrum: No hi ha cap usuari registrat i 18 visitants