halo gan saya mau nanya gimana caranya mengisi full name untuk scan di input c ya

#include <stdio.h>

int main()

{

char name[25];

int dob;

int age;

scanf("%s %d",&name,&dob);

age = 2020 - dob;

printf("Hello %s, this year you are %d years old",name,age);

return 0;

}

ini codingan c saya, sy bingung gimana untuk bisa menginput nama lengkap (ex = budi martin djoko) tanpa menganggu input integer.

Soal :

3. Reads fullname and year of birth, then show the fullname and age

Input: anonymous 2000

Output: Hello anonymous, this year you are 19 years old

jadi itu yg diatas adalah soalnya dia meminta input untuk memasukan nama lengkap tpi saya bingung gimana untuk memasukan input tersebut , tolong bantuannya ya

avatar Nanakon
@Nanakon

1 Kontribusi 0 Poin

Diperbarui 3 tahun yang lalu

Tanggapan

Btw kenapa tag nya java & javascript? ._.

ganti judul kamu ya, ngga perlu tulis "halo gan saya mau nanya..."

2 Jawaban:

<div>Coba bikin 2X inputan. Input nama sendiri, input tahun lahir sendiri.<br><br>Your name : [ketik nama, enter]<br>Your birthday : [ketik tgl lahir, enter]<br>Hello xxx, this year you are yy years old<br><br>Lebih jelas yang diinputkan apa, karena ada keterangannya, alur programnya juga lebih gampang.<br>Kalo pake 1 inputan gimana tau panjang nama lengkapnya? Bisa aja kan nama lengkapnya 2 kata, 3 kata, dst...</div>

avatar ChronoJava
@ChronoJava

41 Kontribusi 23 Poin

Dipost 3 tahun yang lalu

Tanggapan

tdi nya juga berpikir gitu bro , tpi ini harus sesuai dengan input dan output yang dimau soal

<div>Ada satu cara, tapi hanya akan bekerja dengan asumsi bahwa nama tidak akan mengandung angka<br><br>1.&nbsp; Ambil sebaris input<br><br>2. Cari index dari angka yang pertama kali muncul</div><pre>Misal, “abc 591” index = 4</pre><div><br>3. Lalu gunakan fungsi atoi untuk mengekstrak angkanya</div><pre>int tahun = atoi(str + index); // dimana str adalah baris inputan (sudah termasuk tahunnya) // dan index adalah index angka yang sebelumnya sudah dicari</pre><div><br>Kurang lebih seperti itu bisa sih, hanya saja memang ribet. Mungkin bisa menggunakan cara lain seperti regex + scanf(?), tapi entahlah, belum saya coba juga :D</div>

avatar kodergan
@kodergan

51 Kontribusi 58 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban