Ошибка - функция не может быть перегружена - C (СИ)
Формулировка задачи:
Добрый вечер! Первый раз пишу на этом форуме, я новичок, так что как можно понятнее объясняйтесь, если можно Дана вот такая задача: есть структура "автосервис", первые шаги - это ввести и вывести такие данные "регистрационный номер автомобиля, марка, пробег, мастер, выполнивший ремонт, сумма ремонта".
Вроде бы постаралась сделать всё правильно, но выдало такую ошибку - error C2731: main: функция не может быть перегружена. Может кто-нибудь поймёт в чём дело? Заранее благодарна всем, кто поможет
#include <stdio.h> #include <string.h> #include <conio.h> typedef struct { char reg_nom [30]; char marka[30]; char probeg[30]; char vypoln_rem[30]; char summa_rem[30]; }avtser; int main (avtser avtser[]); int menu (); void vvod (avtser avtser[]); void vyvod (avtser avtser[]); int i; int main () { avtser NumAvtser[5]; while (1){ switch (menu()) { case '1': vvod(NumAvtser); break; case '4': vyvod(NumAvtser); break; } } } void vvod (avtser avtser[]) { for (i=0; i<5; i++) { printf ("Vvedite marku \n"); gets_s (avtser[i].marka); printf ("Vvedite mastera, vypoln remont \n"); gets_s (avtser[i].vypoln_rem); printf ("Vvedite summu remonta \n"); gets_s (avtser[i].summa_rem); printf ("Vvedite registr nomer \n"); gets_s (avtser[i].reg_nom); printf ("Vvedite probeg \n"); gets_s (avtser[i].probeg); } } void vyvod (avtser avtser[]) { int i; for (i=0; i<5; i++) { printf ("marka - %s\nmaster, vypoln remont - %s\nsumma remonta - %s\nregistr nomer - %s\nprobeg - %s\n", avtser[i].marka, avtser[i].vypoln_rem, avtser[i].summa_rem, avtser[i].reg_nom, avtser[i].probeg); } }
Решение задачи: «Ошибка - функция не может быть перегружена»
textual
Листинг программы
//int __stdcall WINAPI WinMain int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { WORD Channel = 0; WORD rgValues[32] = {0}; SlotInfo MySlotInfo ={0}; WORD NewRangeTab[12] = {0}; //APAX 5017 is a 12 channels AI module BYTE rgChannelStatus[32] = {0}; int i = 0; DWORD dwMask = 0x0; DWORD dwIntegration = 0; WORD Timeout = 0; LONG Result = 0; wprintf(L"Slot ID setting in this sample code is %d.\n", g_SlotOne); if (ADV_SUCCESS == OpenLib() ) { wprintf(L"\n*** Get module ID and current range setting ***\n"); //get module ID and current range setting if (ERR_SUCCESS == SYS_GetSlotInfo(g_DriverHandle, g_SlotOne, &MySlotInfo) ) My_Show_SlotInfo(&MySlotInfo); else wprintf(L"Get slot information error.\n"); Sleep(100); //Set inner timeout wprintf(L"\n*** Set inner timeout ***\n"); Timeout = 1000; Result = SYS_SetInnerTimeout(g_DriverHandle, Timeout); if (ERR_SUCCESS == Result ) wprintf(L"Set integration time succeed, timeout = %d ms.\n", Timeout); else wprintf(L"Set integration time error, error code = %d.\n", Result); //Set integration time wprintf(L"\n*** Set integration time ***\n"); Result = AI_SetIntegrationTime(g_DriverHandle, g_SlotOne, dwIntegration); if (ERR_SUCCESS == Result ) wprintf(L"Set integration time succeed.\n"); else wprintf(L"Set integration time error, error code = %d.\n", Result); Sleep(100); //Get channel status wprintf(L"\n*** Get channel status ***\n"); if (ERR_SUCCESS == AIO_GetChannelStatus(g_DriverHandle, g_SlotOne, rgChannelStatus) ) { for (i=0; i<12; i++) { wprintf(L"Slot %d channel %d status is ", g_SlotOne, i); switch(rgChannelStatus[i]) { case 0: wprintf(L"\"None\"\n"); break; case 1: wprintf(L"\"Normal\"\n"); break; case 2: wprintf(L"\"Over current\"\n"); break; case 3: wprintf(L"\"Under current\"\n"); break; case 4: wprintf(L"\"Burn out\"\n"); break; case 5: wprintf(L"\"Open loop\"\n"); break; case 6: wprintf(L"\"Not ready\"\n"); break; default: wprintf(L"\"Unknown\"\n"); break; } } } else wprintf(L"Get Slot %d channel status error.\n", g_SlotOne); Sleep(100); wprintf(L"\n*** Set new range table ***\n"); NewRangeTab[0] = NEG_10_TO_10_V; NewRangeTab[1] = ZERO_TO_20_MA; NewRangeTab[2] = _4_TO_20_MA; NewRangeTab[3] = NEG_1_TO_1_V; NewRangeTab[4] = NEG_150_TO_150_MV; NewRangeTab[5] = NEG_5_TO_5_V; NewRangeTab[6] = NEG_150_TO_150_MV; NewRangeTab[7] = NEG_10_TO_10_V; NewRangeTab[8] = NEG_150_TO_150_MV; NewRangeTab[9] = NEG_5_TO_5_V; NewRangeTab[10] = _4_TO_20_MA; NewRangeTab[11] = NEG_10_TO_10_V; //Set range follow APAX 5017 range table setting wprintf(L"Channel total = %d.\n", MySlotInfo.byChTotal); if (ERR_SUCCESS == AIO_SetRanges(g_DriverHandle, g_SlotOne, MySlotInfo.byChTotal, NewRangeTab) ) { if (ERR_SUCCESS == SYS_GetSlotInfo(g_DriverHandle, g_SlotOne, &MySlotInfo) ) { My_Show_SlotInfo(&MySlotInfo); } else wprintf(L"Get slot information error.\n"); } else { DWORD ErrorCode = GetLastError(); wprintf(L"Set new range table error, error code = %x.\n", ErrorCode); } Sleep(100); //Set channel mask wprintf(L"\n*** Set channel mask ***\n"); dwMask = 0xFFFFFFFF; //enable all channel if (ERR_SUCCESS == AI_SetChannelMask(g_DriverHandle, g_SlotOne, dwMask) ) { for (i=0; i<12; i++) { if (dwMask & (0x01 << i) ) wprintf(L"Channel %d = Enable.\n", i); else wprintf(L"Channel %d = Disable.\n", i); } } else wprintf(L"Set channel mask error.\n"); Sleep(100); //Get value (single channel) wprintf(L"\nGet single channel value.\n"); rgValues[0] = 0x0; Channel = 0; if (ERR_SUCCESS == AIO_GetValue(g_DriverHandle, g_SlotOne, Channel, rgValues) ) Scale_RawData(&MySlotInfo, Channel, rgValues); else wprintf(L"Channel %d get value error.\n", Channel); Sleep(100); //Get value (multi channel) wprintf(L"\nGet multi channels value.\n"); if (ERR_SUCCESS == AIO_GetValues(g_DriverHandle, g_SlotOne, rgValues) ) { for (int Channel=0; Channel<MySlotInfo.byHwIoTotal_0; Channel++) Scale_RawData(&MySlotInfo, Channel, rgValues); } else wprintf(L"Get multi channels value error.\n"); } else { wprintf(L"Open library fail.\n"); } CloseLib(); wprintf(L"/*** END ***/ \n\n"); MessageBoxW(NULL, _T("Close!"), _T("End"), MB_OK); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д