|
hehe..nk nyibuk guk..dulu sem 1 belaja C++..
tapi sangat tidak minat programming kerna sangat susah..
lagi pula ku budak network..................... |
|
|
|
|
|
|
|
er x de lg ke soalan assignment pasal C++ ni.
dah lama mindaku x disuruh memikirkan coding... |
|
|
|
|
|
|
|
er x de lg ke soalan assignment pasal C++ ni.
dah lama mindaku x disuruh memikirkan coding... |
|
|
|
|
|
|
|
cuba yang ini.
1. minta satu input daripada user
2. kenal pasti input tersebut adalah nombor kad pengenalan malaysia (mykad)
3. -jika input tidak sah, keluarkan mesej ralat dan minta user memasukkan input sekali lagi
-jika input sah, keluarkan mesej menyatakan jantina user.
hint:
1.mykad mestilah mempunyai 12 nombor(nombor sahaja)
2.jika no terakhir adalah ganjil, pemegang mykad tersebut adalah lelaki, dan sebaliknya.
selamat mencuba |
|
|
|
|
|
|
|
Reply 164# sepulnuar
- #include <iostream.h>
- void main ()
- {
- char no_ic[11], jantina;
- cout<<"Masukkan no ic ko : ";
- cin>>no_ic;
- if (no_ic[11] == '0' || no_ic[11] == '2' || no_ic[11] == '4'|| no_ic[11] == '6' || no_ic[11] == '8')
- jantina = 'f';
- else
- jantina = 'm';
- cout<<"jantina ko ialah : "<<jantina<<endl;
- }
Copy the Code
ni kod bodoh2 aku buat.C++ dah berkarat lama x guna |
|
|
|
|
|
|
|
Reply 165# otai_g
nice try. tp script kau ni mcm cuma boleh bezakan jantina sahaja. camne nak tau user punya input betul2 no mykad atau sebaliknya?
hint utk check no mykad:
1. no mykad mestilah 12 nombor.
2. semuanya mestilah nombor. huruf = invalid.
3. 6 angka pertama mestilah mewakili tarikh lahir pemegang mykad :-
contoh : 901231011234, 6 angka pertama = 901231, jadi tarikh lahir pemegang mykad tersebut ialah 31 disember 1990 (31/12/1990)
contoh input tidak sah:
- 90123101123, sebab no tak cukup 12
- 901231ab1234, sebab mengandungi huruf. (ab)
- 901240011234, sebab 6 angka pertama mewakili tarikh lahir yang tidak sah (40/12/1990) |
|
|
|
|
|
|
|
Reply 166# sepulnuar
yg syarat no ic tu aku x buat lg.
ada bnyk ms nant aku buat |
|
|
|
|
|
|
|
Reply 166# sepulnuar
done already bos.any comments?plz send more assignments hereafter..
- #include <iostream.h>
- #include <stdlib.h>
- #include <ctype.h>
- void main()
- {
- char no_ic[11], temp;
- int noic[11], bulan, hari, status;
- cout<<"Masukkan no ic ko : ";
- cin>>no_ic;
- for (int i=0;i<12;i++) {
- if ( (no_ic[i] == NULL) || (isalpha(no_ic[i])) ) {
- cout<<"Invalid character input!"<<endl;
- exit (-1);
- }
-
- else {
- temp = no_ic[i];
- noic[i] = atoi( &temp);
- }
- }
-
- bulan = noic[2]*10 + noic[3];
- hari = noic[4]*10 + noic[5];
- if ((bulan > 12) || (hari > 31))
- cout<<"Invalid Input(month/day)."<<endl;
- else
- {
- status = noic[11] % 2;
- if (status != 0)
- cout<<"Jantina ko ialah lelaki."<<endl;
- else
- cout<<"Jantina ko ialah perempuan."<<endl;
- }
- }
Copy the Code |
|
|
|
|
|
|
|
Reply 168# otai_g
1st thing 1st, nice improvement. but still ada kelemahan yang aku nampak:
1. line 7. char no_id[12] //no ic ada 12 characters, yang kau declare dlm tu cuma 11 element saja. betul x?
2. line 8. int noic[12] //reason sama mcm di atas
3. untuk bulan dan hari tu, kalau bulan = 2, hari = 31. logik error kan? kalau x silap aku c++ ada function utk dptkan tarikh :
#include <time.h>
_strdate()
ps: aku dah lama tak main c++ ni, kalau salah tolong betolkan.
10Q. |
|
|
|
|
|
|
|
Reply 169# sepulnuar
dlm array pengiraan index bermula dr 0.sbb tu dlm no ic tu array dia aku masukkan 11 sahaja sbb ia bermula dr 0.cth simple :-
no_ic[0] = no ic yg pertama (mewakili tahun)
no_ic[1] = no ic yg kedua (mewakili tahun)
.
...
.....
no_ic[11] = no ic yg ke 12 (mewakili jantina)
code ni just prototaip kasar sahaja.kalo nak diikutkan betul2 bkn bulan 2 sahaja yg akan ada error.
cthnya bulan ganjil ada 31 hari dan bulan genap ada 30 hari sahaja.
begitu juga dgn bulan 2 bg tahun lompat ada 29 hari dan bulan 2 bg tahun x lompat ada 28 hari.
kalo nak dipertimbangkan semua bnd2 ni jawabnya x buat kerja lain lah aku |
|
|
|
|
|
|
|
Post Last Edit by sepulnuar at 8-9-2010 22:47
Reply 170# otai_g
declare array ngan call array berbeza.
untuk declare array type int dgn 3 elemen:
int nombor[3];
untuk call array indeks ke-3:
cout<<nombor[2];
meaning kalau:
cout<<nombor[3]; //error, index out of range
check sini:
http://www.cplusplus.com/doc/tutorial/arrays/
ps:aku time blajar dulu pon slalu kompius time nak declare array. |
|
|
|
|
|
|
|
Reply 171# sepulnuar
woic.
paham2...
aku dah wat eksperimen.
mmg kalo declare array noic[4] mmg khas utk store 4 elemen sahaja dan bukannya 5 |
|
|
|
|
|
|
| |
|