Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: välilyönti ongelma

kippis [24.11.2005 11:10:59]

#

Eli ohjelmassa kysytään 3 henkilön tiedot(nimi, osoite, ikä).
Tietoja syöttäessä välilyönti skippaa seuraavan kyselyn, esim. kirjotat nimeen matti meikäläinen niin silloin jää osoitteen pyyntö tekemättä ja ohjelmaa kysyy suoraan ikää. Jos taas syöttää mattimeikäläinen niin osoite kysytään ihan normaalisti, eli välilyönti tekee tuon, neuvokaa. kiitos. sorry tuo kauhean näköinen koodi.

#include <stdio.h>
#include <string.h>

struct HENKILO
{
   char nimi [21];
   char osoite [100];
   int ika;
};

   struct HENKILO henkilo[10];

   int i;
int main(void)
{
   for (i=0;i<3;i++)
   {
    printf("\nAnna nimi ");
   	scanf("%s",&henkilo[i].nimi);

    printf ("\nAnna osoite ");
    scanf("%s",&henkilo[i].osoite);

    printf ("\nAnna ikä ");
    scanf("%d",&henkilo[i].ika);
   }

   for (i=0;i<3;i++)
   {
       printf(" \nNimi: %s \nOsoite: %s \nIkä: %d", henkilo[i].nimi, henkilo[i].osoite, henkilo[i].ika);
   }
}

Metabolix [24.11.2005 11:41:46]

#

En tiedä, onko tämä standardia, mutta minulla ainakin toimii tällainen formaatti:

"%21[^\r\n]"

^ tarkoittaa, että ei niitä merkkejä.
\r ja \n ovat rivinvaihtomerkit.
21 on tekstin maksimipituus. Muista aina laittaa se, ettei mene varatun tilan yli.

kippis [24.11.2005 12:40:05]

#

jep, kiitosta, koitan tutkailla tuota.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta