Pb lecture d'une struct date
Voici le prog
En fait j'ai un pb concernant la saisi d'uen struct date.
Ce qui est saisi est forc�ment de type string ,non?
Comment le mettre dans ma struct date?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <cstdlib>
#include <iostream>
struct Date { int d; int m; int y;};
void aff(struct Date D)
{
std::cout << D.d;
std::cout << D.m;
std::cout << D.y;
};
void lis()
{
std::string s;
Date D2;
std::cin >> s;
};
void init(struct Date D1)
{
Date D3;
D3.d = D1.d;
D3.m = D1.m;
D3.y = D1.y;
aff(D3);
};
int main()
{
Date D1 = {20,10,05};
aff(D1);
lis();
init(D1);
system("PAUSE");
return 0;
} |
Merci pour vos conseils
Re: Pb lecture d'une struct date
salut,
Citation:
Envoy� par smag
Ce qui est saisi est forc�ment de type string ,non?
euh... ben non. tout peut �tre saisie. int, double, string, char...
on peut aussi utiliser les flux (>>,<<) pour des classes perso, il suffit dans ce cas de surcharger les op�rateurs pour ladite classe.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #include <iostream>
using std::cout;
using std::cin;
using std::endl;
using std::ostream;
using std::istream;
struct Date
{
int d;
int m;
int y;
Date(int dd=0,int mm=0, int yy=0)
:d(dd),m(mm),y(yy)
{}
};
ostream& operator << (ostream& flux, Date & D)
{
flux << D.d << "\\" << D.m << "\\" << D.y;
return flux;
}
istream& operator >> (istream& flux, Date & D)
{
flux >> D.d >> D.m >> D.y;
return flux;
}
int main ()
{
Date D1;
Date D2;
cout << "Entrez une date : ";
cin >> D1;
cout << "Entrez une autre date : ";
cin >> D2;
cout << "Vous avez entrez ces dates : " << D1 << " et " << D2 << endl;
cout << "Moi je vous propose plutot ces dates : " << Date(01,01,1970) << " et " << Date(03,03,2005) << endl;
return EXIT_SUCCESS;
} |
test�, no problemo.
:ccool: