Forum huvudsida -> Programmering -> problem med koden.. Hjälp :)
Sidor: 1
stekis | 17:33 - 18:e November 2006 | Post #1 | |
Medlem Inlägg: 4 Skicka PM |
Det här programmet ska räkna ut de 4 sista siffrorna i ett personnummer efter man har skrivit år, månad, dag och kön. Men istället för ett 10 siffrigt långt person nummer kommer massor av siffror. Ni hittar säkert en massa onödiga rader i koden men i alla fall.. vad är det största felet?
så... Vad är fel..? svara snällt ------------------------- Ingen signatur! |
The_code | 19:56 - 18:e November 2006 | Post #2 | |
Medlem Inlägg: 28 Skicka PM |
Vad händer då? ------------------------- Pillar med VB.NET, C++ och GameMaker |
Wael | 21:21 - 18:e November 2006 | Post #3 | |
Medlem Inlägg: 37 Skicka PM |
Jag vet inte vad som är fel men jag tycker att istället för att använda alla de där raderna med "using std" ibörjan så byt ut dem mot "using namespace std;"istället!! ------------------------- Ingen signatur! |
stekis | 11:18 - 20:e November 2006 | Post #4 | |
Medlem Inlägg: 4 Skicka PM |
Testa min kod så ser du vad som händer... Det kommer massa siffror istället för bara 10. hmm... jag kanske kom på.. Finns det nått sätt att få if/else funktionen att skilja på om variabeln har 1 eller 2 element? ------------------------- Ingen signatur! Senast redigerad 11:32 - 20:e November 2006 |
Dojjan | 12:13 - 20:e November 2006 | Post #5 | |
Medlem Inlägg: 114 Skicka PM |
En lösning vore ju att använda strings. Men du kan ju också använda strlen(char*). |
stekis | 13:45 - 20:e November 2006 | Post #6 | |
Medlem Inlägg: 4 Skicka PM |
Hur skulle du skriva koden då? Asså jag menar hur gör man. Jag är inte så bra på programmering än. Hur använder man strlen(char*)?? ------------------------- Ingen signatur! Senast redigerad 13:48 - 20:e November 2006 |
madah | 21:53 - 24:e November 2006 | Post #7 | |
Medlem Inlägg: 28 Skicka PM |
Finns mängder med fel i din kod. På rad 15 så skickar du med iSlumptal och iSlumptal1, men lite längre ner så deklarerar du helt nya variabler med samma namn som du dessutom tilldelar slumpmässiga värden. Varför skicka med dem som argument överhuvudtaget här? Samma misstag görs på rad 73 och 77. Här deklarerar du en ny variabel med namnet fslumptal, den tidigare fslumptal på rad 58 kommer förbli oförändrad/undefined. Felet med att konstiga siffror skrivs ut sker redan vid inläsningen. Vid rad 64 så komer inte två tecken att automatiskt läsas in i variabeln year, du läser dessutom in i den tredje positionen fast det bara finns två. Såhär skulle du kunna skriva inläsningen istället: std::string str; cout << "skriv in födelse år(skriv bara med 2 siffror annars blir allt fel alltså de två sista):"; cin >> str; year[0] = (int)str.c_str()[0] - '0'; year[1] = (int)str.c_str()[1] - '0'; Det som sker här: str.c_str()[0] betyder att man tar det första tecknet ur textsträngen. Men för textsträngen "0" så får du ut ascii-värdet 48, därför så tar man och subtraherar med '0'. |
stekis | 00:52 - 25:e November 2006 | Post #8 | |
Medlem Inlägg: 4 Skicka PM |
tack.. jag ändrar och postar den nya koden så fort jag kan. ------------------------- Ingen signatur! |
Sidor: 1
Forum huvudsida -> Programmering -> problem med koden.. Hjälp :)
Du får inte posta i den här tråden | Till toppen
Datum
2024-12-22 21:50
Vecka: 51
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.