webForumDet fria alternativet

Datum C

C/C++

2 svar · 429 visningar · startad av Ella

Medlem sedan mars 200927 inlägg
Frågan#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;
					}
Medlem sedan juni 20034 013 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.

Medlem sedan juli 200012 978 inlägg
#3

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

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)