2014-11-10 4 views
-5

У меня кончились идеи, или, может быть, я просто слишком ленив, чтобы понять, что не так с этим кодом. Раньше я печатал гораздо большие программы без каких-либо проблем, так как это говорит мне об отключении 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; 
} 

Я попытался изменить функции не аннулирует, но никакого успеха. Это серьезно относится к моему заголовку.

+2

«У меня кончились идеи, или, может быть, я просто слишком ленив, чтобы понять, что не так с этим кодом. Раньше я печатал гораздо более крупные программы без каких-либо проблем, как-то это говорит мне об отключении». Вы пытались скомпилировать поэтапно? –

+0

Не используйте кавычки для 'include' для C++, используйте только точечные скобки' <> '. Я не помню точной причины, почему, но он изменился с простого старого C. Edit: я не уверен, что это исправляет проблему, хотя ... –

+4

'stdafx.h' необходимо включить _first_ перед всеми другими заголовками , –

ответ

1
#include "stdafx.h" 
#include <iostream> 
#include <string> 

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

0

Если вы начали проект, требующий строки #include "stdafx.h", поставьте его первым. , даже если это вас не устраивает, пожалуйста, перейдите по этой ссылке.

http://stackoverflow.com/questions/1868603/error-c2065-cout-undeclared-identifier 
+0

atleast голосование за меня.i также упомянутый то же самое. :/ –

Смежные вопросы