Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Сформировть массив по правилу https://www.cyberforum.ru/ cpp-beginners/ thread417781.html
из элементов массива a,заполненного целыми числами,сформировть массив b того же размера по правилу:четные элементы массива a удвоить, нечетные оставить без измененний!
Работа с клавиатурой. C++
Итак, понадобилось поработать с клавой. Прочитал про keybd_event и иже с ними. Но вопрос-можно ли отключить клавиатуру? То есть, чтобы при нажатии клавиш ничего не происходило? Выдернуть шнур не предлагать)
C++ задача на Массив https://www.cyberforum.ru/ cpp-beginners/ thread417777.html
Дан масив Скопировать все его элементы в другой массив такого же размера в обратном порядке расположения элементов
C++ [C++] Указатели весчь ? Хочу узнать + и - указателей и узнать у народа пользуетесь ли вы ими или нет https://www.cyberforum.ru/ cpp-beginners/ thread417764.html
Обмен значений между двумя вещественными переменными. C++
Помогите пожалуйста, решить задачи =))) Разработайте процедуру, которая получает через параметры две вещественные переменные х, у и обменивает переменные их значениями. Например, до вызова процедуры переменные имеют значения: х=5; у=8. После вызова процедуры переменные имеют значения: х=8; у=5. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг....
C++ Написать программу нахождения суммы чисел по правилу (n-нечетное) a^1 + a^3 + a^5 + ... + a^n https://www.cyberforum.ru/ cpp-beginners/ thread417760.html
C++ Как использовать ASCII value в условии Программу надо остановить при вводу CTRL + D он же (^D) он же EOT (end of transmission) он же ASCII value 4. Как правильно ввести это в условие, если EOT не работает? (почему то) Ниже, пример кода, с EOF (end of file) Короче что нужно подставить вместо EOF, чтобы программа заканчивала ввод с клавиатуры после нажатия CTRL + D Пожалуйста, помогите! https://www.cyberforum.ru/ cpp-beginners/ thread417752.html Объявить класс содержащий 1 переменную А закрытого типа. C++
объявить класс содержащий 1 переменную А закрытого типа. И функцию которая считывает переменную введенную с клавиатуры и выводит на экран. Функция открытого типа
C++ Ошибка на динамическом выделении памяти программа ниже безупречно выполнялась под С++Builder 6.0 (консольное приложение). При переводе ее в VC6.0 (кроме сделанных исправлений - замена константы системной M_PI на #define pi 3.14159 и устранеия цепляний компилятора к for(int i=0;i<..)) она стала давать сбой на динамическом выделении памяти . *x=new float; *X=new ShortComplex; Вот исходник #include <stdio.h> #include... https://www.cyberforum.ru/ cpp-beginners/ thread417738.html C++ Найти значение заданного разряда дробной части вещественного числа. https://www.cyberforum.ru/ cpp-beginners/ thread417725.html
Помогите пожалуйста, решить задачи=))) Разработайте функцию, которая вычисляет и возвращает в качестве своего результата значение заданного разряда дробной части вещественного числа. Вещественное число и номер разряда функция получает через параметры. Разряды пронумеруйте от десятичной точки на право, начиная с единицы. Для решения используйте функции Int, Frac. Запрещено создавать темы с...
C++ Скорость сходимости, составить код для вычисления.
задание в прикреплённом файле. Вот ещё вопрос, тут само равенство правильное? Тоесть оно равно левой и правой стороне?
C++ Структуры.Обясните что это Здрасте :) !Я ни как не могу понять что означает "структуры".Помогите пожалуста ответте на вопросы: 1.Что такое структуры? 2.Зачем они нужны в программе? 3.Приведите примеры ихнего создавания и использования. Буду благодарен.Зарание всем спасибо. https://www.cyberforum.ru/ cpp-beginners/ thread417718.html
7 / 7 / 3
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
0

Switch - case vs While loop - C++ - Ответ 2329845

26.12.2011, 12:50. Показов 1301. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Код нормально работает если используется While loop и do - while, но криво работает если switch-case

Коротко о коде: Надо подсчитать кол - во букв, слов и строк. Ввод текста заканчивается при вводе ^C (EOF). При switch case version почему то ввод текста заканчивается при нажатии enter при этом ничего нормально не считается.

Как поправить код?

Код ниже

Switch case version
Код
// function example
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
using namespace std;
char ch;

int main ()
{
  
  cout <<"enter your text: " ;
  cin >> ch; 


    int numChars = 0; 
	int numLines = 0;
	int numWords = 0;

	switch ((ch=getchar())!= EOF)
    {
	/*numChars++;	*/
		
	case  ' '||'\t' ||'\n' : numWords++; break;
	  
	case  '\n' :			 numLines++; break;

	default  :				 numChars++; break;
			 
    }

	

	numLines += 1; // for some reason it needs to add one and the results are correct

 cout << "CharCounter results: " << numChars;
 cout << endl;

 cout <<"WordsCounter results: " << numWords;
 cout << endl;

 cout <<"LinesCounter results: " << numLines;
 cout << endl;

  system ("pause");
  return 0;
}

while loop version

Код
// function example
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
using namespace std;
char ch;

int main ()
{
  
  cout <<"enter your text: " ;
  cin >> ch; 


    int numChars = 0; 
	int numLines = 0;
	int numWords=0;
	char  Wch = ch == ' ' || ch == '\t' ||ch == '\n';

	while ((ch=getchar())!= EOF)
    {
	/*numChars++;	*/
		
     if (ch == ' '  || ch == '\t' ||ch == '\n'  )
		
		 numWords++;// increase the count of characters by one if ch is NOT '\n' AND NOT a blank space
	  
	 else 
			 {
	   numChars++;
			 }

	 if(ch == '\n')
			 {
	   numLines++; // increase the count of lines by one if ch IS '\n'

			 }
    }
	numLines += 1; // for some reason it needs to add one and the results are correct

 cout << "CharCounter results: " << numChars;
 cout << endl;

 cout <<"WordsCounter results: " << numWords;
 cout << endl;

 cout <<"LinesCounter results: " << numLines;
 cout << endl;

  system ("pause");
  return 0;
}


Вернуться к обсуждению:
Switch - case vs While loop C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2011, 12:50
Готовые ответы и решения:

Оптимальная конструкция switch-case-while / while-switch-case
Имеется конструкция типа: switch() { case 1: while() { ... }

Switch case внутри switch case
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл...

switch-case, как писать в самом case
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в...

Ошибка: break statement not within loop or switch
#include &lt;iostream&gt; using namespace std; int main() { int a, b, nok, nod, x, y, i; cout...

3
26.12.2011, 12:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2011, 12:50
Помогаю со студенческими работами здесь

[Error] break statement not within loop or switch
break statement not within loop or switch В чем проблема? #include&lt;iostream&gt;...

Исправить ошибку: break statement not within loop or switch
#include &lt;iostream&gt; using namespace std; int main() { int x; {cout &lt;&lt; &quot;Grade&quot;; ...

'continue' not in the 'loop' or 'switch' context in
Так понимаю, что типа continue не есть участником цикла. Но у меня строка начинается с if, а это...

switch case
как в блок-схеме изображается switch case?

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru