Форум программистов, компьютерный форум CyberForum.ru

Списки. Не выводит первую вводимую строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ графы и пути в них http://www.cyberforum.ru/cpp-beginners/thread1076654.html
Помогите пожалуйста Написать программу отыскания кратчайших путей между всеми парами вершин ориентированного графа по его списковому представлению
C++ Матрица (Объяснить, как запись считает количество строк не содержащих ни одного нулевого элемента) Объясните пожалуйста ,как вот эта запись считает количество строк не содержащих ни одного нулевого элемента. Что мы находим с помощью S++ и C++. int C = 0; for(int j = 0; j < 4; j++) { int S = 0; for(int i = 0; i < 3; i++) { if(A==0) S++; } http://www.cyberforum.ru/cpp-beginners/thread1076652.html
C++ ошибка в коде ?
#include <iostream> #include <cstdlib> #include <cstring> using namespace std; int main(){ const int Size=30; char name="программист С++"; cout<<name<<endl; name='\0'; cout<<name<<endl;
C++ Определение принадлежности точки к области
Надо определить принадлежность точки к заданной области. Рисунок прикрепил. Вот код который опередит входит-ли точка в окружности, так же идет проверка на то что-бы радиусы небыли нулевыми или меньше и точки окружностей не лежали на одной прямой. А как определить принадлежность треугольнику? Написать меньше 1 прямой(x1,y1;x3,y3), выше 2 прямой(x3,y3;x2,y2) и выше 3 прямой(x2,y2;x1,y1). Но...
C++ в чем ошибка http://www.cyberforum.ru/cpp-beginners/thread1076619.html
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() { setlocale(0, ""); double a,r,d; cout<<"сторона квадрата а= "<<endl;
C++ Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P — вещественное, 0 < P < 50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число). подробнее

Показать сообщение отдельно
DvogR
1 / 1 / 0
Регистрация: 28.10.2012
Сообщений: 30
20.01.2014, 18:39     Списки. Не выводит первую вводимую строку
Здравствуйте, проблема с списками, после ввода элементов в список, не выводит первый добавленный. вот код:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include "stdafx.h"
#include <iostream>
using namespace std;
 
typedef struct list
{
    int id;
    char firma[10];
    int cena;
    struct list* prev;
    struct list* next;
}mylist;
 
mylist* init_list(mylist* H)
{
    H= (mylist*)malloc(sizeof(mylist));
    printf("Введите ID принтера: \n");
    cin>>(H->id);
    printf("Фирма-изготовитель: \n");
    cin>>(H->firma);
    printf("Стоимость: \n");
    cin>>(H->cena);
    H-> next = NULL;
    H-> prev = NULL;
    return H;
}
    mylist* add_item(mylist* H)
{
    mylist *temp;
    temp = (mylist*)malloc(sizeof(mylist));
    printf("Введите ID принтера: \n");
    cin>>(H->id);
    printf("Фирма-изготовитель: \n");
    cin>>(H->firma);
    printf("Стоимость: \n");
    cin>>(H->cena);
    H->next = temp;
    temp->prev = H;
    temp->next = NULL;
    return temp;
}
    void print_list(mylist *H)
    {
        mylist *temp=H;
        while (temp->prev!=NULL) temp=temp->prev;
        while (temp)
        {
         cout<< temp->id;
         cout<< temp->firma;
         cout<< temp->cena<<endl;
         temp=temp->next;
        }
    }
//void print_item(mylist *H)
//{
//cout<<H->id;
//cout<<H->firma;
//cout<<H->cena<<endl;
//}
    void print_item(mylist *H)
    {
        cout<< H->id;
         cout<< H->firma;
         cout<< H->cena<<endl;
    }
 
int empty(mylist *H)
{
if (H==NULL) return 1;
else return 0;
}
 
int find_item(mylist *H)
{
    char find[10];
    int t=0;
    mylist *temp=H;
    printf("Введите фирму принтера: \n");
    cin>>("%s",find);
    while (temp)
    {
         if (strcmp(temp->firma,find)==0)
         { print_item(temp);
          ++t;   }
         temp=temp->prev;
    }
    return t;
}
 
int _tmain(int argc, _TCHAR* argv[])
{  setlocale(LC_ALL,"Russian");
    mylist *point=NULL;
    int var=1;
 
    cout<<("1. Создать список\n");
    cout<<("2. Вывод элементов\n");
    cout<<("3. Вывести элемент\n");
    cout<<("4. Выход\n");
  
    while (var!=4)
    {
     cout<<("Выберите пункт: \n");
    cin>>var;
     switch(var)
     {
     case 1: 
         {
         if (empty(point))
              {point=init_list(point);break;}
         else {(point=add_item(point));break;}
         }
     case 2:
         {
             if (!empty(point))
                  {print_list(point);break;}
             else {cout<<("Лист пуст!\n");break;}
         }
     case 3:
         {
         if (find_item(point)==0)
         cout<<("Нет такого элемента!\n");
         break;
         }
 
     case 4: {printf("Выйти из программы\n");break;}
     default:printf("Ошибка!\n");
     }
    }
    return 0;
}
Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru