11 svar
127 visningar
Solenskiner behöver inte mer hjälp
Solenskiner 87
Postad: 21 feb 2022 13:56

Min if statement fungerar inte som den ska…

Hej! Jag vill se till så att personnummret börjar på 1 eller 2 . Min kod fungerar MEN när jag skriver personnumret så blir min if statement set to true ( till ex. Om jag skriver personnumret 200304057890 ) så står detta på min consol: ” Ogiltigt personnummer. Personnumret ska skrivas med 12 st. siffror”

och sedan hamnar jag i min whileloop ( detta är exakt det jag vill MEN då personnumret INTE börjar på 2 eller 1….. vad är det för fel på min kod jag ser Verkligen inte felet …😫 All hjälp uppskattas enormt mycket!!!

Laguna Online 30711
Postad: 21 feb 2022 14:04

Samma slags fel som här: https://www.pluggakuten.se/trad/min-consol-slutar-inte-ta-emot-input/

Yngve 40561 – Livehjälpare
Postad: 21 feb 2022 14:04 Redigerad: 21 feb 2022 14:15

EDIT - du jämför första tecknet, dvs en char, med heltalet 1 och heltalet 2. Du borde istället jämföra med '1' respektive '2', dvs med två char.

Sen i loopen så sätter du inte charArray igen.

Solenskiner 87
Postad: 21 feb 2022 14:11
Laguna skrev:

Samma slags fel som här: https://www.pluggakuten.se/trad/min-consol-slutar-inte-ta-emot-input/

Jag ser dock inte felet på just denna kod, koden där är inte identiskt

Yngve 40561 – Livehjälpare
Postad: 21 feb 2022 14:14

Pröva att ändra 1 till '1' och 2 till'2'.

Solenskiner 87
Postad: 21 feb 2022 14:18
Yngve skrev:

Pröva att ändra 1 till '1' och 2 till'2'.

Det borde funka nu men estade men min if statement blir ändå set to true 😣 

 

Laguna Online 30711
Postad: 21 feb 2022 14:32

Du testar om ett värde är skilt från ett visst värde eller skilt från ett visst annat värde. Det är alltid sant.

Solenskiner 87
Postad: 21 feb 2022 14:37

Jag testar väll om min chararray börjar på 2 eller 1 ( när jag skriver att mitt personnummer börjar på 2 eller 1 t.ex 200304058976 och 199907081234 så blir min if statement set to true dvs. Det som finns inuti min if statements body sker… men jag vill ju att detta inte ska ske, bara om personnumret INTE börjar på 2 eller 1, vilket personnumrera överst  gör dvs. Det som står inuti min if statement borde INTE säga rum, vilket det gör och jag ser inte exakt vad jag ska göra för att ändra på det.. vad exakt är det i min kod som inte stämmer? 

Solenskiner 87
Postad: 21 feb 2022 14:40

Eller rättare sagt som yngve nämnde, jag testar om man char array börjar på ’1’ eller ’2’

Laguna Online 30711
Postad: 21 feb 2022 14:51

Låt oss säga att det börjar på 1.

Vad blir charArray[0] != '1' då?

Solenskiner 87
Postad: 21 feb 2022 15:05

Tack så jättemycket!!!! Jag fattar nu!!! Jag skulle ändra min | | till && 

Solenskiner 87
Postad: 21 feb 2022 15:05

Allstå min eller tecken till och tecken 

Svara
Close