Switch и иже с ним

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Noman, 14 Dec 2006.

  1. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Гуру, подскажите чайнику: у меня в самоучитиле задание - "Напишите программу, которая запрашивает у пользователя номер дня недели, а затем выводит название этого дня, используя оператор switch."

    Проблема в том, что в листинге нет этого примера, все показано лишь схематично. Вот я и не могу понять, как присвоить переменной текстовое значение, чтобы его использовать.
     
    1 person likes this.
  2. censored!

    censored! Green member

    Joined:
    2 Nov 2004
    Messages:
    1,159
    Likes Received:
    299
    Reputations:
    156
    Тебе же номер дня недели. Т.е. цифра.

    А присваивать - так и присваиваешь.

    В switch передай указатель.
     
    _________________________
  3. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    Code:
    #include <iostream.h>
    	int main()
    {
    	char pon[15] = "ponedelnik";
    	char vto[15] = "vtornik";
    	int numer;
    	cout << "?\n"; // Это хитрое древнее заклинание выводит на экран знак вопроса и вершит перевод на новую строку (\n)
    	cin >> numer;
    	switch (numer)
    	{
    		case 1: cout << pon << endl;
    		break;
    		case 2: cout << vto << endl;
    		break;
    		default: cout << "Сегодня к сожалению нет дня недели =\\";
    		break;
    	}
    	return 0;
    }
     
    #3 tclover, 14 Dec 2006
    Last edited: 14 Dec 2006
    2 people like this.
  4. Robin_Hood

    Robin_Hood Elder - Старейшина

    Joined:
    30 Oct 2006
    Messages:
    144
    Likes Received:
    155
    Reputations:
    47
    #include <stdio.h>

    int main( void )
    {
    int reply;

    puts("Enter day:");
    scanf("%d", &reply);

    switch (reply)
    {
    case 1:
    {
    puts("Sunday");
    break;
    {
    case 2:
    {
    puts("Monday");
    break;
    }
    case 3:
    {
    puts("Tuesday");
    break;
    }
    case 4:
    {
    puts("Wednesday");
    break;
    }
    case 5:
    {
    puts("Thursday");
    break;
    }
    default:
    {
    puts("Error");
    }
    }

    return 0;
    }
     
    #4 Robin_Hood, 14 Dec 2006
    Last edited: 14 Dec 2006
  5. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    tclover Все понял, единственное, что непонятно, что такое "?\n" ?

    Robin_Hood Здесь тоже почти все понял. Но почти :) Что есть "puts"? В самоучителе этого не нашел.

    Ребят, спасибо всем за ответы.
     
  6. Robin_Hood

    Robin_Hood Elder - Старейшина

    Joined:
    30 Oct 2006
    Messages:
    144
    Likes Received:
    155
    Reputations:
    47
    Robin_Hood
    puts - аналог printf использется в основном тогда, когда тебе нужно не выводить переменные, а просто сообщение типа понедельник
    ПС купи другой самоучитель, если в нем нет путс и свич...
     
    1 person likes this.
  7. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Switch там есть. Там просто нет листинга программы. Только теория. А с puts встречаюсь первый раз.
     
  8. Robin_Hood

    Robin_Hood Elder - Старейшина

    Joined:
    30 Oct 2006
    Messages:
    144
    Likes Received:
    155
    Reputations:
    47
    Noman
    поищи чтоб побольше примеров было
     
  9. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    Так и сделаю. Спасибо :)


    tclover, теперь я понял что это :)
     
    1 person likes this.
  10. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Ты много куришь :)
    Большего бреда я не читал. Тем более у тебя в неделе пять дней, так что сиди молчи :)))

    puts выводит строку на стандартный вывод
    printf выводит форматированную строку на стандартный вывод, которая может включать в себя значения переменных в текстовом виде
     
  11. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    млина никогда ниодного задания из самоучителей не делал =(
     
  12. Noman

    Noman Elder - Старейшина

    Joined:
    10 Oct 2006
    Messages:
    112
    Likes Received:
    23
    Reputations:
    2
    _Great_
    Запомню, спасибо.

    genom--
    Я решил, что без этого будет поверхностно. Хотя может я не прав, но все таки хоть какая-то практика.