Напечатать список людей, чье имя совпадает с именем, которое ввел пользователь - C (СИ) (75330)
Формулировка задачи:
Задание:
Объявить структуру, содержащую строки, соответствующие имени и фамилии человека. Создать массив из 10 таких структур, инициализировать их именами и фамилиями любых известных людей. Напечатать список людей, чье имя совпадает с именем, которое ввел пользователь.
Код:
Меня сейчас интересует чисто проверка работы структуры (давно с ними не работал). К самому заданию вернусь чуть позже.
Ошибка:
Почему он не понимает, что 'imya' - это объявленная структура? Помогите разобраться.
Интересует |12| - ошибка
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
struct imya
{
char name[20], cename[20];
};
imya t,b;
t = {"Vasya", "Pupkin"};
b = {"Petya","Tikovkin"};
printf ("%s\n%s",t,b);
getch();
}|6|warning: return type of 'main' is not 'int' [-Wmain]|
||In function 'main':|
|12|error: unknown type name 'imya'|
|13|error: expected expression before '{' token|
|14|error: expected expression before '{' token|
|15|warning: format '%s' expects argument of type 'char *', but argument 2 has type 'int' [-Wformat]|
|15|warning: format '%s' expects argument of type 'char *', but argument 3 has type 'int' [-Wformat]|
|16|warning: implicit declaration of function 'getch' [-Wimplicit-function-declaration]|
||=== Build finished: 3 errors, 4 warnings (0 minutes, 12 seconds) ===|
|Решение задачи: «Напечатать список людей, чье имя совпадает с именем, которое ввел пользователь»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct imya {
char name[ 20 ], cename[ 20 ];
};
int main( void ) {
struct imya t, b; // везеде нужно тащить с собой слово struct при объявлении переменных типа imya
strcpy( t.name, "Vasya" ); //t = {"Vasya", "Pupkin"};
strcpy( t.cename, "Pupkin" );
strcpy( b.name, "Petya" ); // b = {"Petya","Tikovkin"};
strcpy( b.cename, "Tikovkin" );
printf( "%s %s\n", t.name, b.cename );
return 0;
}