Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2008, 00:44   #1
новенькая
 
Регистрация: 27.05.2008
Сообщений: 9
По умолчанию error C2143- что делать?

Добрый вечер, помогите решить задачку. у меня 30 ошибок и все

I:\mi\Main.cpp(20) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(21) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(27) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(30) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(32) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(34) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(36) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(39) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(46) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(53) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(59) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(60) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(62) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(65) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(66) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(68) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(70) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(71) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(74) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(76) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(79) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(80) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(82) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(84) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(86) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(88) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(89) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(91) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(93) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(96) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(97) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(99) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(101) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(103) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(104) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(106) : error C2143: syntax error : missing ')' before ';'
I:\mi\Main.cpp(108) : error C2143: syntax error : missing ')' before ';'
Error executing cl.exe.

mi.exe - 37 error(s), 0 warning(s)
почти блондинка
новенькая вне форума Ответить с цитированием
Старый 27.05.2008, 00:51   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
error C2143- что делать?
Скажем, показывать не эту "красоту", а свой исходник с ошибками.
B_N вне форума Ответить с цитированием
Старый 27.05.2008, 00:52   #3
новенькая
 
Регистрация: 27.05.2008
Сообщений: 9
По умолчанию

Код:
//Директивой препроцессора подключаются
//заголовочные файлы
#include <windows.h>
#include <math.h>
#include "main.h"
#include "resource.h"
//Объявление глобальных переменных
DWORD input_var[13];	// Массив входных переменных
HANDLE event_obj[6];	// Массив хендлов объектов //синхронизации
HANDLE hThread[4];	// Массив хендлов тредов
//Массив указателей на функции тредов
LPTHREAD_START_ROUTINE pThread[4] = {(LPTHREAD_START_ROUTINE)Thread1, (LPTHREAD_START_ROUTINE)Thread2, (LPTHREAD_START_ROUTINE)Thread3, (LPTHREAD_START_ROUTINE)Thread4};
//Хендл диалогового окна
HWND hMainDlg;
//Функция - первый тред
void Thread1()
 {
	char buf[20];
	//Функцией addstr в ListBox выводится текст (см.//main.h)
	addstr(#1:Starting thread...);
	addstr(#1:a=a+b);
	//Ассемблерная вставка, для подсчета суммы a и b
	__asm {
		mov eax, input_var[B]
		add input_var[A], eax
	}
	addstr(#1: Set event S12);
	//Функция установки объекта события
	SetEvent(event_obj[S12]);
    addstr(#1: m = sqrt(m));
	input_var[M] = (DWORD)sqrt((double)input_var[M]);
	addstr(#1: l = l - m ...);
	input_var[L] -= input_var[M];
	addstr(#1: Set event S13 ...);
	SetEvent(event_obj[S13]);
	addstr(#1: Sleep: (Waiting for S31 and S41) ...);
	//Функция ожидания нескольких объектов события
WaitForMultipleObjects(2, &event_obj[S31], true, INFINITE);
	addstr(#1: Restore: (S31 and S41 are setting up)...);
	//При делении на 0 выводится сообщение об ошибке
//(функция MessageBox)
	if(!input_var[K]) {
MessageBox(hMainDlg, "Divide by NULL error!\nReenter some variables!", "Error", MB_ICONERROR);
		goto _ex;
	}
	addstr(#1: A = a / k ...);
	// Вычисление результата с записью в переменную
//input_var[A]
	input_var[A] /= input_var[K];
	wsprintf(buf, "Result A = %li", input_var[A]);
	//Вывод результата на экран (функция MessageBox)
	MessageBox(hMainDlg, buf, "Result", 0);
	addstr(#1: Exit thread ...);
_ex:
	EnableWindow(GetDlgItem(hMainDlg, IDC_START), true);
	EnableWindow(GetDlgItem(hMainDlg, IDC_TERMINATE), false);
}
void Thread2() {		//Функция - второй тред
	addstr(#2: Starting thread ...);
	addstr(#2: c = c + d ...);
	input_var[C] += input_var[D];
	addstr(#2: Sleep: (Waiting for S12) ...);
	//Функция ожидания одного объекта события
	WaitForSingleObject(event_obj[S12], INFINITE);
	addstr(#2: Restore: (S12 is setting up) ...);
	addstr(#2: a = a * c ...);
	input_var[A] *= input_var[C];
	addstr(#2: Sleep: (Waiting for S32) ...);
	WaitForSingleObject(event_obj[S32], INFINITE);
	addstr(#2: Restore: (S32 is setting up) ...);
	addstr(#2: a = a * e ...);
	input_var[A] *= input_var[E];

	addstr(#2: Set event S24 ...);
	SetEvent(event_obj[S24]);
	addstr(#2: Exit thread ...);
}
void Thread3() {		//Функция - третий тред
	addstr(#3: Starting thread ...);
	addstr(#3: e = e + f ...);
	input_var[E] += input_var[F];
	addstr(#3: e = e + g ...);
	input_var[E] += input_var[G];
	addstr(#3: Set event S32 ...);
	SetEvent(event_obj[S32]);
	addstr(#3: Sleep: (Waiting for S13) ...);
	WaitForSingleObject(event_obj[S13], INFINITE);
	addstr(#3: Restore: (S13 is setting up) ...);
	addstr(#3: k = k * l ...);
	input_var[K] *= input_var[L];
	addstr(#3: Set event S31 ...);
	SetEvent(event_obj[S31]);
	addstr(#3: Exit thread ...);
}
void Thread4() {		//Функция - четвертый тред
	addstr(#4: Starting thread ...);
	addstr(#4: h = h * i ...);
	input_var[H] *= input_var[I];
	addstr(#4: h = h * j ...);
	input_var[H] *= input_var[J];
	addstr(#4: Sleep: (Waiting for S24) ...);
	WaitForSingleObject(event_obj[S24], INFINITE);
	addstr(#4: Restore: (S24 is setting up) ...);
	addstr(#4: a = a - h ...);
	input_var[A] -= input_var[H];
	addstr(#4: Set event S41 ...);
	SetEvent(event_obj[S41]);
	addstr(#4: Exit thread ...);
}
//Функция получения входных переменных
bool GetOurVariables(HWND hDlg) {
	char varbuffer[10];
	for(int a = IDC_EDIT1; a <= IDC_EDIT13; a++) {
		input_var[a - IDC_EDIT1] = 0 ;
		if(!GetDlgItemText(hDlg, a, varbuffer, 10))
				return false ;
			DWORD mul = 1;
			for(int b = lstrlen(varbuffer) - 1; b >= 0; b--, mul *= 10)
				input_var[a - IDC_EDIT1] +=(varbuffer[b] - 0x30) * mul ;
	}
	return true ;
}
почти блондинка

Последний раз редактировалось Stilet; 27.05.2008 в 08:32.
новенькая вне форума Ответить с цитированием
Старый 27.05.2008, 00:52   #4
новенькая
 
Регистрация: 27.05.2008
Сообщений: 9
По умолчанию

вторая часть
Код:
//Процедура обработки диалогового окна
LRESULT CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {
		DWORD ThreadID;	//ThreadID - уникальный номер треда
	//Обработка сообщений
	switch (uMsg) {
		case WM_COMMAND: {
			switch (LOWORD(wParam)) {
				//Обработка сообщения по нажатии
//кнопки START
				case IDC_START: {
					//Проверка введенных значений
					if(!GetOurVariables(hDlg)) {
//Если данные не
//введены,
//то выводится
//сообщение (функция
//MessageBox)
MessageBox(hDlg, "Enter all variables and run again!", "Attention", MB_ICONINFORMATION);
						return false;
					}
//Функция отправки сообщения
//в ListBox (в данном случае
//очистка ListBox)
SendDlgItemMessage(hDlg, IDC_LISTING, LB_RESETCONTENT, 0, 0);
					//Цикл по созданию тредов
					for(int a = THREAD1; a <= THREAD4; a++) {
						//Заполнение массива
//hThread хендлами
//тредов
						hThread[a] = CreateThread(NULL, NULL, pThread[a], NULL, NULL, &ThreadID);
						//Установка приоритетов
//тредов
					SetThreadPriority(hThread[a], THREAD_PRIORITY_TIME_CRITICAL);
					}
					//Функции "активации
//деактивации"
//кнопок START и TERMINATE
					EnableWindow(GetDlgItem(hDlg, IDC_START), false);
					EnableWindow(GetDlgItem(hDlg, IDC_TERMINATE), true);
				}
				break;
				//Обработка сообщения по нажатии
//кнопки TERMINATE
				case IDC_TERMINATE: {
					//Цикл по принудительному
//завершению
//всех тредов (функция
//TerminateThread)
					for(int a = THREAD1; a <=THREAD4; a++) {
					TerminateThread(hThread[a], false);
					}
					//Функции "активации
//деактивации"
//кнопок START и TERMINATE
					EnableWindow(GetDlgItem(hDlg, IDC_TERMINATE), false);
					EnableWindow(GetDlgItem(hDlg, IDC_START), true);
				}
			}
		}
		break;
		//Обработка сообщения при создании диалогового
//приложения
		case WM_INITDIALOG: {
			hMainDlg = hDlg;
			//Функция отправки сообщения
			SendMessage(hDlg, WM_SETICON, ICON_BIG,(LPARAM)LoadIcon(0, IDI_EXCLAMATION));
		}
		break;
		//Обработка сообщения по нажатии кнопки CLOSE
		case WM_CLOSE:
			//Функция завершения диалогового
//приложения
			EndDialog(hDlg, 0);
	}
	return false;
}
//Точка входа в программу
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
	//Цикл по созданию объектов события функцией
//CreateEvent
	for(int a = S12; a <= S41; a++)
		event_obj[a] = CreateEvent(NULL, false, false, NULL);
	//Функция создания диалогового окна
	DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), 0, (DLGPROC)DlgProc, 0);
	return false;
}
почти блондинка

Последний раз редактировалось Stilet; 27.05.2008 в 08:33.
новенькая вне форума Ответить с цитированием
Старый 27.05.2008, 01:03   #5
новенькая
 
Регистрация: 27.05.2008
Сообщений: 9
По умолчанию

Подскажите, пожалуйста...........
почти блондинка
новенькая вне форума Ответить с цитированием
Старый 27.05.2008, 01:06   #6
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

укажите, где именно ошибки вылетают.

Хотя... наверное текст в функции addstr() нужно писать в лапках. Например
Код:
addstr("1# Starting thread...");

Последний раз редактировалось Stilet; 27.05.2008 в 08:38.
MaTBeu вне форума Ответить с цитированием
Старый 27.05.2008, 01:10   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

новенькая, Смотрите, что у Вас не так с макросом addstr. Его Вы не приложили, а ошибки строчит, по всей видимости, именно он.

Последний раз редактировалось Stilet; 27.05.2008 в 08:39.
B_N вне форума Ответить с цитированием
Старый 27.05.2008, 01:14   #8
новенькая
 
Регистрация: 27.05.2008
Сообщений: 9
По умолчанию

даже незнаю куда его и ставит! в примере задания его нет

да я догадалась что это addstr. че делат я не знай

Хотя... наверное текст в функции addstr() нужно писать в лапках. Например
Код:
addstr("1# Starting thread...");
ЭТО не помогает
почти блондинка

Последний раз редактировалось Stilet; 27.05.2008 в 08:40.
новенькая вне форума Ответить с цитированием
Старый 27.05.2008, 01:21   #9
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ну тогда я не знаю... Выложите текст функции addstr(). А то у нас тут телепатов маловато, да и в отпусках они все сейчас.


ПЫСЫ: не выложите текст функции - не получите ответов.
MaTBeu вне форума Ответить с цитированием
Старый 27.05.2008, 01:24   #10
новенькая
 
Регистрация: 27.05.2008
Сообщений: 9
По умолчанию

Пробовала, не получается

я там про нее ниче не писала

Вот пример работающий как сказал препод: но я его не могу довести до состояния работания почему-то
почти блондинка

Последний раз редактировалось Stilet; 27.05.2008 в 08:41.
новенькая вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что делать? mujbIk Общие вопросы C/C++ 6 27.08.2008 12:24
JPEG Error #53 sklazer Общие вопросы Delphi 5 22.07.2008 04:41
Delphi Error fobass Общие вопросы Delphi 18 20.06.2008 08:55
Security error komex JavaScript, Ajax 2 02.04.2008 19:05
ошибка I/O error 32 kolduev Помощь студентам 7 29.02.2008 20:22