Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему в mas[i].Nomer хранится DOC и Famil? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно иметь следующие http://www.cyberforum.ru/cpp-beginners/thread1105070.html
1. Согласно заданию реализовать класс абстрактного типа данных (далее АТД) как динамический массив. Для этого определение класса должно иметь следующие поля: • указатель на начало массива;...
C++ Шифр Вижиненра, шифр скитала Я много прочитал информации и захотел реализовать эти шифры на Buider C++, а вот как это сделать. Кому интересно, напишите мне примеры этих кодов. Интересно ведь) http://www.cyberforum.ru/cpp-beginners/thread1105049.html
Управление вводом с клавиатуры в С++ C++
Добрый день, подскажите как добиться вот этого результата на С++ вот пример: нажимаю я клавишу "1", по нажатию выполняется ++a, а как только отпущу, то --a. Данный результат должен выводиться на...
Что значит запись в макросе C++
#define MAX(x,y) (x > y ? x : y) Собсно,макрос,который находит наибольшее число. Вначале идёт сравнение,а вот дальше я не понял,для чего нужны знаки ? и : .
C++ Найти наименьшее число среди четных элементов последовательности http://www.cyberforum.ru/cpp-beginners/thread1105030.html
Напишите пожалуйста программу по условию задачи :Вводится последовательность из N положительных целых чисел. Найти наименьшее число среди четных элементов последовательности. Заранее благодарю за...
C++ Не выводит список введенный с клавиатуры Программа должна выводить с начало список всех игроков и ниже тех которые играют в основном составе... а выводит только тех которые забиты до компиляции :( #include"stdafx.h" #include"iostream"... подробнее

Показать сообщение отдельно
xTr1m
29 / 29 / 8
Регистрация: 06.03.2013
Сообщений: 151
25.02.2014, 13:59
Мне лично такое решение не нравится, но поскольку именно с C я дело имею не часто, то так хотя бы работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct TEL
{
    char Nomer[8];
    char COD[4];
    char Famil[21];
};
 
int main()
{
    struct TEL *mas;
    int i, N;
    printf("KOLUCHESTBO TELEFONOV: ");
    scanf("%d", &N);
    mas=(struct TEL*)calloc(N, sizeof(struct TEL));
    for(i=0; i<N; i++)
    {
        int Len=0;
        do
        {
            printf("BBedite Nomer abonenta");
            scanf("%s", mas[i].Nomer);
            Len=strlen(mas[i].Nomer);
        }while (Len!=7);
        mas[i].Nomer[Len] = '\0';
 
        int Len1=0;
 
        do
        {
            printf("BBedite COD abonenta");
            scanf("%3s", mas[i].COD);
            Len1=strlen(mas[i].COD);
        }
        while (Len1!=3);
        mas[i].COD[Len1] = '\0';
 
        int Len2;
 
        do
        {
            printf("BBedite Famil");
            scanf("%s", mas[i].Famil);
            Len2=strlen(mas[i].Famil);
        }
        while(Len2>20);
        mas[i].Famil[Len2] = '\0';
    }
    for(i=0; i<N; i++)
    {
        printf("\n\t%s\t%s\t%s\t", mas[i].Nomer, mas[i].COD, mas[i].Famil);
    }
}
основная идея в том, чтобы завершать каждое текстовое поле символом '\0' (то есть окончание строки). может быть именно поэтому scanf "фигачил" в соседнее поле тоже
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.