webForumDet fria alternativet

Datum C

2 svar · 427 visningar · startad av Ella

EllaMedlem sedan mars 200927 inlägg
#1

Hej, ska spara personnummer i en txt-fil. Detta är en del av koden. Märker att personnummer som 123456-7890 inte fungerar (antar pga -). Något tips om hur jag löser det skulle uppskattas (förutom att ta bort -).

:)

MVH Ella

while(personnr !=0)
				{
					infil = fopen("namn.txt", "r");					
					printf("\nAnge personnummer: ");
					scanf("%d", &soktart);
					if (soktart == -0) {
					break;
					}
					while(fscanf(infil, "%d%s%", &personnr, namn))
					{
						if (personnr == soktart)
						{
							hittat=1;
							break;
						}
					}
					if (!hittat)
					{
						printf("Personnummer saknas");
						break;
					}
tydalMedlem sedan juni 20033 788 inlägg
#2

I scanf använder du %d för personnumret. %d betyder heltal. Sen kanske variabeln som du lagrar personnumret i också är av typen int, alltså heltal.

Om du vill kunna ha - i personnumret så är det inte längre något heltal, utan en textsträng precis som namnet, så du får behandla det på samma sätt.

LaspMedlem sedan juli 200010 197 inlägg
#3

Du använder inte ett personnummer! Finns inte 34 månader En bra persNr koll tar detta ;-)

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb