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

Ошибка при использовании цикла while - C++

Восстановить пароль Регистрация
 
TheSecret
10 / 25 / 1
Регистрация: 20.09.2013
Сообщений: 461
10.04.2014, 22:59     Ошибка при использовании цикла while #1
Здравствуйте! вот у меня цикл while, не с постусловием, ругается на S=S->next; и C=C->next;
во всех остальных процедурах работает норм, а здесь не пойму че так, без этого не как как помне, но если кто-то подскажет как по другому, то буду только рад
вот в общем код процедуры ниже, строчки на которые ругается сделал жирно и подчеркнуто!
код ошибки: Warning ...cpp ...: Unreachable code
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
void input_skidka(Products*Ps,Skidka &B,Products2*Ps2) {
clrscr();
 
if(!Ps) {
cout<<"Cpicok tovarov pyct!"<<endl;
cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
getchar();
return;
}
 
int ids;
cout<<"Vvedite ID tovara"<<endl;
cin>>ids;
 
 
Products*S=Ps;
Products2*C=Ps2;
while(S&&C) {
 if (ids==S->P.id&&ids!=C->H.id) {
 cout<<"--------------------------------------------------------------------------------";
cout<<"|"<<setw(4)<<"ID";
cout<<"|"<<setw(15)<<"Nazvanie";
cout<<"|"<<setw(4)<<"Cena";
cout<<"|"<<setw(6)<<"Valuta";
cout<<"|"<<setw(11)<<"Kolichectvo";
cout<<"|"<<setw(11)<<"Data zavoza";
cout<<endl<<"--------------------------------------------------------------------------------";
 print_product(S->P);
 cout<<endl<<"--------------------------------------------------------------------------------";
 int ye;
cout<<endl<<"Vi k etomy tovary hotite dobavit skidky(1-da,2-net)?";
cin>>ye;
if(ye==1) {
if(ids!=C->H.id) {
B.id=S->P.id;
strcpy(B.name,S->P.name);
B.price=S->P.price;
strcpy(B.value,S->P.value);
B.number=S->P.number;
strcpy(B.last_date,S->P.last_date);
cout<<"Vvedite skidky"<<endl;
cin>>B.skid;
cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
getchar();
return;}
else {cout<<endl<<"Skidka na danniy tovar yje ect!";
cout<<endl<<"V nachale ydalite ctaryy ckidky!";
getchar();
return;
}
}
getchar();
return;
}
else {
cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
getchar();
return;
}
[B][U]S=S->next;
C=C->next;[/U][/B]
}
cout<<endl<<"Ne verniy ID!";
cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
getchar();
return;
}
Добавлено через 13 минут
проблему сам решил только что, лишний елсешник с ретурном
вот что получилось
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
void input_skidka(Products*Ps,Skidka &B,Products2*Ps2) {
clrscr();
if(!Ps) {
    cout<<"Cpicok tovarov pyct!"<<endl;
    cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
    getchar();
    return;
}
int ids;
cout<<"Vvedite ID tovara"<<endl;
cin>>ids;
Products*S=Ps;
Products2*C=Ps2;
while(S&&C) {
    if (ids==S->P.id) {
        cout<<"--------------------------------------------------------------------------------";
        cout<<"|"<<setw(4)<<"ID";
        cout<<"|"<<setw(15)<<"Nazvanie";
        cout<<"|"<<setw(4)<<"Cena";
        cout<<"|"<<setw(6)<<"Valuta";
        cout<<"|"<<setw(11)<<"Kolichectvo";
        cout<<"|"<<setw(11)<<"Data zavoza";
        cout<<endl<<"--------------------------------------------------------------------------------";
        print_product(S->P);
        cout<<endl<<"--------------------------------------------------------------------------------";
        int ye;
        cout<<endl<<"Vi k etomy tovary hotite dobavit skidky(1-da,2-net)?";
        cin>>ye;
        if(ye==1) {
            if(ids!=C->H.id) {
                B.id=S->P.id;
                strcpy(B.name,S->P.name);
                B.price=S->P.price;
                strcpy(B.value,S->P.value);
                B.number=S->P.number;
                strcpy(B.last_date,S->P.last_date);
                cout<<"Vvedite skidky"<<endl;
                cin>>B.skid;
                cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
                getchar();
                return;
            }
            else {
                cout<<endl<<"Skidka na danniy tovar yje ect!";
                cout<<endl<<"V nachale ydalite ctaryy ckidky!";
                getchar();
                return;
            }
        }
        else {
        cout<<endl<<"Dla perehoda v menu najmite ENTER"<<endl;
        getchar();
        return;
        }
    }
    S=S->next;
    C=C->next;
}
//cout<<endl<<"Ne verniy ID!";
cout<<endl<<"!Dla perehoda v menu najmite ENTER"<<endl;
getchar();
return;
}
ПРОШУ ТЕМУ ЗАКРЫТЬ
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 22:59     Ошибка при использовании цикла while
Посмотрите здесь:

C++ ошибка при использовании delete
Ошибка в коде при использовании класов C++
Ошибка при использовании конструктора C++
Ошибка при использовании STL C++
Ошибка при использовании вектора C++
Ошибка при использовании new[] / delete[] C++
C++ Ошибка при использовании %
C++ Ошибка при использовании reverse_iterator

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru