Так что я пытаюсь сделать программу прямо сейчас.Я пытаюсь использовать c-строку, чтобы получить имя и вывести пользовательский ввод, используя меню # 2. Кроме того, я хочу отправить сообщение об ошибке и попросить пользователя снова ввести имя, когда пользователь вводит пустое значение.
Реальная проблема в том, что я знаю, как отправить сообщение об ошибке, когда у меня есть пустая строка, но не когда у меня есть пустая c-строка.
Это моя программа.
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <cstring>
using namespace std;
void inputPika(char[]);
void display_menu();
void displayPika(char[]);
void display_menu()
{
//Display menu for user selection
cout << "The Name game: " << endl;
cout << "1. Pika Name " << endl;
cout << "2. Display Pika Name " << endl;
}
void inputPika(char a[])
{
const int SIZE = 40;
cin.getline(a, SIZE);
}
void displayPika(char a[])
{
cout << a << endl;
}
int main()
{
int pick = 0;
const int SIZE = 40;
char name[SIZE];
cin.ignore();
while (true)
{
display_menu();
cin >> pick;
cin.ignore();
switch (pick)
{
case 1:
cout << "1. Input Name: ";
inputPika(name);
break;
case 2:
cout << "2. Display Name: ";
displayPika(name);
break;
}
}
}
(К сожалению, другим моим функциям нужна c-строка, поэтому я не могу все изменить на строку) Также еще один вопрос.
Когда я запускаю свою программу, программа нене запускается автоматически, что я должен нажать Enter, чтобы увидеть опцию меню.Я не уверен, почему моя программа сделала это.