У меня кончились идеи, или, может быть, я просто слишком ленив, чтобы понять, что не так с этим кодом. Раньше я печатал гораздо большие программы без каких-либо проблем, так как это говорит мне об отключении F.C++ Скажите, пожалуйста, почему этот код не будет компилироваться.
Я использую Visual Studio 2012 В общей сложности я получаю 37 ошибок, вот некоторые из них:
Ошибка 12 Ошибка C2065: 'CIN': необъявленный идентификатор Ошибка 13 Ошибка C2065: «соиЬ ': незаявленный идентификатор Предупреждение 2 предупреждение C4627: строка «#include»: пропущена при поиске прекомпилированного использования заголовка Предупреждение 1 предупреждение C4627: «#include»: пропущено при поиске прекомпилированного использования заголовка Ошибка ошибки 3: C2146: синтаксис ошибка: отсутствует ';' перед идентификатором 'string_function' Ошибка 4 ошибка C4430: отсутствует спецификатор типа - int. Примечание: C++ не поддержка по умолчанию-int Ошибка 36 ошибка C2146: синтаксическая ошибка: отсутствует ')' перед идентификатором 'пользователь' Ошибка 40 ошибка C2447: '{': отсутствует функция заголовок (старомодный формальный список?)
#include <iostream>
#include "string"
#include "stdafx.h"
using namespace std;
void menu(); string string_function(); string create_name();
string firstname;
void menu()
{
int choice=0;
cout << "Hello user. You can choose an activity by entering the assigned number from the list.W\n";
cout << "First, please enter your first name: ";
cin >> firstname;
do{
cout << "\nNow select an activity you would like to perforem by entering numbers either 1,2 or 3:\n";
cout << "\t1. Generate a username in the format of first inintial and last name.\n";
cout << "\t2. Calculate the factorial of a number entered.\n";
cout << "\t3. Quit the program\n.";
cout << "\tEnter your activity: ";
cin >> choice;
switch(choice)
{
case 1:
string_function();
break;
case 2:
string_function();
break;
case 3:
exit;
}
}while(choice != 3);
}
string string_function()
{
string user;
cout << firstname << ", you have selected option 1.\n\n";
cout << "Now please enter your first and the last name:";
getline(cin, user);
create_name(user);
}
string create_name(string user)
{
string username;
string string1;
string string2;
int pos;
username = user;
pos = username.find(" ");
string1.assign(username, 0, 1);
string2.assign(username, 0, pos);
}
int main()
{
menu();
return 0;
}
Я попытался изменить функции не аннулирует, но никакого успеха. Это серьезно относится к моему заголовку.
«У меня кончились идеи, или, может быть, я просто слишком ленив, чтобы понять, что не так с этим кодом. Раньше я печатал гораздо более крупные программы без каких-либо проблем, как-то это говорит мне об отключении». Вы пытались скомпилировать поэтапно? –
Не используйте кавычки для 'include' для C++, используйте только точечные скобки' <> '. Я не помню точной причины, почему, но он изменился с простого старого C. Edit: я не уверен, что это исправляет проблему, хотя ... –
'stdafx.h' необходимо включить _first_ перед всеми другими заголовками , –