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); } }
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.
jep, kiitosta, koitan tutkailla tuota.
Aihe on jo aika vanha, joten et voi enää vastata siihen.