Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2009, 19:36   #1
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию Структура на С++

Дана структура телефонного справочника. Заменить номера телефонов начинающихся на 22 на 66.
Структуру составил, а с заменой проблема. Попробовали сделать, но чушь какая-то получилось. Вот:
Код:
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "locale.h"
#include "stdlib.h"
#include "string.h"

struct tel
{
	char name[30];
	char address[30] ;
	int number;
};
struct tel tel1[10];

void main ()
{
	setlocale (LC_ALL, "Rus");
	strcpy(tel1[0].name,"Акулова Т.К.");
	strcpy(tel1[0].address,"Вокзальная 15-101");
	tel1[0].number=225293;

	//
	strcpy(tel1[1].name,"Бегин П.В.");
	strcpy(tel1[1].address,"Проспект героев 58А-9");
	tel1[1].number=324571;

	//
	strcpy(tel1[2].name,"Гурин В.И.");
	strcpy(tel1[2].address,"30 лет победы 25-14");
	tel1[2].number=338679;

	//
	strcpy(tel1[3].name,"Иложева А.А.");
	strcpy(tel1[3].address,"30 лет победы 27-26");
	tel1[3].number=224455;

	//
	strcpy(tel1[4].name,"Куликов А.Н.");
	strcpy(tel1[4].address,"Коммунистическая 55-50");
	tel1[4].number=228076;

	//
	strcpy(tel1[5].name,"Локтаев С.И.");
	strcpy(tel1[5].address,"Свердлова 13-40");
	tel1[5].number=355060;

	//
	strcpy(tel1[6].name,"Миронов А.В.");
	strcpy(tel1[6].address,"Пролетарская 55-1");
	tel1[6].number=228607;

	//
	strcpy(tel1[7].name,"Рабецкая М.Г.");
	strcpy(tel1[7].address,"Проезд строителей 6-3");
	tel1[7].number=293851;

	//
	strcpy(tel1[8].name,"Савинова Е.В.");
	strcpy(tel1[8].address,"Факел Социализма 33-6");
	tel1[8].number=322252;

	//
	strcpy(tel1[9].name,"Хабарова Т.В.");
	strcpy(tel1[9].address,"Менделеева 9-15");
	tel1[9].number=220736;


	printf("Ф.И.О \t\t");
	printf("адрес \t\t\t");
	printf("номер телефона \t\n");
	printf("\n");
	int i;
	for (i=0; i<=9; i++)
	{
		printf("%s \t", tel1[i].name);
		printf("%s \t", tel1[i].address);
		printf("%i \t\n", tel1[i].number);
	}
	int p,d;
	printf ("Введите 2 первые цифры заменяемого номера:", p);
    scanf ("%s", &p);
    printf ("Введите 2 заменяющие цифры:", d);
    scanf ("%s", &d);

	for(i=0; i<9; i++)
	{
		if((tel1[i].number<=p*1000)||(tel1[i].number<=p*1000))
		tel1[i].number=tel1[i].number+42000;
	}
	getch ();
	
}
Darh вне форума Ответить с цитированием
Старый 16.12.2009, 19:58   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
	printf ("Введите 2 первые цифры заменяемого номера:", p);
    scanf ("%d", &p);
    printf ("Введите 2 заменяющие цифры:", d);
    scanf ("%d", &d);

	for(i=0; i<10; i++)
	{
		if(tel1[i].number/10000 == p)
			tel1[i].number = tel1[i].number - p*10000 + d*10000;
	}
netrino вне форума Ответить с цитированием
Старый 16.12.2009, 20:23   #3
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию

Спасибо, работает
Darh вне форума Ответить с цитированием
Старый 16.12.2009, 23:27   #4
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию

А вот если учесть, что это не номера телефонов, а просто числа(в принципе оно так и есть, но эт не суть важно), как из них найти 3 наименьших числа?
Darh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Структура. bpystep Помощь студентам 12 24.11.2009 00:28
структура hungry Общие вопросы C/C++ 11 25.06.2009 20:31
структура Cpluser Общие вопросы C/C++ 4 16.06.2009 17:42
Структура SL1CK Общие вопросы C/C++ 8 08.06.2009 21:31
Структура IF в С++ lebrosha Помощь студентам 3 22.05.2009 00:09