Pentru o agendă de telefoane se cunoaşte (numărul de abonaţi, numele fiecărui abonat, numărul de
telefon, adresa). Să se scrie un program care afişează numele abonaţilor al căror număr de telefon
începe cu 47, şi numele abonaţilor care începe cu litera B.
Limbajul C de dorit
Răspunsuri la întrebare
Răspuns:
#include <stdio.h>
#include <string.h>
struct subscriber {
char name[20];
char phone[15];
char address[30];
};
int main() {
int n;
printf("Introduceti numarul de abonati: ");
scanf("%d", &n);
struct subscriber subscribers[n];
// Citeste detaliile abonatilor
int i;
for (i = 0; i < n; i++) {
printf("Introduceti detaliile abonatului %d:\n", i+1);
printf("Nume: ");
scanf("%s", subscribers[i].name);
printf("Numar de telefon: ");
scanf("%s", subscribers[i].phone);
printf("Adresa: ");
scanf("%s", subscribers[i].address);
}
printf("Abonatii cu numar de telefon care incepe cu 47: \n");
for (i = 0; i < n; i++) {
if (subscribers[i].phone[0] == '4' && subscribers[i].phone[1] == '7') {
printf("%s\n", subscribers[i].name);
}
}
printf("Abonatii cu nume care incepe cu litera B: \n");
for (i = 0; i < n; i++) {
if (subscribers[i].name[0] == 'B') {
printf("%s\n", subscribers[i].name);
}
}
return 0;
}
Explicație: