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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2013, 19:17   #1
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию Помогите с отладкой программы

Нужно сделать так, что при не правильном вводе двузначного числа его возвращало назад я не пойму куда поместить гоуту чтоб оно работало, вот прога:

#include<stdio.h>
#include<conio.h>
#include<iostream>
int main()
{

system("chcp 1251");
system("cls");

int b, a, c;
m1:
printf("Введите двузначное число :");
scanf_s("%d", &b);
if(b<10 && b>99) goto m1;
else printf_s ("Следуйте дальше");
printf("Введите число а :");
scanf_s("%d", &a);
{
c = (b%10 + b/10)%a;
if (c==0) printf( "Кратно а");
else printf ("Не кратное");
}
_getch();
return 0;
}
dykee вне форума Ответить с цитированием
Старый 20.10.2013, 19:25   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,378
По умолчанию

Лучше без goto.
Постарайтесь про него не вспоминать при написании программ.
На крайняк этот оператор может пригодиться, когда Вам надо покинуть тело цикла, который сам вложен в несколько циклов. Но до этого ...

Тут вполне сработает цикл с постусловием
do
...
<ввод числа>
...
while <условие>; // Условие у Вас уже прописано


Как-то так, ...
Как-то так, ...
ViktorR на форуме Ответить с цитированием
Старый 20.10.2013, 19:31   #3
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

А вы б не могли вашу отладку всунуть в мою программу, а то я Вас не очень понял
dykee вне форума Ответить с цитированием
Старый 20.10.2013, 19:48   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,378
По умолчанию

Вместо
Код:
m1:
printf("Введите двузначное число :");
scanf_s("%d", &b);
if(b<10 && b>99) goto m1;
else printf_s ("Следуйте дальше");
Надо:
Код:
do
   printf("Введите двузначное число: ");
   scanf_s("%d", &b);
while ((b<10) && (b>99));
Вот только знаки сравнения < или >
Проверь пошагово.


Как-то так, ...
Как-то так, ...
ViktorR на форуме Ответить с цитированием
Старый 20.10.2013, 19:50   #5
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

Спасибо большое
dykee вне форума Ответить с цитированием
Старый 20.10.2013, 19:56   #6
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

Код:
#include<stdio.h>
#include<conio.h>
#include<iostream>
int main()
{

system("chcp 1251");
system("cls");

int b, a, c;

do
printf("Введите двузначное число :");
scanf_s("%d", &b);// подчеркивает скан и пишет expected "while"
while((b<10) && (b>99)); 

printf("Введите число а :");
scanf_s("%d", &a);
{
c = (b%10 + b/10)%a;
if (c==0) printf( "Кратно а");
else printf ("Не кратное");
}
_getch();
return 0;
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.10.2013 в 00:47.
dykee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с отладкой pinkiller Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 24.04.2012 22:54
Есть проблемка с отладкой программы warder Общие вопросы C/C++ 9 25.05.2010 23:02
проблема с отладкой staaas1k Общие вопросы C/C++ 4 05.05.2010 16:36
Проблемы с отладкой программы lenuxoid Общие вопросы Delphi 5 22.12.2008 08:30