Avatar billede dj-sejler Praktikant
14. november 2004 - 13:53 Der er 6 kommentarer og
1 løsning

kontrol af format i inddata

hej folkens...

jeg er så sprit ny udi C

men jeg skulle bruge en lille funktion-ting der kontrollere min inddata fra brugeren.

hvor det ene format er på følgende form: 19.3245 (som komma)
andet format: 23:11:23

hvor jeg så self skal noget forskelligt hvis det er det ene og noget andet hvis det er det andet..

håber i forstår
Avatar billede dj-sejler Praktikant
14. november 2004 - 13:56 #1
jeg ved ikke om det er vigtigt... men det skal være C
Avatar billede dj-sejler Praktikant
14. november 2004 - 14:05 #2
kommer lige noget mere data...

jeg har gemt inddata i en char inddata[7]

den skal så kontroleres for om det er på formen: 19,3564 (maks 20,0000 og med 4 decimaler), hvor den så skal gemme dataen i en ny char: nytid[6]

eller på formen 23:22:54 (der er klokken i timer:min:sek) og gemme den i en anden char gtid[7]

Er det til at forså?
Avatar billede egede Nybegynder
14. november 2004 - 18:15 #3
hvis dataen ikke kan komme ind på andre måder, kan du bl.a. lavet et check for om det er et tidsformat på denne måde:

if(inddata[2] == ':' && inddata[5] == ':')
{
// Din tidsfunktion her
}else if(inddata[2] == '.')
{
  double nyTid = atoi( inddata.c_str() ); //konverterer til et tal
}else
{
// Ingen af de ovenstående formater passer
}


(Bemærk at man bruger et "." som komma, om man så må sige... Dette kan du jo evt lave en funktion der erstatter, hvis du vil)
Avatar billede jpk Nybegynder
15. november 2004 - 08:26 #4
Du skal bruge en buffer med mere plads end 7 tegn, "23:22:54" fylder 8 tegn og du skal også have plads til nultermineringen, så minimum 9 tegn...
Avatar billede dj-sejler Praktikant
16. november 2004 - 00:46 #5
--> egede
tror du kom med det brugbare svar...
Avatar billede egede Nybegynder
16. november 2004 - 13:24 #6
Jamen så vil jeg da lægge et svar.
Men jpk har nu også ret i at bufferen skal være lidt større :)
Avatar billede dj-sejler Praktikant
05. december 2004 - 17:28 #7
Jeg kan ikke rigtig huske hvad jeg gjorde... men det egede har svaret med, ligner det rigtige så her er de point...
/dj-sejler
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester