Задать вопрос
HentaiEtoIskusstvo
@HentaiEtoIskusstvo

Как присвоить полям структуры значения вводимые с клавиатуры?

Предположим, мне нужно создать этакую мини анкету. Пользователь открыв программу видит на экране: "Введите имя" - вводит свое имя; "Введите фамилию" - вводит фамилию. То бишь, каждое вводимое пользователем значение должно присваиваться полю структуры. Позже эти поля, с уже присвоенными значениями, вывести на экран.
  • Вопрос задан
  • 1397 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Ответ написан
Комментировать
dio4
@dio4
team leader, system engineer, master of sports
#include <stdio.h>
#include <string.h>
char * s_gets(char * st, int n);
#define max_name 50

struct human {
	char name[max_name];
	char last_name[max_name];
} user;

int main(int argc, char * argv[])
{
	fputs("введите имя пользователя\n", stdout);
	s_gets(user.name, max_name);
	
	fputs("введите фамилию пользователя\n", stdout);
	s_gets(user.last_name, max_name);
	fputs("имя пользователя ", stdout);
	fputs(user.name, stdout);
	fputs("\n", stdout);
	fputs("фамилия пользователя ", stdout);
	fputs(user.last_name, stdout);
	fputs("\n", stdout);
	return 0;
}

char * s_gets(char * st, int n)
{
    char * ret_val;
    char * find;
    
    ret_val = fgets(st, n, stdin); 
    if (ret_val)
    {
        find = strchr(st, '\n');  
        if (find)                 
            *find = '\0';          
        else
            while (getchar() != '\n')
                continue;          
    }
    return ret_val;
}
/* Вывод
Linux Inspiron-3521 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ g++ struct_name.cc -o struct_name && ./struct_name
введите имя пользователя
Александр
введите фамилию пользователя
Иванов
имя пользователя Александр
фамилия пользователя Иванов

:-)

*/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы