亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ssms.cpp

?? 一個學(xué)生成績管理程序適合初學(xué)VC
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// SSMS.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "resource.h"
#include <stdio.h>
#include <commdlg.h>
#define MAX_LOADSTRING 100

// Global Variables:
HINSTANCE hInst;								// current instance
TCHAR szTitle[MAX_LOADSTRING];								// The title bar text
TCHAR szWindowClass[MAX_LOADSTRING];								// The title bar text
RECT rect;
BOOL bSave=1,bOpen;
long cxChar,cyChar;
char strFind[20],strFileName[256],strFindModi[40];
int iShowMode;
ATOM				MyRegisterClass(HINSTANCE hInstance);
BOOL				InitInstance(HINSTANCE, int);
LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK	About(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ScoreApp(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ScoreFindNum(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ScoreFindName(HWND  hDlg, UINT message, WPARAM wParam,LPARAM lParam);
LRESULT CALLBACK ScoreModi(HWND  hDlg, UINT message, WPARAM wParam,LPARAM lParam);



typedef struct node STU;
struct student
{
   long num;
   int score[3];
   float aver;
   char name[20];
};
struct node
{
  long num;
  int score[3];
  float aver;
  char name[20];
  struct node *next;
};
STU *stP;
STU *OpenTextFile(HWND);
STU *insert(STU *head,long num,char name[],int score[3]);
void save(STU *head,char filename[]);
void SaveTextFile(HWND hWnd);//, HWND hWndEdit )
void ShowRecord(HDC hdc,HWND hWnd,STU *head,int ShowMode,char strFind[20]);

HFONT hFont;
STU *head=NULL;


STU *load(char filename[])
{
	
	FILE *fp;
	STU *p,*q,*head;
	struct student per;
	q=head=NULL;
	
	if((fp=fopen(filename,"rb"))==NULL)
		return head;
	else {
	   while(!feof(fp))
			if(fread(&per,sizeof(struct student),1,fp)==1)
			{
				p=(STU *)malloc(sizeof(STU));
				p->num=per.num;
				p->score[0]=per.score[0];
				p->score[1]=per.score[1];
				p->score[2]=per.score[2];
				p->aver=per.aver;
				strcpy(p->name,per.name);
			//	MessageBox(NULL,per.name,"姓名",MB_OK);
				p->next=NULL;
				if(head==NULL)head=q=p;
				else {q->next=p;q=p;}
			}
	}
    fclose(fp);
    return (head);

}
// Foward declarations of functions included in this code module:

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 	// TODO: Place code here.
	MSG msg;
	HACCEL hAccelTable;

	// Initialize global strings
	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
	LoadString(hInstance, IDC_SSMS, szWindowClass, MAX_LOADSTRING);
	MyRegisterClass(hInstance);

	// Perform application initialization:
	if (!InitInstance (hInstance, nCmdShow)) 
	{
		return FALSE;
	}

	hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_SSMS);

	// Main message loop:
	while (GetMessage(&msg, NULL, 0, 0)) 
	{
		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
	}

	return msg.wParam;
}



//
//  FUNCTION: MyRegisterClass()
//
//  PURPOSE: Registers the window class.
//
//  COMMENTS:
//
//    This function and its usage is only necessary if you want this code
//    to be compatible with Win32 systems prior to the 'RegisterClassEx'
//    function that was added to Windows 95. It is important to call this function
//    so that the application will get 'well formed' small icons associated
//    with it.
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
	WNDCLASSEX wcex;

	wcex.cbSize = sizeof(WNDCLASSEX); 

	wcex.style			= CS_HREDRAW | CS_VREDRAW;
	wcex.lpfnWndProc	= (WNDPROC)WndProc;
	wcex.cbClsExtra		= 0;
	wcex.cbWndExtra		= 0;
	wcex.hInstance		= hInstance;
	wcex.hIcon			= LoadIcon(hInstance, (LPCTSTR)IDI_SSMS);
	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
	wcex.lpszMenuName	= (LPCSTR)IDC_SSMS;
	wcex.lpszClassName	= szWindowClass;
	wcex.hIconSm		= LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);

	return RegisterClassEx(&wcex);
}

//
//   FUNCTION: InitInstance(HANDLE, int)
//
//   PURPOSE: Saves instance handle and creates main window
//
//   COMMENTS:
//
//        In this function, we save the instance handle in a global variable and
//        create and display the main program window.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // Store instance handle in our global variable

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,//WS_BORDER|WS_CAPTION|WS_VSCROLL,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}

//
//  FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
//
//  PURPOSE:  Processes messages for the main window.
//
//  WM_COMMAND	- process the application menu
//  WM_PAINT	- Paint the main window
//  WM_DESTROY	- post a quit message and return
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId, wmEvent;
	PAINTSTRUCT ps;
	HDC hdc;
	TEXTMETRIC tm;
	TCHAR szHello[MAX_LOADSTRING];
	LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
	STU *p;p=head;
//	long lNum;

	switch (message) 
	{
		case WM_CLOSE:
			if(!bSave)MessageBox(NULL,"文件沒保存,不能退出","退出出錯",MB_OK);
			else DestroyWindow(hWnd);
			break;
		case WM_QUIT:

			MessageBox(NULL,"WM_QUIT","MSG",MB_OK);
			break;

		case WM_CREATE:
			hdc=GetDC(hWnd);
			hFont=CreateFont(
				20,0,0,0,400,0,0,0,
				GB2312_CHARSET,
				OUT_DEFAULT_PRECIS,
				CLIP_DEFAULT_PRECIS,
				DEFAULT_QUALITY,
				DEFAULT_PITCH|FF_DONTCARE,"自定義字體");
			SelectObject(hdc,hFont);
			GetTextMetrics(hdc,&tm);
			cxChar=tm.tmAveCharWidth ;
			cyChar=tm.tmHeight ;
			ReleaseDC(hWnd,hdc);
			rect.top=3*cyChar/2;
			return 0;
			
		case WM_SIZE:
			rect.right =LOWORD(lParam);
			rect.bottom =HIWORD(lParam);
			UpdateWindow(hWnd);
			return 0;
		case WM_COMMAND:
			wmId    = LOWORD(wParam); 
			wmEvent = HIWORD(wParam); 
			// Parse the menu selections:
			switch (wmId)
			{
				case IDM_DELETE_NUM:
					if(head==NULL)
					{
						MessageBox(NULL,"沒有任何學(xué)生記錄,不能刪除","出錯",MB_OK);
						break;
					}

					long lNum;
					strcpy(strFindModi,"按學(xué)號刪除");
					DialogBox(hInst, (LPCTSTR)IDD_FIND_NUM, hWnd, (DLGPROC)ScoreFindNum);
					iShowMode=1;
					p=head;
					STU *q;
					lNum=atol(strFind);
					while((p->next!=NULL)&&(p->num!=lNum))
					{  q=p;
					   p=p->next;
					}
					if(lNum==p->num){
						InvalidateRect(hWnd,NULL,1);
						int bDelete=MessageBox(NULL,"是否是你要刪除的記錄","提示",MB_YESNO|MB_ICONQUESTION);
						if(bDelete==IDYES)
						{
							stP=p;
							bSave=0;
							if(head==p)head=p->next;
							else q->next=p->next;
							free(p);

						}
					}
					else
					{
						MessageBox(NULL,"未找到該學(xué)號的學(xué)生記錄!","",MB_OK);

					}
					break;

				case IDM_FIND_NAME:
					strcpy(strFindModi,"按姓名查找");
					DialogBox(hInst,(LPCTSTR)IDD_FIND_NAME,hWnd,(DLGPROC)ScoreFindName);
					iShowMode=2;
					InvalidateRect(hWnd,NULL,1);
					//ShowRecord(hdc,hWnd,p,iShowMode,strFind);
	
					break;
				case IDM_MODI_NAME:
					if(head==NULL)
					{
						MessageBox(NULL,"沒有任何學(xué)生記錄,不修改","出錯",MB_OK);
						break;
					}


					strcpy(strFindModi,"按姓名修改");


					DialogBox(hInst,(LPCTSTR)IDD_FIND_NAME,hWnd,(DLGPROC)ScoreFindName);
					iShowMode=2;
				//	lNum=atol(strFind);
					p=head;
					while((p->next!=NULL)&&(strcmp(p->name,strFind)))p=p->next;
					if(!strcmp(p->name,strFind)){
						stP=p;
						bSave=0;
						DialogBox(hInst, (LPCTSTR)IDD_MODI, hWnd, (DLGPROC)ScoreModi);
					}
					else
					{
						MessageBox(NULL,"未找到該學(xué)號的學(xué)生記錄!","",MB_OK);

					}
					InvalidateRect(hWnd,NULL,1);
	
					break;

				case IDM_MODI_NUM:
					if(head==NULL)
					{
						MessageBox(NULL,"沒有任何學(xué)生記錄,不修改","出錯",MB_OK);
						break;
					}

					strcpy(strFindModi,"按學(xué)號修改:");

					DialogBox(hInst, (LPCTSTR)IDD_FIND_NUM, hWnd, (DLGPROC)ScoreFindNum);
					iShowMode=1;
					p=head;
					lNum=atol(strFind);

					while((p->next!=NULL)&&(p->num!=lNum))p=p->next;
					if(lNum==p->num){
						stP=p;
						bSave=0;
						DialogBox(hInst, (LPCTSTR)IDD_MODI, hWnd, (DLGPROC)ScoreModi);
					}
					else
					{
						MessageBox(NULL,"未找到該學(xué)號的學(xué)生記錄!","",MB_OK);

					}
					break;


				case IDM_FIND_NUM:
					strcpy(strFindModi,"按學(xué)號查找:");
					DialogBox(hInst, (LPCTSTR)IDD_FIND_NUM, hWnd, (DLGPROC)ScoreFindNum);
					iShowMode=1;
					InvalidateRect(hWnd,NULL,1);
				    break;

				case IDM_MODI_INPUT:
					bSave=0;
					DialogBox(hInst, (LPCTSTR)IDD_MODI_APP, hWnd, (DLGPROC)ScoreApp);
				    break;

				case IDM_PRINT:
					iShowMode=0;
					InvalidateRect(hWnd,NULL,1);

					//PrintText(hWnd,head);

					break;

				case IDM_FILE_OPEN:
					OpenTextFile(hWnd);
					break;
				case IDM_ABOUT:
				   DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
				   break;
				case IDM_EXIT:
					SaveTextFile(hWnd);
				   DestroyWindow(hWnd);
				   break;
				case IDM_SAVE:
					SaveTextFile(hWnd);
					break;
				default:
				   return DefWindowProc(hWnd, message, wParam, lParam);
			}
			break;
		case WM_PAINT:
			hdc=BeginPaint(hWnd,&ps);
			SelectObject(hdc,hFont);
			ShowRecord(hdc,hWnd,head,iShowMode,strFind);
			EndPaint(hWnd,&ps);
			break;
		case WM_DESTROY:
			PostQuitMessage(0);
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
   }
   return 0;
}

// Mesage handler for about box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
				return TRUE;

		case WM_COMMAND:
			if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			break;
	}
    return FALSE;
}
STU *OpenTextFile(HWND hWnd)
{
//	STU *p,*q,*head;
//	struct student per;
//	q=head=NULL;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美zozozo| 欧美精品在线一区二区| 一区二区不卡在线播放| 欧美va亚洲va香蕉在线| 欧美片在线播放| 99精品久久只有精品| 国产一区亚洲一区| 寂寞少妇一区二区三区| 琪琪久久久久日韩精品| 欧美激情综合在线| 欧美精品一区二区不卡| 精品国产免费一区二区三区四区 | 蜜桃av一区二区| 久久久激情视频| 久久青草欧美一区二区三区| 久久久久国产成人精品亚洲午夜| 91精品中文字幕一区二区三区| 欧美亚一区二区| 在线欧美日韩国产| 日本高清免费不卡视频| 国产真实精品久久二三区| 成人黄色777网| 成人免费av资源| av电影在线观看不卡 | 不卡视频一二三| 欧美日韩国产三级| 91精品国产综合久久精品app| 欧美日本在线播放| 久久亚洲一区二区三区四区| 久久久久久夜精品精品免费| 日本一区二区久久| 亚洲国产另类精品专区| 久久精品免费观看| 一本到不卡精品视频在线观看| 一本色道久久综合亚洲91| 欧美精品久久一区| 精品美女被调教视频大全网站| 中文幕一区二区三区久久蜜桃| 日韩激情一区二区| 欧美精品成人一区二区三区四区| 欧美在线观看一二区| 亚洲男人的天堂av| 日韩在线播放一区二区| 一区二区三国产精华液| 色综合久久久久综合体| 亚洲精品乱码久久久久久久久| 国产精品久久久久影视| 亚洲不卡在线观看| 国产欧美久久久精品影院| 亚洲国产成人精品视频| 99精品视频在线观看免费| 日韩午夜精品电影| 五月婷婷综合激情| 色哟哟一区二区三区| 久久久亚洲午夜电影| 日韩在线a电影| 日本强好片久久久久久aaa| 69堂精品视频| 国产老肥熟一区二区三区| 国产精品免费久久| 欧美色综合天天久久综合精品| 欧美mv和日韩mv国产网站| 国产在线视频一区二区三区| 欧美激情一区二区三区| 91久久国产最好的精华液| 欧美午夜免费电影| 亚洲综合激情另类小说区| ...xxx性欧美| 国产精品88av| 制服丝袜中文字幕亚洲| 国产福利91精品一区二区三区| 亚洲免费观看高清| 国产精品女人毛片| 精品99999| 亚洲成人tv网| 亚洲福利电影网| 欧美精品高清视频| 欧美无人高清视频在线观看| 91蜜桃网址入口| 欧美va亚洲va| 狠狠色狠狠色综合系列| 国产欧美一区二区精品性色超碰| 久草在线在线精品观看| 中文字幕一区二区在线观看| 欧美日韩国产美| 国产亚洲一区二区三区四区 | 91视频国产资源| 午夜影视日本亚洲欧洲精品| 亚洲电影激情视频网站| 一区二区三区四区视频精品免费 | 亚洲视频免费观看| 成人手机在线视频| 亚洲视频每日更新| 欧美日韩精品一区二区三区蜜桃 | 亚洲欧美另类在线| 欧美视频在线一区| 免费av成人在线| 国产视频911| 色综合久久中文综合久久97 | 国产精品国产三级国产aⅴ中文| 91天堂素人约啪| 日韩影院精彩在线| 久久久电影一区二区三区| 色av成人天堂桃色av| 热久久一区二区| 国产精品免费视频一区| 欧美日韩一区高清| 国产精品亚洲午夜一区二区三区 | 97se亚洲国产综合在线| 香港成人在线视频| 亚洲国产精品av| 777亚洲妇女| a在线播放不卡| 日本视频免费一区| 成人欧美一区二区三区小说| 91麻豆精品久久久久蜜臀| 91麻豆精品国产91| 最新久久zyz资源站| 欧洲国内综合视频| 亚洲制服丝袜av| 一本大道久久a久久精二百 | 色视频一区二区| 国产女主播一区| 久久99精品久久久久久久久久久久 | 国产福利不卡视频| 欧美一区二区女人| 成人av免费在线观看| 免费看欧美女人艹b| 亚洲色欲色欲www在线观看| 日韩一区二区三区电影在线观看| 成人av电影免费在线播放| 亚洲精品在线观看网站| 日韩精品电影一区亚洲| 6080国产精品一区二区| 亚洲一区成人在线| 日韩精品一区二区三区在线| 国产在线一区观看| 中文字幕国产一区| 欧美亚洲图片小说| 精品一区二区三区在线视频| 日韩欧美国产一区二区在线播放| 精品在线视频一区| 自拍偷拍欧美精品| 欧美不卡一区二区三区四区| 一区二区三区四区在线免费观看 | gogogo免费视频观看亚洲一| 夜夜爽夜夜爽精品视频| 337p亚洲精品色噜噜狠狠| 图片区小说区区亚洲影院| 婷婷国产v国产偷v亚洲高清| 91精品国产综合久久小美女| 国产麻豆精品95视频| 精品写真视频在线观看| 欧美精品久久99久久在免费线| 中文字幕欧美一| 6080午夜不卡| av成人老司机| 91亚洲精品久久久蜜桃网站| 成人精品视频一区二区三区尤物| 国产一区在线视频| 国产成人av自拍| k8久久久一区二区三区| 一本色道久久综合亚洲91| 欧美三级电影在线看| 91精品欧美一区二区三区综合在| 91精彩视频在线观看| 在线观看免费视频综合| 丁香激情综合五月| 菠萝蜜视频在线观看一区| 国产乱码精品一区二区三区av| 国产精品一二三区| 国模一区二区三区白浆| 最好看的中文字幕久久| 国产精品久久国产精麻豆99网站| 欧美一级二级三级乱码| 久久综合九色综合97_久久久 | 三级欧美韩日大片在线看| 欧美一区日韩一区| 国产精品亚洲视频| 首页综合国产亚洲丝袜| 国产亚洲成年网址在线观看| 91美女片黄在线观看| 亚洲va天堂va国产va久| 亚洲国产成人私人影院tom| 欧美日韩久久久一区| 成人av资源网站| 国产一区二区三区免费在线观看| 国产精品久久久久久妇女6080 | 日韩在线观看一区二区| 欧美美女bb生活片| 在线观看欧美日本| 亚洲综合在线电影| 中文天堂在线一区| 欧美mv和日韩mv国产网站| 色乱码一区二区三区88| 国产精品一区三区| 美女精品自拍一二三四| 亚洲一卡二卡三卡四卡五卡| 中文字幕中文字幕在线一区| 日韩情涩欧美日韩视频|